f637cdae5cb89dfa74aa55a6efb6b688a6c947b1
[gnulib.git] / ChangeLog
1 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
2
3         memchr2: port --enable-gcc-warnings to clang
4         * lib/memchr2.c (memchr2):
5         Avoid casts from looser to stricter-aligned pointers.
6
7         mbsstr: port --enable-gcc-warnings to clang
8         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
9         Avoid casts from looser to stricter-aligned pointers.
10
11         malloca: port --enable-gcc-warnings to clang
12         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
13         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
14
15         inttostr: port --enable-gcc-warnings to clang
16         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
17
18         warnings: port to clang
19         Problem reported by Daniel P. Berrange via Eric Blake in
20         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
21         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
22         (gl_WARN_ADD): Use it.
23
24 2013-05-11  Jim Meyering  <meyering@fb.com>
25
26         quotearg: do not read beyond end of buffer
27         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
28         end of an ARG for which no length was specified.  With an N-byte
29         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
30         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
31         via coreutils' misc/sort-debug-keys.sh test and detected by running
32         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
33         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
34         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
35         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
36         characters correctly."
37
38 2013-05-11  Daiki Ueno  <ueno@gnu.org>
39
40         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
41         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
42         compilation target is Mac OS X 10.6.
43         Problem reported by parafin and Andoni Morales in
44         <http://savannah.gnu.org/bugs/?37844> and
45         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
46
47 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
48
49         mkdir-p: remove assumptions about umask and mode
50         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
51         umask is 0, or that MODE is a subset of MODE_BITS.
52
53 2013-05-10  Eric Blake  <eblake@redhat.com>
54
55         maint.mk: catch more abuse of HAVE_DECL in syntax-check
56         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
57
58 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
59
60         deps: require Automake >= 1.9.6 in generated Makefile fragments
61
62         That is the same minimal version required in the DEPENDENCIES file.
63         Moreover, the old code generated a requirement of Automake >= 1.5,
64         and that is an insanely outdated version.
65
66         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
67         * tests/havelib/rpathlx/Makefile.am: Likewise.
68         * tests/havelib/rpathly/Makefile.am: Likewise.
69         * tests/havelib/rpathlyx/Makefile.am: Likewise.
70         * tests/havelib/rpathlz/Makefile.am: Likewise.
71         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
72         * tests/havelib/rpathx/Makefile.am: Likewise.
73         * tests/havelib/rpathy/Makefile.am: Likewise.
74         * tests/havelib/rpathz/Makefile.am: Likewise.
75
76 2013-05-08  Eric Blake  <eblake@redhat.com>
77
78         bootstrap: AC_INIT may have more than four parameters
79         * build-aux/bootstrap (extract_package_name): Correctly extract
80         non-empty tarname field.  Avoid range in regex.
81         Based on a report by Sami Kerola <kerolasa@iki.fi>.
82
83 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
84
85         qacl: port to MS-Windows port of GNU Emacs
86         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
87         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
88         port of GNU Emacs.  Problem reported by Eli Zaretskii in
89         <http://bugs.gnu.org/14295#14>.
90
91 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
92
93         acl: include quote.h
94         * lib/copy-acl.c: Include quote.h.
95         * lib/set-acl.c: Likewise.
96
97 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
98
99         fchownat, renameat, unlinkat: update statat dependencies
100         These modules use statat and lstatat, not fstatat; so depend on
101         the statat module, which was split out recently from fstatat.
102         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
103         * modules/renameat: Likewise.  Also delete fstat.
104         URL: http://bugs.gentoo.org/468790
105
106 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
107
108         Assume gnulib is checked out from Git, not CVS
109
110         In fact, access to the gnulib repository through CVS has been
111         disabled, or more precisely, got broken and was never restored; see:
112         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
113
114         Note that support for CVS is not removed completely and unthinkingly
115         by this change: only support for CVS checkouts of gnulib itself is
116         removed.  For example, the 'bootstrap' script still cater to .cvsingore
117         files and CVS directories, for the benefit of those poor gnulib clients
118         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
119
120         * gnulib-tool: Simplify accordingly.
121         * posix-modules: Likewise.
122         * MODULES.html.sh: Likewise.
123         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
124         repository.
125         * doc/gnulib-intro.texi: Likewise.
126         * doc/gnulib-readme.texi: Likewise.
127         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
128         sample '.gitignore' file rather than a sample '.cvsignore'.
129         * NEWS: Update.
130         * m4/extensions.m4: While at it, remove a comment mistakenly referring
131         to "CVS Autoconf" rather than "git Autoconf".
132
133 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
134
135         utimensat-tests, etc.: try to fix some races
136         Problem reported by Bernhard Voelker in
137         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
138         I don't know whether this patch fixes that race condition, but it
139         fixes *some* race conditions, so it should be a win.
140         * modules/chown-tests (Depends-on):
141         * modules/fchownat-tests (Depends-on):
142         * modules/fdutimensat-tests (Depends-on):
143         * modules/futimens-tests (Depends-on):
144         * modules/lchown-tests (Depends-on):
145         * modules/stat-time-tests (Depends-on):
146         * modules/utimens-tests (Depends-on):
147         * modules/utimensat-tests (Depends-on):
148         Depend on nanosleep, not usleep.
149         * modules/chown-tests (test_chown_LDADD):
150         * modules/lchown-tests (test_lchown_LDADD):
151         * modules/stat-time-tests (test_stat_time_LDADD):
152         New macro.
153         * modules/fchownat-tests (test_fchownat_LDADD):
154         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
155         * modules/futimens-tests (test_futimens_LDADD):
156         * modules/utimens-tests (test_utimens_LDADD):
157         * modules/utimensat-tests (test_utimensat_LDADD):
158         Add $(LIB_NANOSLEEP).
159         * modules/stat-time-tests (Files): Add tests/nap.h.
160         * tests/nap.h: Include <limits.h>, for INT_MAX.
161         (lt_mtime): Remove.
162         (diff_timespec): New function.
163         (get_stat): Rename from get_mtime.  All callers changed.
164         (nap_works): Determine the needed delay by inspecting the
165         file system's timestamp jumps; this should be more reliable.
166         Look at both mtime and ctime, and take the maximum of the two jumps.
167         (nap_works, guess_delay):
168         Return a nanosecond cound, not a microsecond count.
169         All callers changed.
170         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
171         failure.
172         (nap): Multiply the guess by 1.125, to accommodate the case where
173         the file system's clock is a bit slower than nanosleep's clock.
174         * tests/test-stat-time.c (BASE): New macro.
175         Include nap.h.
176         (nap): Remove; nap.h now defines this.  This removes a duplicate
177         implementation of 'nap'.
178
179         utimens, utimensat: work around Solaris UTIME_OMIT bug
180         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
181         Linux kernel 2.6.32 does.  Work around it in the same way.
182         * doc/posix-functions/futimens.texi (futimens):
183         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
184         * lib/utimens.c (fdutimens, lutimens):
185         * lib/utimensat.c (rpl_utimensat): Work around the bug.
186
187         gettext: now it's your responsibility to add -I$(top_builddir)/intl
188         Formerly, it was your responsibility to do this for all Makefile.ams
189         other than Gnulib's.  Now it's your responsibility to do it for
190         Gnulib's Makefile.am, too.
191         * NEWS: Document this.
192         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
193
194         acl: include errno.h to get errno
195         Reported by Daiki Ueno in
196         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
197         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
198
199 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
200
201         tests: don't assume getdtablesize () <= 10000000
202         * modules/cloexec-tests:
203         * modules/dup2-tests:
204         * modules/dup3-tests:
205         * modules/nonblocking-tests:
206         * modules/posix_spawn_file_actions_addclose-tests:
207         * modules/posix_spawn_file_actions_adddup2-tests:
208         * modules/posix_spawn_file_actions_addopen-tests:
209         * modules/unistd-safer-tests:
210         Depend on the getdtablesize module.
211         * tests/test-cloexec.c:
212         * tests/test-dup-safer.c:
213         * tests/test-dup2.c:
214         * tests/test-dup3.c:
215         * tests/test-fcntl.c:
216         * tests/test-nonblocking.c:
217         * tests/test-posix_spawn_file_actions_addclose.c:
218         * tests/test-posix_spawn_file_actions_adddup2.c:
219         * tests/test-posix_spawn_file_actions_addopen.c:
220         Don't assume getdtablesize () <= 10000000.
221
222 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
223
224         extern-inline: work around bug in Sun c99
225         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
226         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
227
228 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
229
230         qacl: new module, broken out from the acl module
231         This is for GNU Emacs, which wants the acl functions but does
232         not want 'error' invoked when they fail.
233         * lib/acl-internal.h: Do not include error.h, quote.h.
234         (ENOSYS, ENOTSUP): Remove; no longer needed.
235         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
236         * lib/acl.h: Include <stdbool.h>.
237         (acl_errno_valid): New function.
238         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
239         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
240         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
241         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
242         (ACL_INTERNAL_INLINE): Remove; no longer needed.
243         * lib/file-has-acl.c (file_has_acl):
244         * lib/qcopy-acl.c (qcopy_acl):
245         * lib/qset-acl.c (qset_acl):
246         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
247         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
248         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
249         lib/file-has-acl.c, m4/acl.m4 to qacl module.
250         Add lib/set-acl.c.
251         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
252         Add qacl.
253         (configure.ac): Move gl_FUNC_ACL to qacl module.
254         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
255         Rename set-mode-acl.c to set-acl.c.
256         * lib/acl-errno-valid.c: New file.
257         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
258         copy_acl function remains in copy-acl.c.
259         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
260         (_): Remove; not needed.
261         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
262         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
263         * modules/qacl: New file, moved from the old modules/acl.
264         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
265         Remove set-mode-acl.c, copy-acl.c.
266         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
267
268         alignof, intprops, malloca: port better to IBM's C compiler
269         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
270         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
271         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
272
273 2013-04-25  Daiki Ueno  <ueno@gnu.org>
274
275         wctype-h: fix gettext link error on mingw
276         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
277         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
278         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
279         rpl_towupper and rpl_towupper.
280
281 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
282
283         regex-tests, regex: allow glibc re_search behavior
284         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
285         re_search input data to make the multi-character collating element
286         in it clearly visible, and treat re_search return code 0 as valid.
287         * m4/regex.m4 (gl_REGEX): Likewise.
288
289 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
290
291         stdalign: doc fix
292         * doc/posix-headers/stdalign.texi (stdalign.h):
293         Gnulib doesn't support '_Alignof expr'.
294
295 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
296
297         stdalign: port to stricter ISO C11
298         ISO C11 says that _Alignof's operand must be a parenthesized type.
299         Problem reported by Eli Zaretskii in
300         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
301         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
302         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
303
304 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
305
306         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
307         Problem reported by Marco Atzeri in
308         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
309         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
310         Simply delegate to the system <sys/select.h> in this case too.
311         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
312         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
313         be needed on Solaris either.
314         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
315         Simply delgate to the system <sys/time.h> in this case.
316
317 2013-03-19  Karl Berry  <karl@gnu.org>
318
319         * build-aux/gnupload: check for erroneous (with gnupload) use of
320         ftp-upload.gnu.org, tweak help.
321
322 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
323
324         copy-file, rpmatch: fix problems found by cppcheck
325         Reported by Arno Onken in
326         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
327         * lib/rpmatch.c (try): Fix memory leak.
328         * lib/copy-file.c: Include "ignore-value.h".
329         (qcopy_file_preserving): Ignore chown value.
330         * modules/copy-file (Depends-on): Add ignore-value.
331
332 2013-01-27  Jim Meyering  <jim@meyering.net>
333
334         prefix-gnulib-mk: give better diagnostics
335         * build-aux/prefix-gnulib-mk: Don't just "die".
336         Give better diagnostics upon failure.
337
338 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
339
340         putenv: port to Solaris 10
341         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
342         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
343         is not what is wanted here.
344         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
345         declaration, not for its existence.
346
347 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
348
349         mktime: fix configure typo
350         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
351
352 2013-03-12  Eric Blake  <eblake@redhat.com>
353
354         regex-tests: skip UTF-8 test on mingw
355         * modules/regex-tests (Depends-on): Add localcharset.
356         * tests/test-regex.c (main): Use it to skip test on mingw.
357
358 2013-03-11  Eric Blake  <eblake@redhat.com>
359
360         tests: make it easier to bypass alarm time in debugger
361         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
362         * tests/test-memmem.c (main): Likewise.
363         * tests/test-passfd.c (main): Likewise.
364         * tests/test-ptsname.c (main): Likewise.
365         * tests/test-ptsname_r.c (main): Likewise.
366         * tests/test-strcasestr.c (main): Likewise.
367         * tests/test-strstr.c (main): Likewise.
368
369         regex: port to mingw's recent addition of undeclared alarm
370         * doc/posix-functions/alarm.texi (alarm): Document that alarm
371         exists but still doesn't work in newer mingw.
372         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
373         not existence.  Ensure SIGALRM is not trapped.
374         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
375         * m4/regex.m4 (gl_REGEX): Likewise.
376         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
377         * tests/test-regex.c (main): Use correct probe for alarm.
378
379         putenv: avoid compilation warning on mingw
380         * lib/putenv.c (_unsetenv): Protect variable declaration.
381         (putenv): Fix indentation.
382
383 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
384
385         unistd: don't prevent Tru64 Unix from using gnulib strtod.
386         * lib/unistd.in.h: be careful not to include un-needed system
387         stdlib.h from here, because that prevents gnulib stdlib.h from
388         defining rpl_strtod correctly.
389
390 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
391
392         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
393         changesets, but for the 'precision 0' test.
394         * tests/test-vasprintf-posix.c (test_function): Don't insist on
395         round-to-even, since POSIX says rounding is implementation-defined
396         and OS X 10.8.2 rounds 1.51 to 1 here.
397
398         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
399         changeset.
400         * tests/test-vasprintf-posix.c (test_function): Don't insist on
401         round-to-even, since POSIX says rounding is implementation-defined
402         and OS X 10.8.2 rounds 1.5 to 1 here.
403
404 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
405
406         vasnprintf-posix-tests: allow rounding 1.5 to 1
407         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
408         round-to-even, since POSIX says rounding is implementation-defined
409         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
410         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
411
412         bootstrap: port to FreeBSD
413         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
414         that treat '--' differently.  Reported by Mats Erik Andersson in
415         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
416
417 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
418
419         regex: rename remaining __attribute calls to __attribute__.
420         2012-02-25 changed definition of __attribute, but left some uses
421         unchanged, preventing compilation of regex module on most non-gcc
422         environments.
423         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
424         (lookup_collation_sequence_value, build_range_exp)
425         (build_collating_symbol): Set attributes with newly renamed
426         __attribute__ decorator.
427         * lib/regex_internal.c (re_string_peek_byte_case)
428         (re_node_set_compare, re_node_set_contains): Likewise.
429         * lib/regexec.c (acquire_init_state_context): Likewise.
430
431 2013-03-06  Bruno Haible  <bruno@clisp.org>
432
433         execute: Revert last change, but use a different condition.
434         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
435         on Windows.
436
437 2013-03-05  Eric Blake  <eblake@redhat.com>
438
439         execute: drop dead code
440         * lib/execute.c (nonintr_close, nonintr_open): Delete.
441
442 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
443
444         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
445         * m4/non-recursive-gnulib-prefix-hack.m4
446         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
447         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
448         <http://bugs.gnu.org/10305#237>.
449
450 2013-03-04  Eric Blake  <eblake@redhat.com>
451
452         test-getsockopt: avoid compiler warning
453         * tests/test-getsockopt.c (includes): Ensure close is declared.
454
455 2013-03-02  Bruno Haible  <bruno@clisp.org>
456
457         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
458         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
459
460 2013-03-02  Bruno Haible  <bruno@clisp.org>
461
462         gettext: Update to version 0.18.2.
463         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
464         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
465                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
466
467 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
468
469         regex: merge patches from libc
470
471         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
472         * lib/regex_internal.h (__attribute__): Rename from __attribute.
473         All uses changed.
474         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
475         (re_string_wchar_at, re_string_elem_size_at):
476         Mark function as possibly unused.
477
478         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
479         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
480         elements compare against the byte sequence of it, not its name.
481
482 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
483
484         putenv: port better to native Windows
485         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
486         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
487         (_unsetenv): Use _putenv if available.
488         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
489         a bit less likely to cause damage.
490         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
491         Fix the wrong value with SetEnvironmentVariable.
492         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
493         code better.
494
495 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
496
497         regex: ignore old-style-definition warnings
498         * lib/regex.c: Add pragma to ignore these warnings.
499         Problem reported for GNU tar by Pavel Raiskup.
500
501 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
502
503         getcwd: support coreutils better
504         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
505         but this might not be correct in coreutils, which disables
506         the raw decl checks.  Problem reported by Nagendra in
507         <http://bugs.gnu.org/10305#192>.
508         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
509         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
510         Test the getcwd function, not any macro, since getcwd.c wants the
511         function.
512         * m4/getcwd.m4 (gl_FUNC_GETCWD):
513         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
514         compile, as might happen if there's a macro but no function.
515
516         strtod: support coreutils better
517         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
518         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
519         disables the raw decl checks.  This assumes there is an underlying
520         strtod, but that's a safe assumption these days.
521         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
522
523         mountlist: port to HP NonStop
524         Reported by Joachim Schmitz in
525         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
526         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
527         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
528
529 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
530
531         extern-inline: avoid compilation error with HP-UX cc
532         Reported by Richard Lloyd in
533         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
534         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
535         Suppress extern inline with HP-UX cc.  This should be safe,
536         though it may hurt performance.  Perhaps someone with some HP-UX
537         experience can come up with a higher-performance fix.
538
539 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
540
541         putenv: fix heap corruption with mixed putenv/_putenv
542         Problem reported by Michael Goffioul in
543         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
544         * lib/putenv.c (putenv) [HAVE__PUTENV]:
545         Rely on _putenv to allocate the new environment.
546         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
547         * modules/putenv (configure.ac): Use it.
548
549 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
550
551         unsetenv etc.: port to Solaris 11 + GNU Emacs
552         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
553         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
554         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
555         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
556         idea but is too painful to fix right now), and without this gnulib
557         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
558         compiling unsetenv.c on Solaris 11.  Fix the problem for
559         unsetenv.c, and fix other similar occurrences.
560
561 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
562
563         secure_getenv: fix C++ declaration typo
564         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
565         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
566         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
567
568 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
569
570         careadlinkat: stop exporting careadlinkatcwd
571         Only Emacs used it directly, and Emacs no longer needs it.
572         * NEWS: Document this simplification.
573         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
574         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
575         for readlink.
576         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
577         Don't include stdlib.h; no longer needed.
578         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
579         * lib/relocwrapper.c: Adjust comment to match new dependencies.
580         * modules/areadlink (Depends-on): Add readlink.
581         (Maintainer): Add self.
582         * modules/careadlinkat (Depends-on): Remove readlink.
583
584         extensions: port better to HP-UX
585         This is merged from git Autoconf.
586         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
587         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
588         so that it's compatible with the value used when compiling.
589
590         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
591         Problem reported by Mats Erik Andersson in
592         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
593         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
594         openpty function exists, not merely when we intend to replace it.
595         This corrects the 2013-01-31 patch, which mistakenly defined
596         HAVE_OPENPTY even on hosts that lacked it.
597
598 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
599
600         secure_getenv: fix include typo
601         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
602
603         secure_getenv: port better to FreeBSD and Solaris
604         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
605         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
606         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
607         This works better on BSDish platforms.
608         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
609         Test for issetugid if __secure_getenv is missing.
610
611 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
612
613         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
614         Some of these changes are merged in from git Autoconf.
615         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
616         When deciding whether to define _XOPEN_SOURCE, inspect the
617         preprocessor macro __hpux instead of the more-heavyweight
618         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
619         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
620         as the key for __EXTENSIONS__.
621
622         unistd: avoid namespace pollution on non-glibc systems
623         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
624         This avoids namespace pollution on non-glibc systems, by causing
625         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
626         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
627         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
628
629 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
630
631         tmpdir: use secure_getenv
632         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
633         Define to secure_getenv, not getenv.
634         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
635         as that's now secure_getenv's job.
636         * modules/tmpdir (Depends-on): Add secure_getenv.
637
638         tempname: use secure_getenv
639         * lib/tempname.c (__secure_getenv) [!_LIBC]:
640         Define to secure_getenv, not getenv.
641         * modules/tempname (Depends-on):
642         Add secure_getenv.
643
644         secure_getenv: new module
645         * MODULES.html.sh (Extra functions based on ANSI C 89):
646         Add secure_getenv.
647         * doc/glibc-functions/secure_getenv.texi: New file.
648         * doc/gnulib.texi: Include it.
649         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
650         New files.
651         * lib/stdlib.in.h (secure_getenv): New decl.
652         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
653         * modules/stdlib (stdlib.h):
654         Add secure_getenv checks.
655
656 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
657
658         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
659         Reported for OS X 10.8.2 by Assaf Gordon in
660         <http://bugs.gnu.org/13516>.
661         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
662         !HAVE_OPENAT && !HAVE_FDOPENDIR.
663         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
664         so that they can be kept in sync more easily.  Avoid PATH_MAX
665         test on the Hurd.  Sync from test-getcwd.c for errno tests after
666         mkdir or chdir failure.
667         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
668         lib/getcwd.c.
669         (test_abort_bug): Do not test for the deep directory bug unless we
670         have openat support.  Avoid PATH_MAX test on the Hurd.
671
672         regex-tests, regex: fix bug: memset undeclared
673         * tests/test-regex.c: Don't include regex.h twice.  Include
674         string.h, to declare memset.  Christensen's report also mentioned
675         this issue.
676         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
677         test-regex.c, to avoid future problems like this.  Remove
678         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
679         twice.
680
681         regex-tests: fix link errors on older Solaris
682         These need to link with @LIBINTL@ to get libintl_gettext.
683         Problem reported by Tom G. Christensen in
684         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
685         * modules/regex-tests (test_regex_LDADD): New macro.
686
687 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
688
689         regex-tests: new module
690         * modules/regex-tests, tests/test-regex.c: New files.
691
692         regex: fix off-by-one error in configure test
693         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
694
695 2013-01-31  Eric Blake  <eblake@redhat.com>
696
697         regex: avoid infinite configure test
698         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
699
700 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
701
702         openpty: fix bug where HAVE_OPENPTY wasn't defined
703         See the thread starting at:
704         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
705         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
706         openpty function exists, not merely when we intend to replace it.
707
708 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
709
710         sys_time: port to Solaris 2.6
711         There is a circularity problem on Solaris 2.6, where <time.h> includes
712         <sys/time.h> for struct timespec.  The include nesting is gnulib
713         <time.h>, system <time.h>, gnulib <sys/time.h>, system
714         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
715         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
716         <sys/siginfo.h>; the last, innermost file needs struct
717         timestruc_t, which is defined in <sys/time.h>, which has not been
718         fully parsed.  Problem reported by Tom G. Christensen in
719         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
720         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
721         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
722         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
723         uses split double-inclusion guards.
724
725 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
726
727         regex: test for buffer overrun
728         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
729         for the just-fixed regex bug.
730
731 2013-01-29  Andreas Schwab  <schwab@suse.de>
732
733         regex: fix buffer overrun in regexp matcher [BZ #15078]
734         * lib/regexec.c (extend_buffers): Add parameter min_len.
735         (check_matching): Pass minimum needed length.
736         (clean_state_log_if_needed): Likewise.
737         (get_subexp): Likewise.
738
739 2013-01-28  Pádraig Brady  <P@draigBrady.com>
740
741         mountlist: don't consider "devtmpfs" as dummy
742         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
743         as there is storage associcated with it.
744
745 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
746
747         futimens-tests, utimens-tests: Depend on gettext.
748         This works around a problem introduced in my 2013-01-12 patch,
749         which added @LIBINTL@ to these modules.
750         * modules/futimens-tests (Depends-on):
751         * modules/utimens-tests (Depends-on): Add gettext.
752
753 2013-01-26  Eric Blake  <eblake@redhat.com>
754
755         test-getpeername: fix typo
756         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
757
758 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
759
760         bootstrap: remove the need for a sorted .gitignore file
761         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
762         rename to insert_if_absent(), so that we don't need or generate
763         a sorted .gitignore file.  We do require a .gitignore with no
764         existing duplicate entries and enforce that.
765         (sort_patterns): Remove this function as we now use the simpler
766         technigue of inserting blacklist entries at the top of the file,
767         assuming gnulib won't be inserting !whitelist entries.
768
769 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
770
771         readlinkat: don't depend on gl_FUNC_OPENAT
772         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
773         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
774         renameat.m4, symlinkat.m4; but one thing at a time.
775
776         statat: new module, split out from fstatat
777         GNU Emacs needs the POSIX-specified fstatat, but not the
778         gnulib-specified statat and lstat.  Split the latter two into a
779         new module 'statat'.
780         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
781         * lib/openat.h, lib/statat.c (STATAT_INLINE):
782         Rename from FSTATAT_INLINE. All uses changed.
783         * modules/fstatat (Files): Remove lib/statat.c.
784         (gl_MODULE_INDICATOR([fstatat])): Remove.
785         (lib_SOURCES): Remove.
786         (Maintainer): Add self.
787         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
788         * tests/test-fstatat.c (BASE): Don't define if already defined.
789         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
790
791 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
792
793         tests: don't assume fd 99 is closed
794         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
795         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
796         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
797         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
798         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
799         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
800         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
801         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
802         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
803         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
804         * tests/test-fwrite.c, tests/test-getpeername.c:
805         * tests/test-getsockname.c, tests/test-getsockopt.c:
806         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
807         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
808         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
809         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
810         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
811         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
812         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
813         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
814         * tests/test-unlinkat.c, tests/test-unlockpt.c:
815         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
816         Close file descriptor 99, instead of assuming it's already closed.
817
818 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
819
820         stpncpy: port to OS X 10.8
821         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
822         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
823
824 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
825
826         unistd: port to recent mingw
827         * lib/unistd.in.h: Remove special invocation convention for mingw,
828         which breaks for the latest mingw version.  See John W. Eaton in
829         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
830
831         largefile: port better to Mac OS X 10.5
832         This patch is backported from Autoconf git.
833         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
834         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
835         with ino_t size being different for configuration time versus
836         build/run time.  Problem reported by PHO in
837         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
838
839 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
840
841         doc: clarify -Werror
842         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
843         clarify that it's intended for developers, not for ordinary builds,
844         and mention --enable-gcc-warnings as one possible use.
845
846 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
847
848         stdint: fix build with Android's Bionic fox x86
849         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
850         was already included as _SSIZE_T_DEFINED_ might also be defined
851         in include/machine/_types.h, which is included by stdio.h
852
853 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
854
855         net_if-tests: port to Solaris 7 + GCC 3.4.6
856         Problem reported by Tom G. Christensen in
857         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
858         * tests/test-net_if.c (ni): Move to next the code that uses it,
859         so that it's declared only if needed.
860
861 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
862
863         net_if-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         * modules/net_if-tests (NET_IF_LIB): New substitution.
867         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
868         (HAVE_IF_NAMEINDEX): New C macro.
869         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
870
871         system-quote-tests: port to older Solaris
872         Problem reported by Tom G. Christensen in
873         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
874         * tests/test-system-quote-child.c (fopen, fread): Undef.
875
876         c-xvasprintf etc.: fix link errors on older Solaris
877         These need to link with @LIBINTL@ to get libintl_gettext.
878         Problem reported by Tom G. Christensen in
879         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
880         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
881         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
882         * modules/futimens-tests (test_futimens_LDADD):
883         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
884
885 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
886
887         locale: port to Solaris 2.6 and 7 + GNU gettext
888         * lib/locale.in.h: Just include_next <locale.h> when
889         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
890         when combining the localename module with GNU gettext 0.18.2.
891         Problem reported by Tom G. Christensen in
892         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
893
894 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
895
896         stdlib: port to Solaris 2.6
897         Also, the code worked on Solaris 7 through 9 only by accident.
898         Problem reported by Tom G. Christensen in
899         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
900         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
901         simply include the system stdlib.h.
902         * lib/getopt.in.h (__need_system_stdlib_h):
903         * lib/pthread.in.h (__need_system_stdlib_h):
904         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
905         Define when including <stdlib.h>, to avoid problems at least for
906         the pthread case on Solaris 2.6 and 7.  These .h files can get by
907         with the system stdlib.h.
908
909 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
910
911         doc: update main copyright year
912         * doc/gnulib.texi: Update copyright date.
913
914         doc: improve ISO 8601 discussion
915         * doc/parse-datetime.texi (Combined date and time of day items):
916         Specify more carefully what formats are supported and what is
917         done with excess precision.
918
919 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
920
921         doc: avoid small caps
922         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
923         they're more trouble than they're worth.  Suggested by Karl Berry
924         in <http://bugs.gnu.org/13360>.
925
926         regex: conform to strict C
927         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
928         From Aharon Robbins.
929
930         gnulib-tool: fix incompatibility with autopoint 0.18.2
931         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
932         Problem reported by Tom G. Christensen in
933         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
934
935 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
936
937         fprintftime: bring back and reword fwrite comment
938         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
939
940         stdio: remove now-unnecessary stdio.c
941         Since stdio.in.h no longer uses inline functions, we no longer
942         need to compile the extern versions.
943         * lib/stdio.c: Remove.
944         * modules/stdio (Files): Remove lib/stdio.c.
945         (lib_SOURCES): Remove.
946
947         unicodeio: depend on stdio, not ignore-value
948         * lib/unicodeio.c: Do not include ignore-value.h.
949         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
950         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
951
952         fprintftime: depend on stdio, not ignore-value
953         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
954         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
955         since the stdio module arranges to silence that warning now.
956         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
957
958 2012-10-04  Simon Josefsson  <simon@josefsson.org>
959
960         stdint-tests: Fix expanded-before-required-warning.
961         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
962
963 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
964
965         fwrite: silence __wur only for older glibc versions
966         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
967         This will help us remove this workaround some time in the far future.
968
969 2013-01-03  Eric Blake  <eblake@redhat.com>
970
971         fwrite: silence __wur without using inline
972         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
973         just gcc, and in a way that avoids inline issues.
974         * modules/stdio (Depends-on): Drop extern-inline.
975
976 2013-01-03  Jim Meyering  <jim@meyering.net>
977
978         update-copyright: avoid copyright notice date corruption
979         Given a sequence of copyright year numbers in which the final
980         one was a two-digit number that happened to be a substring of
981         a preceding four-digit year number, we would mistakenly update
982         the substring (from two- to four-digit) rather than the two-digit
983         number at the end, which, combined with the addition of the current
984         4-digit year number would yield two 5-digit year numbers, e.g.,
985         here, it would convert the first "99" to "1999, 2013" rather than
986         the final one:
987           1991, 99
988           11999, 20131, 1999
989         * build-aux/update-copyright: Tighten a regexp.
990         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
991         Reported by Joseph Myers in
992         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
993
994 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
995
996         regex: omit needless signed-pointer casts
997         * lib/regcomp.c (build_charclass, build_charclass_op):
998         Use char *, not unsigned char *, for class name and extra.
999         The char values are always nonnegative so there's no need to
1000         insist on unsigned char * here, and using char * removes the need
1001         for casts.  Reported by Aharon Robbins in
1002         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1003
1004         regex: support Gawk, which never uses alloca
1005         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1006         Do not include in this case.  Gawk doesn't supply a substitute
1007         alloca.h and doesn't need one.
1008
1009         regex: port __libc_lock_define usage to C89
1010         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1011         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1012         does not conform to C89, as it has an empty macro argument.
1013         Reported by Aharon Robbins in
1014         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1015
1016 2013-01-01  Eric Blake  <eblake@redhat.com>
1017
1018         maint: update all copyright year number ranges
1019         Run "make update-copyright".
1020
1021         version-etc: bump copyright year reported in --version
1022         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1023
1024 2012-12-31  Eric Blake  <eblake@redhat.com>
1025
1026         sigprocmask-tests: skip test if pid is unexpectedly large
1027         * tests/test-sigprocmask.c (main): Add range check.
1028
1029         git-version-gen: avoid test -z portability glitch
1030         * build-aux/git-version-gen: Prefer portable test spelling, since
1031         git-version-gen is run on more than just developer machines.
1032
1033 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1034
1035         git-version-gen: add --fallback option to use if git is not present
1036         * build-aux/git-version-gen: Add support for the new option --fallback,
1037         which comes into play when there is no $tarball_version_file and
1038         git is not working.
1039         (scriptversion): Update.
1040
1041         maint.mk: handle missing git with more grace
1042         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1043         Quietly proceed if git is not present.
1044
1045 2012-12-31  Eric Blake  <eblake@redhat.com>
1046
1047         dup2: work around cygwin bug
1048         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1049         * lib/dup2.c (rpl_dup2): Work around it.
1050         * doc/posix-functions/dup2.texi (dup2): Document it.
1051
1052 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1053
1054         regex: remove unnecessary dependency on localcharset.h
1055         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1056         hasn't been needed for years.
1057         * modules/regex (Depends-on): Remove localcharset.
1058
1059         regex: revert single-byte change
1060         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1061         to this function.  This was alredy fixed in a different way, at
1062         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1063         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1064         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1065
1066         regex: simplify based on Gawk version
1067         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1068         Reported by Aharon Robbins in
1069         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1070
1071 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1072
1073         regex: check that pattern char is single-byte
1074         Reported by Aharon Robbins in
1075         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1076         * lib/regexec.c (check_node_accept_bytes):
1077         Return 0 if the pattern string has a multibyte character here.
1078
1079         regex: implement rational ranges
1080         Reported by Aharon Robbins in
1081         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1082         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1083         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1084         Implement rational ranges.
1085
1086         regex: avoid redefining __wctype
1087         Reported by Aharon Robbins in
1088         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1089         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1090         #undef before defining.
1091
1092         regex: port to hosts where malloc (0) == NULL
1093         Reported by Aharon Robbins in
1094         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1095         * lib/regex_internal.c (re_node_set_alloc):
1096         Don't assume that malloc (0) yields nonnull.
1097         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1098         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1099         * modules/regex (Files): Add m4/eealloc.m4.
1100
1101         regex: port to C89
1102         Reported by Aharon Robbins in
1103         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1104         * lib/regcomp.c (init_word_char): Declaration before statement.
1105
1106         regex: merge glibc changes
1107         Also, copy the license wording from glibc.  This simplifies
1108         merging changes.  gnulib-tool will change the wording to GPL as
1109         appropriate, when importing it to other packages.  The only
1110         glibc change made since the last merge, which needs merging, is:
1111         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1112         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1113
1114         * users.txt: Add Emacs.
1115
1116         doc: omit mention of version when not needed
1117         * doc/gnulib-intro.texi (Portability and Application Code):
1118         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1119         Don't mention particular dates or versions when not necessary, so
1120         that the documentation won't go out of date so quickly.
1121
1122         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1123
1124 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1125
1126         bootstrap: pass --force to autoreconf.
1127         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1128         Add "--force" so that Automake's ylwrap and other such tools
1129         be updated at each bootstrap invocation.
1130         Use it.
1131
1132 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1133
1134         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1135         The earlier patch forgot to update one of the #if conditions, causing
1136         a problem on Debian testing i386 reported by Mats Erik Andersson
1137         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1138         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1139         (__argp_fmtstream_puts, argp_fmtstream_puts)
1140         (__argp_fmtstream_write, argp_fmtstream_write)
1141         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1142
1143         * doc/gnulib-readme.texi: Minor fixups.
1144         (Portability guidelines): Modernize URLs.  Remove some repetition.
1145         (Indent with spaces not TABs): Reword to avoid too-long lines.
1146         Remove some '@ifset standalone' stuff that isn't used.
1147
1148         * doc/gnulib-readme.texi (Portability guidelines):
1149         ctype.h, not ctime.h.
1150
1151         Correct name of POSIX.1-2001.
1152         * doc/posix-functions/fgetc.texi (fgetc):
1153         * doc/posix-functions/fgets.texi (fgets):
1154         * doc/posix-functions/fread.texi (fread):
1155         * doc/posix-functions/fscanf.texi (fscanf):
1156         * doc/posix-functions/getc.texi (getc):
1157         * doc/posix-functions/getchar.texi (getchar):
1158         * doc/posix-functions/scanf.texi (scanf):
1159         POSIX.1-2001, not POSIX-2001.
1160
1161         doc: move README into manual
1162         * README: Move contents to new file doc/gnulib-readme.texi.
1163         Replace with a one-line summary.
1164         * doc/gnulib.texi (Brief Overview): New section,
1165         with old intro preface.  Include gnulib-readme.texi for contents.
1166         (Philosophy): Rename from "Introduction", since this
1167         section no longer introduces the rest.  Write a new preface.
1168         * doc/gnulib-readme.texi: New file, with the old contents of
1169         README texinfo-ized.  This way, the README info appears
1170         in the online and printed manual.
1171
1172 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1173
1174         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1175         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1176         c_vasprintf() prototype.
1177
1178 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1179
1180         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1181         * lib/c-vasprintf.h: Remove stray semicolon.
1182
1183 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1184
1185         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1186         It is obsolete and is planned to be removed from Automake 1.14; see
1187         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1188         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1189         (installdirs-data, installdirs-data-yes):
1190         Use $(MKDIR_P), not $(mkdir_p).
1191         * m4/intl.m4 (AM_INTL_SUBDIR):
1192         * m4/po.m4 (AM_PO_SUBDIRS):
1193         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1194
1195 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1196
1197         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1198         On this platform, we are not optimizing but we are using
1199         the substitute for extern inlines, so compile as if
1200         C99-style extern inline, or a substitute, is available.
1201         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1202         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1203         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1204         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1205         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1206         Declare as ARGP_FS_EI, not as extern.
1207         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1208         (__option_is_short, _option_is_end, __option_is_end)
1209         [!_LIBC && __USE_EXTERN_INLINES]:
1210         Declare as ARGP_EI, not as extern.
1211
1212 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1213
1214         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1215         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1216         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1217         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1218         ...), as the latter is fatal with older Autoconfs.
1219         Problem reported and fix suggested by Eric Blake in thread starting at
1220         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1221
1222 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1223
1224         AC_PROG_MKDIR_P: don't workaround if not buggy
1225         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1226         Define only for Autoconf versions before 2.62.
1227         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1228         undocumented m4_PACKAGE_VERSION, for consistency with the
1229         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1230         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1231         was introduced in 2.62.
1232
1233 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1234
1235         New 'c-*printf' modules for formatted output in C locale.
1236
1237         New module 'c-vasnprintf'.
1238         * modules/c-vasnprintf: New file.
1239         * lib/c-vasnprintf.c: New file.
1240         * lib/c-vasnprintf.h: New file.
1241
1242         New module 'c-snprintf'.
1243         * modules/c-snprintf: New file.
1244         * modules/c-snprintf-tests: New file.
1245         * lib/c-snprintf.c: New file.
1246         * lib/c-snprintf.h: New file.
1247         * tests/test-c-snprintf.c: New file.
1248         * tests/test-c-snprintf.sh: New file.
1249
1250         New module 'c-vsnprintf'.
1251         * modules/c-vsnprintf: New file.
1252         * modules/c-vsnprintf-tests: New file.
1253         * lib/c-vsnprintf.c: New file.
1254         * lib/c-vsnprintf.h: New file.
1255         * tests/test-c-vsnprintf.c: New file.
1256         * tests/test-c-vsnprintf.sh: New file.
1257
1258         New module 'c-vasprintf'.
1259         * modules/c-vasprintf: New file.
1260         * modules/c-vasprintf-tests: New file.
1261         * lib/c-asprintf.c: New file.
1262         * lib/c-vasprintf.c: New file.
1263         * lib/c-vasprintf.h: New file.
1264         * tests/test-c-vasprintf.c  +: New file.
1265         * tests/test-c-vasprintf.sh: New file.
1266
1267         New module 'c-xvasprintf'.
1268         * modules/c-xvasprintf: New file.
1269         * modules/c-xvasprintf-tests: New file.
1270         * lib/c-xasprintf.c: New file.
1271         * lib/c-xvasprintf.c: New file.
1272         * lib/c-xvasprintf.h: New file.
1273         * tests/test-c-xvasprintf.c: New file.
1274         * tests/test-c-xvasprintf.sh: New file.
1275
1276 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1277
1278         argp: better 'inline'
1279         Use extern-inline module to declare extern inline functions.
1280         This avoids some bogus warning diagnostics.  Problem discovered
1281         when modifying GNU tar to use the manywarnings module.
1282         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1283         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1284         Define based on extern-inline.
1285         * modules/argp (Depends-on): Add extern-inline.
1286
1287 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1288
1289         filemode, sys_stat: Handle MPX files a la AIX.
1290         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1291         * lib/sys_stat.in.h (S_ISMPX): New macro.
1292         * tests/test-sys_stat.c: Add tests for MPX files.
1293
1294 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1295
1296         x-to-1: honor $PERL
1297         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1298         a chance to use his preferred version of Perl.  This is typically
1299         required by Darwin users whose default /usr/bin/perl does not have all
1300         the libraries required by help2man, and who need to use their MacPorts
1301         installation of Perl instead.
1302
1303 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1304
1305         gnu-web-doc-update: add all the new files, even in new directories
1306         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1307         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1308         Use it.
1309         (main): Don't use cvsutils to get the list of unknown files,
1310         just add all the existing files and directories.
1311
1312 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1313
1314         gnu-web-doc-update: improve --help
1315         * build-aux/gnu-web-doc-update: Move comments into --help.
1316
1317 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1318
1319         mountlist: recognize more "dummy" file systems
1320         * lib/mountlist.c (ME_DUMMY_0):
1321         Add these dummy FS names to the list:
1322         - "debugfs" virtual filesystem for kernel debugging
1323         - "devpts" PTY slave filesystem
1324         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1325         - "fusectl" control filesystem for FUSE
1326         - "mqueue" enumerates POSIX message queues
1327         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1328         - "sysfs" is for exporting kernel objects
1329         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1330
1331 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1332
1333         extern-inline: avoid incompatibility with Darwin Libc
1334         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1335         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1336         Problem reported by Akim Demaille in
1337         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1338
1339 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1340
1341         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1342         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1343         let it handle password prompting.
1344
1345 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1346
1347         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1348         * lib/canonicalize.c (canonicalize_filename_mode):
1349         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1350         fetching the current directory.  Don't overrun the beginning of
1351         rpath if there's no slashes after the MS-Windows drive letter.
1352
1353 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1354
1355         maint.mk: avoid extra forks
1356         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1357         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1358         So use that instead of "$(shell test -f FILE && echo FILE)".
1359
1360 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1361
1362         vasnprintf: fix ASCII_ONLY typo
1363         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1364         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1365         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1366         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1367         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1368
1369 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1370
1371         list, oset, xlist, xoset: fix extern inline issue with C99
1372         This was introduced by my recent changes for 'inline'.
1373         Problem reported for gettext by Daiki Ueno in
1374         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1375         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1376         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1377         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1378         (gl_list_previous_node, gl_list_get_at)
1379         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1380         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1381         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1382         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1383         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1384         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1385         (gl_list_iterator_free, gl_sortedlist_search)
1386         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1387         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1388         (gl_sortedlist_remove):
1389         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1390         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1391         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1392         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1393         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1394         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1395         (gl_list_add_at, gl_sortedlist_add):
1396         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1397         Wrap these extern decls inside "#if 0", because they are implemented
1398         as inline functions, and extern inline is not what's wanted here.
1399         It would simplify these .h files to remove the extern decls entirely,
1400         although a downside would be less-clear separation between
1401         specification and implementation.
1402
1403 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1404
1405         sys_stat: no 'static inline'
1406         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1407         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1408
1409         extern-inline: no 'static inline'
1410         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1411         Do not require AC_C_INLINE.
1412         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1413         'static inline', for older compilers.
1414
1415         snippet/warn-on-use: no 'static inline'
1416         * build-aux/snippet/warn-on-use.h:
1417         Remove unnecessary 'inline' in comment.
1418
1419         rbtree-list, rbtreehash-list: no 'static inline'
1420         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1421         * lib/gl_anytree_list2.h (node_at):
1422         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1423         (gl_oset_first, add_nodes_to_buckets):
1424         Now static, not static inline.
1425
1426         regex: no 'static inline'
1427         * lib/regex_internal.c (calc_state_hash):
1428         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1429         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1430         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1431         Now static, not static inline.
1432         (inline) [__GNUC__ < 3 && _LIBC]:
1433         Remove macro; no longer needed.
1434
1435         xvasprintf: no 'static inline'
1436         * lib/xvasprintf.c (xstrcat):
1437         Now static, not static inline.
1438         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1439         Do not require AC_C_INLINE.
1440
1441         parse-datetime, parse-duration: no 'static inline'
1442         * lib/parse-datetime.y (to_uchar):
1443         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1444         (scale_n_add):
1445         Now static, not static inline.
1446         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1447         * modules/parse-duration (configure.ac):
1448         Do not require AC_C_INLINE.
1449
1450         getaddrinfo: no 'static inline'
1451         * lib/getaddrinfo.c (validate_family):
1452         Now static, not static inline.
1453         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1454         Do not require AC_C_INLINE.
1455
1456         ftruncate, fts, lstat, openat, raise: no 'static inline'
1457         * lib/ftruncate.c (chsize_nothrow):
1458         * lib/fts.c (opendirat, diropen):
1459         * lib/lstat.c (orig_lstat):
1460         * lib/openat.c (orig_openat):
1461         * lib/raise.c (raise_nothrow):
1462         Now static, not static inline.
1463         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1464         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1465         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1466         * m4/openat.m4 (gl_PREREQ_OPENAT):
1467         * m4/raise.m4 (gl_PREREQ_RAISE):
1468         Do not require AC_C_INLINE.
1469
1470         fflush, stat: no 'static inline'
1471         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1472         (clear_ungetc_buffer, disable_seek_optimization)
1473         (restore_seek_optimization, update_fpos_cache):
1474         * lib/stat.c (orig_stat):
1475         Now static, not static inline.
1476         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1477         (update_fpos_cache):
1478         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1479         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1480         * m4/stat.m4 (gl_PREREQ_STAT):
1481         Do not require AC_C_INLINE.
1482
1483         error, filevercmp: no 'static inline'
1484         * lib/error.c (is_open, flush_stdout):
1485         * lib/filevercmp.c (order):
1486         Now static, not static inline.
1487         * m4/error.m4 (gl_PREREQ_ERROR):
1488         * modules/filevercmp (configure.ac):
1489         Do not require AC_C_INLINE.
1490
1491         dup, execute, fatal-signal, etc.: no 'static inline'
1492         * lib/dup.c (dup_nothrow):
1493         * lib/execute.c (nonintr_close, nonintr_open):
1494         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1495         * lib/fopen.c (orig_fopen):
1496         * lib/freadseek.c (freadptrinc):
1497         * lib/freopen.c (orig_freopen):
1498         * lib/fstat.c (orig_fstat, fstat_nothrow):
1499         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1500         (get_rusage_as_via_iterator):
1501         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1502         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1503         * lib/isatty.c (_isatty_nothrow):
1504         * lib/open.c (orig_open):
1505         * lib/read.c (read_nothrow):
1506         * lib/sigprocmask.c (signal_nothrow):
1507         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1508         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1509         * lib/wait-process.c (unregister_slave_subprocess):
1510         * lib/write.c (write_nothrow):
1511         Now static, not static inline.
1512         * lib/spawn-pipe.c (nonintr_open): Define only if
1513         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1514         * m4/dup.m4 (gl_PREREQ_DUP):
1515         * m4/execute.m4 (gl_EXECUTE):
1516         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1517         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1518         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1519         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1520         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1521         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1522         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1523         * m4/open.m4 (gl_PREREQ_OPEN):
1524         * m4/read.m4 (gl_PREREQ_READ):
1525         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1526         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1527         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1528         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1529         * m4/write.m4 (gl_PREREQ_WRITE):
1530         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1531         Do not require AC_C_INLINE.
1532
1533         c-strtod, memcoll, readutmp: no 'static inline'
1534         * lib/c-strtod.c (c_locale):
1535         * lib/memcoll.c (strcoll_loop):
1536         * lib/readutmp.c (desirable_utmp_entry):
1537         Now static, not static inline.
1538         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1539         * m4/memcoll.m4 (gl_MEMCOLL):
1540         * m4/readutmp.m4 (gl_READUTMP):
1541         Do not require AC_C_INLINE.
1542
1543         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1544         * lib/arctwo.c (to_uchar):
1545         * lib/md4.c (set_uint32):
1546         * lib/md5.c (set_uint32):
1547         * lib/sha1.c (set_uint32):
1548         * lib/sha256.c (set_uint32):
1549         * lib/sha512.c (set_uint64):
1550         Now static, not static inline.  This is a bit simpler, and doesn't
1551         affect performance with GCC and default optimization.
1552         * m4/arctwo.m4 (gl_ARCTWO):
1553         * m4/md4.m4 (gl_MD4):
1554         * m4/md5.m4 (gl_MD5):
1555         * m4/sha1.m4 (gl_SHA1):
1556         * m4/sha256.m4 (gl_SHA256):
1557         * m4/sha512.m4 (gl_SHA512):
1558         Do not require AC_C_INLINE.
1559
1560         cond, lock, thread: better 'inline'
1561         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1562         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1563         New macros.  Use them instead of static inline, for header functions.
1564         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1565         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1566         * lib/glthread/lock.c (gl_waitqueue_init)
1567         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1568         * lib/glthread/thread.c (get_current_thread_handle):
1569         Change 'static inline' to 'inline'.
1570         * lib/glthread/cond.h, lib/glthread/thread.h:
1571         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1572         * m4/cond.m4 (gl_COND):
1573         * m4/lock.m4 (gl_PREREQ_LOCK):
1574         * m4/thread.m4 (gl_THREAD):
1575         Do not require AC_C_INLINE.
1576         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1577
1578         chdir-long, cycle-check, savewd: better 'inline'
1579         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1580         (find_non_slash):
1581         * lib/cycle-check.c (is_zero_or_power_of_two):
1582         * lib/savewd.c (savewd_delegating):
1583         Change 'static inline' to 'inline'.
1584         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1585         Replace all remaining uses of 'static inline' with it.
1586         * lib/savewd.h:
1587         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1588         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1589         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1590         * m4/savewd.m4 (gl_SAVEWD):
1591         Do not require AC_C_INLINE.
1592         * modules/savewd (Depends-on): Add extern-inline.
1593
1594         base32, base64: no need for 'inline'
1595         * lib/base32.c (to_uchar, get_8, decode_8):
1596         * lib/base64.c (to_uchar, get_4, decode_4):
1597         Change 'static inline' to 'inline'.
1598         * m4/base32.m4 (gl_PREREQ_BASE32):
1599         * m4/base64.m4 (gl_PREREQ_BASE64):
1600         Do not require AC_C_INLINE.
1601
1602         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1603         * lib/gl_array_oset.c (gl_array_nx_add_at):
1604         (gl_array_remove_at):
1605         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1606         (add_to_bucket, remove_from_bucket):
1607         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1608         Change 'static inline' to 'static', as it's simpler to omit
1609         'inline' unless there's a significant performance advantage.
1610
1611         list, oset, xlist, xoset, xsublist: simplify via extern inline
1612         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1613         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1614         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1615         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1616         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1617         New macro.  Replace all uses of 'static inline' with it.
1618         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1619         instead of as macros FOO that are defined to static inline
1620         functions FOO_inline.
1621         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1622         * lib/gl_xsublist.c:
1623         Reimplement from scratch, by defining the corresponding *_INLINE
1624         macro and including the corresponding .h file.  This is simpler.
1625         * modules/list, modules/oset, modules/xlist, modules/xoset:
1626         (Files): Remove m4/gl_list.m4.
1627         (configure.ac): Remove gl_LIST.
1628         * m4/gl_list.m4: Remove.
1629         * modules/list, modules/oset, modules/xlist, modules/xoset:
1630         * modules/xsublist:
1631         (Depends-on): Depend on extern-inline, not inline.
1632
1633         xalloc: better 'inline'
1634         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1635         New macro.  Replace all uses of 'static inline' with it.
1636         (static_inline): Remove.
1637         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1638         Let 'extern inline' do the work automatically, instead of doing
1639         it by hand.
1640         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1641         Remove.  All uses removed.
1642         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1643
1644         gethrxtime: better 'inline'
1645         * lib/xtime.c: New file.
1646         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1647         * lib/xtime.h (XTIME_INCLUDE):
1648         New macros.  Replace all uses of 'static inline' with them.
1649         * lib/gethrxtime.c (gethrxtime): Define only if
1650         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1651         this source file is now always compiled, because of the extern inline.
1652         * lib/gethrxtime.h, lib/xtime.h:
1653         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1654         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1655         if gethrtime works, as they're not needed in that case.
1656         (gl_XTIME): Do not require AC_C_INLINE.
1657         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1658         compiled now.  Move the check into gl_GETHRXTIME.
1659         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1660         (Depends-on): Add extern-inline.
1661         (configure.ac): gethrxtime is always compiled now.
1662         (lib_SOURCES): Add gethrxtime.c.
1663
1664         wctype-h: better 'inline'
1665         * lib/wctype-h.c: New file.
1666         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1667         New macro.  Replace all uses of 'static inline' with it.
1668         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1669         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1670         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1671         (Depends-on): Add extern-inline.
1672
1673         unistd: better 'inline'
1674         * lib/unistd.c: New file.
1675         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1676         New macro.  Replace all uses of 'static inline' with it.
1677         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1678         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1679         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1680         (Depends-on): Add extern-inline.
1681
1682         sys_socket: better 'inline'
1683         * lib/sys_socket.c: New file.
1684         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1685         New macro.  Replace all uses of 'static inline' with it.
1686         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1687         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1688         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1689         (Depends-on): Add extern-inline.
1690
1691         stdio: better 'inline'
1692         * lib/stdio.c: New file.
1693         * lib/stdio.in.h (_GL_STDIO_INLINE):
1694         New macro.  Replace all uses of 'static inline' with it.
1695         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1696         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1697         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1698         (Depends-on): Add extern-inline.
1699
1700         sigaction: better 'inline'
1701         * lib/sig-handler.c: New file.
1702         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1703         New macro.  Replace all uses of 'static inline' with it.
1704         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1705         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1706         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1707         (Depends-on): Add extern-inline.
1708
1709         selinux-h: better 'inline'
1710         * lib/se-context.c, lib/se-selinux.c: New files.
1711         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1712         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1713         New macro.  Replace all uses of 'static inline' with it.
1714         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1715         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1716         New macro.  Replace all uses of 'static inline' with it.
1717         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1718         * modules/selinux-h (Files, lib_SOURCES):
1719         Add lib/se-context.c, lib/se-selinux.c.
1720         (Depends-on): Add extern-inline.
1721         (configure.ac): Do not require AC_C_INLINE.
1722
1723         pthread: better 'inline'
1724         * lib/pthread.c: New file.
1725         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1726         New macro.  Replace all uses of 'static inline' with it.
1727         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1728         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1729         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1730         * modules/pthread (Files): Add lib/pthread.c.
1731         (Depends-on): Add extern-inline.
1732
1733         math: better 'inline'
1734         * lib/math.c: New file.
1735         * lib/math.in.h (_GL_MATH_INLINE):
1736         New macro.  Replace all uses of 'static inline' with it.
1737         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1738         * m4/math_h.m4 (gl_MATH_H):
1739         Do not require AC_C_INLINE.
1740         * modules/math (Files, lib_SOURCES):
1741         Add lib/math.c.
1742         (Depends-on): Add extern-inline.
1743
1744         count-one-bits: better 'inline'
1745         * lib/count-one-bits.c: New file.
1746         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1747         New macro.  Replace all uses of 'static inline' with it.
1748         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1749         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1750         Do not require AC_C_INLINE.
1751         * modules/count-one-bits (Files, lib_SOURCES):
1752         Add lib/count-one-bits.c.
1753         (Depends-on): Add extern-inline.
1754
1755         count-leading-zeros: better 'inline'
1756         * lib/count-leading-zeros.c: New file.
1757         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1758         New macro.  Replace all uses of 'static inline' with it.
1759         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1760         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1761         Do not require AC_C_INLINE.
1762         * modules/count-leading-zeros (Files, lib_SOURCES):
1763         Add lib/count-leading-zeros.c.
1764         (Depends-on): Add extern-inline.
1765
1766         bitrotate: better 'inline'
1767         * lib/bitrotate.c: New file.
1768         * lib/bitrotate.h (BITROTATE_INLINE):
1769         New macros.
1770         Replace all uses of 'static inline' with them.
1771         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1772         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1773         (Depends-on): Add extern-inline.
1774         (configure.ac): Do not require AC_C_INLINE.
1775
1776 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1777
1778         maint.mk: avoid gratuitous failure
1779         Reported by Stefano Lattarini in
1780         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1781         * top/maint.mk (public-submodule-commit): Quote more safely.
1782
1783 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1784
1785         canonicalize, canonicalize-lgpl: support MS-Windows file names
1786         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1787         for test cases, which it'd be nice to add at some point.
1788         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1789         * lib/canonicalize.c (canonicalize_filename_mode):
1790         * lib/canonicalize-lgpl.c (__realpath):
1791         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1792         slash is at the beginning of the file name.  Use ISSLASH, instead
1793         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1794         the first character with '/'.  Test for
1795         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1796         with a drive letter.
1797         * lib/canonicalize.c (SLASHES): New macro.
1798         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1799
1800 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1801
1802         fts: introduce FTS_VERBATIM
1803         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1804         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1805         * lib/fts.c (fts_open): Honor it.
1806
1807 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1808
1809         getlogin-tests: allow errno == ENXIO
1810         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1811         with errno == ENXIO (No controlling tty).
1812         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1813         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1814         with errno == ENOENT.  This was reported to happen in various
1815         situations on GNU/Linux.
1816
1817 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1818
1819         getlogin-tests: allow errno == ENOENT
1820         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1821         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1822         when running a test in an Emacs shell buffer.
1823
1824 2012-11-08  Jim Meyering  <jim@meyering.net>
1825
1826         tests/nap.h: avoid warning about unused variable
1827         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1828
1829         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1830         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1831         white space before each of the special-cased file names, to avoid
1832         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1833         in http://bugs.gnu.org/12830.
1834
1835 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1836
1837         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1838         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1839         fails with errno == EBADF when fd is opened with O_PATH.
1840         Reported by Jim Meyering in
1841         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1842         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1843         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1844
1845 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1846
1847         test-utimens: speed up by taking shorter naps
1848         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1849         New functions.
1850         (nap): Use them, to do a better job of guessing the delay.
1851         On Fedora 17 with ext4 atop md atop hard disks, this made
1852         test-utimens run 10x faster, because the test napped for
1853         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1854         <http://bugs.gnu.org/12820#11>.
1855
1856 2012-11-07  Jim Meyering  <jim@meyering.net>
1857
1858         mountlist.c: fix a compilation failure
1859         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1860         I introduced while transforming commit v0.0-7683-g613bcb6
1861
1862 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1863
1864         errno: port to LynxOS 178 2.2.2
1865         Problem reported by Joel Brobecker in
1866         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1867         * doc/posix-headers/errno.texi (errno.h): Document this.
1868         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1869         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1870         Supply a string for EILSEQ.
1871         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1872
1873 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1874
1875         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1876         Linux kernel 2.6.39 introduced O_PATH (see
1877         <http://lwn.net/Articles/433854/>) and this is a better fallback
1878         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1879         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1880         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1881         * lib/fcntl.in.h (O_ACCMODE):
1882         * tests/test-fcntl-h.c (main):
1883         Do not reject O_ACCMODE merely because it has more than the
1884         minimal number of bits, as POSIX allows extensions here.
1885
1886 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1887
1888         mountlist: do not classify a bind-mounted dir entry as "dummy"
1889         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1890         the "none"-testing clause.
1891         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1892         exception for bind-mounted directories.
1893
1894 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1895
1896         quote: provide a means to escape strings with nul characters
1897         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1898         (quote, quote_n): Rename formal arguments for consistency with
1899         quotearg.
1900
1901 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1902
1903         test-raise: don't assume 199 is an invalid signal
1904         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1905
1906         sh-quote-tests: port to Solaris 9
1907         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1908         Problem reported by Dagobert Michelsen in
1909         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1910
1911 2012-10-28  Jim Meyering  <jim@meyering.net>
1912
1913         maint.mk: rename a new configurable variable
1914         * top/maint.mk (_gl_translatable_string_re): Rename from
1915         translation-markers: _gl_ prefix to insulate from user Makefile code,
1916         and the _re suffix to inform that it's a regular expression.
1917
1918 2012-10-26  Eric Blake  <eblake@redhat.com>
1919
1920         maint.mk: let packages tweak sc_po_check pattern
1921         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1922         finding files with other translation markers.
1923
1924 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1925
1926         euidaccess: speed up 'configure' on GNU hosts
1927         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1928         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1929         it's needed only in this case.  Use AC_CHECK_DECLS, not
1930         AC_CHECK_DECLS_ONCE.
1931         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1932         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1933
1934         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1935
1936 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1937
1938         fchmodat, fchownat, fstatat: port to non-inlining compilers
1939         Problem reported for FreeBSD 9 by Jim Meyering in
1940         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1941         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1942         New files, which define FCHMODAT_INLINE etc.
1943         * lib/fchmodat.c (FCHMODAT_INLINE):
1944         * lib/fchownat.c (FCHOWNAT_INLINE):
1945         * lib/fstatat.c (FSTATAT_INLINE):
1946         Remove, as chmodat.c etc. now do this.
1947         * modules/fchmodat (Files): Add lib/chmodat.c.
1948         * modules/fchownat (Files): Add lib/chownat.c.
1949         * modules/fstatat (Files): Add lib/statat.c.
1950
1951 2012-10-15  Jim Meyering  <jim@meyering.net>
1952
1953         fchmodat.c, fchownat.c: compile-impeding typos
1954         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1955         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1956         Introduced in commit v0.0-7636-gd202279.
1957
1958 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1959
1960         fcntl-h: support GNU flags like O_IGNORE_CTTY
1961         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1962         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1963         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1964         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1965         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1966         Define to 0 if not already defined.
1967         * tests/test-fcntl-h.c: Test these new flags.
1968
1969 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1970
1971         faccessat, etc.: support AT_FDCWD-only use
1972         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1973         this function only if its first argument is AT_FDCWD.
1974         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1975         values other than AT_FDCWD, so it doesn't want all the openat
1976         machinery with fchdir etc.
1977         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1978         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1979         * modules/unlinkat (Files):
1980         Remove lib/openat-priv.h, as at-internal supplies this file.
1981         Removing this file here allows us to support programs like Emacs
1982         that avoid at-internal.
1983
1984         faccessat: speed up 'configure' on mainstream hosts
1985         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1986         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1987         since it's only on unusual platforms that we need to check for
1988         'access', and it's better not to slow 'configure' down on all
1989         platforms.
1990
1991         faccessat: port to Solaris 10
1992         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1993         Needed on Solaris 10, which doesn't have AT_EACCESS,
1994         so we need the Gnulib fcntl.h, which defines it.
1995
1996 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1997         canonicalize: fix C89 compilation
1998         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1999         declarations so C89 is supported.  Also remove the comment
2000         referencing memorty allocation as the suggested feature could
2001         not be implemented as suggested.
2002         Reported by Michael Goffioul.
2003
2004 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2005
2006         group-member: omit unnecessary dependencies
2007         This is for Emacs, which has its own allocator and where we
2008         don't want to use xalloc.
2009         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2010         since we no longer use xmalloc.  Do not include stdbool.h, since
2011         the changes below happen to remove the only use of bool.
2012         (GROUPBUF_SIZE): New constant.
2013         (struct group_info): Remove n_groups member.  Add groupbuf member.
2014         This lets us get the groups without using malloc, usually.
2015         (free_group_info, get_group_info): Adjust to this.
2016         (get_group_info): Return the number of groups found, or -1 on error.
2017         Use plain malloc not xmalloc, and treat its failure as if there
2018         are no groups, as the user already loses in case of error.
2019         (group_member): Simplify, based on changes to get_group_info.
2020         * modules/group-member (Depends-on): Remove dependencies on
2021         xalloc and stdbool.  Add dependency on xalloc-oversized.
2022
2023 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2024
2025         gethrxtime: port to C++
2026         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2027
2028 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2029
2030         ptsname: fix macro-name typo
2031         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2032
2033 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2034
2035         inttostr: Relax license.
2036         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2037
2038 2012-10-03  Eric Blake  <eblake@redhat.com>
2039
2040         ptsname_r: support ptys returned by FreeBSD posix_openpt
2041         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2042         lives in /dev/pts/.
2043
2044 2012-10-02  Eric Blake  <eblake@redhat.com>
2045
2046         pselect: reject invalid file descriptors
2047         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2048         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2049         * modules/pselect (Depends-on): Add dup2.
2050         * doc/posix-functions/pselect.texi (pselect): Document this.
2051
2052         select: reject invalid file descriptors
2053         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2054         * lib/select.c (rpl_select) [!win32]: Work around it.
2055         * modules/select (Depends-on): Add dup2.
2056         * doc/posix-functions/select.texi (select): Document this.
2057
2058         select: enhance test
2059         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2060         New functions.
2061         (test_function): Enhance test.
2062         (do_select_bad_fd): Avoid any stale errno values.
2063
2064         ptsname: reject invalid file descriptors
2065         http://www.austingroupbugs.net/view.php?id=503
2066         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2068         * modules/stdlib (Makefile.am): Replace witness.
2069         * lib/stdlib.in.h (ptsname): Allow for replacement.
2070         * modules/ptsname (configure.ac): Trigger replacement.
2071         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2072
2073 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2074
2075         hash-pjw-bare: new module
2076         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2077         * lib/hash-pjw-bare.h: Likewise.
2078         * modules/hash-pjw-bare: New file.
2079         * MODULES.html.sh (Misc): Add it.
2080
2081 2012-10-02  Eric Blake  <eblake@redhat.com>
2082
2083         manywarnings: cater to more gcc infelicities
2084         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2085         -Wuninitialized without -O.
2086
2087 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2088
2089         select, poll tests: Make setsockopt invocation effective.
2090         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2091         the bind() call.
2092         * tests/test-select.h (open_server_socket): Likewise.
2093
2094 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2095
2096         sockets, sys_stat: restore AC_C_INLINE
2097         This undoes the 2012-09-22 patch.
2098         * m4/sockets.m4 (gl_SOCKETS):
2099         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2100         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2101         and does not support plain 'inline'.  Reported by Bruno Haible in
2102         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2103
2104 2012-09-30  Bruno Haible  <bruno@clisp.org>
2105
2106         localeconv tests: Avoid test failure on OpenIndiana.
2107         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2108         skip the 'grouping' and 'mon_grouping' tests.
2109         Reported by Jim Meyering.
2110
2111 2012-09-30  Bruno Haible  <bruno@clisp.org>
2112
2113         havelib: Follow libtool developments.
2114         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2115         Suggested by Simon Josefsson.
2116
2117 2012-09-29  Jim Meyering  <meyering@redhat.com>
2118
2119         fstatat.c: fix a compile-impeding typo
2120         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2121         Introduced in commit v0.0-7636-gd202279.
2122         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2123
2124 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2125
2126         extern-inline: provide a -Wundef safe config.h
2127         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2128         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2129         to produce a -Wundef warning free config.h.
2130
2131 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2132
2133         hash-pjw: relax license to LGPLv2+
2134         * modules/hash-pjw (License): Relax, with consent of author.
2135
2136 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2137
2138         maint.mk: fix strict vs. lazy variable issues with RELEASE
2139         * top/maint.mk (_equal): New function.
2140         (member_check): Strip the result to avoid spurious spaces.
2141         (url_dir_list): Do not use ifeq, which is strict, as it will
2142         require RELEASE_TYPE to be defined.
2143         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2144         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2145         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2146         (announcement_Cc_beta,announcement_mail_headers_beta)
2147         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2148         (release): Do not depend on $(release-type), as it forces its
2149         evaluation.  Bounce to it.
2150
2151 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2152
2153         maint.mk: formatting changes
2154         * top/maint.mk: Indent bodies of if's.
2155
2156 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2157
2158         maint.mk: factor the validation of RELEASE_TYPE
2159         With help from Jim Meyering.
2160         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2161         * top/maint.mk (_empty, _sp): Move their definition earlier.
2162         (member-check, release-type): New.
2163         Use the latter instead of $(RELEASE_TYPE).
2164         Remove now useless local checks.
2165
2166 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2167
2168         maint.mk: provide "make upload" to ease uploading
2169         See
2170         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2171         Do not depend simply on the current $(VERSION), as there may have been
2172         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2173         as "make release-commit" already does.
2174
2175         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2176         "make TYPE".
2177
2178         * top/maint.mk (upload_command, upload, release): New.
2179         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2180         (VERSION): first word of $(RELEASE) is always right.
2181         (emit_upload_commands): Adjust.
2182         * top/README-release: Update.
2183
2184 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2185
2186         maint.mk: silent rules
2187         With help from Stefano Lattarini.
2188         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2189         (announcement): Use $(AM_V_at).
2190
2191 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2192
2193         localename: port gl_locale_name_thread_unsafe to FreeBSD
2194         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2195         and use the simpler FreeBSD implementation on Mac OS X as well.
2196         Original idea suggested by Ed Maste in
2197         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2198
2199 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2200
2201         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2202         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2203         * lib/mbuiter.c, lib/xsize.c: New files.
2204         * lib/binary-io.h (BINARY_IO_INLINE):
2205         * lib/eealloc.h (EEALLOC_INLINE):
2206         * lib/mbfile.h (MBFILE_INLINE):
2207         * lib/mbiter.h (MBITER_INLINE):
2208         * lib/mbuiter.h (MBUITER_INLINE):
2209         * lib/xsize.h (XSIZE_INLINE):
2210         New macros.
2211         Replace all uses of 'static inline' with them.
2212         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2213         * m4/eealloc.m4 (gl_EEALLOC):
2214         * m4/mbfile.m4 (gl_MBFILE):
2215         * m4/mbiter.m4 (gl_MBITER):
2216         * m4/xsize.m4 (gl_XSIZE):
2217         Do not require AC_C_INLINE.
2218         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2219         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2220         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2221         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2222         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2223         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2224         * modules/binary-io, modules/eealloc, modules/mbfile:
2225         * modules/mbiter, modules/mbuiter:
2226         (Depends-on): Add extern-inline.
2227
2228         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2229         * lib/pipe-filter-aux.c: New file.
2230         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2231         Replace all uses of 'static inline' with it.
2232         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2233         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2234         (filter_retcode): No real need for inline here.
2235         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2236         (Files): Add lib/pipe-filter-aux.c.
2237         (Depends-on): Add extern-inline.
2238         (configure.ac): Do not require AC_C_INLINE.
2239         (lib_SOURCES): Add pipe-filter-aux.c.
2240
2241         fdutimensat: omit unnecessary AC_C_INLINE
2242         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2243
2244         fchmodat, fchownat, fstatat: use extern-inline
2245         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2246         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2247         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2248         New macros.
2249         * lib/openat.h:
2250         Replace all uses of 'static inline' with them.
2251         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2252         * modules/fchmodat, modules/fchownat, modules/fstatat:
2253         * modules/openat-h:
2254         (Depends-on):
2255         Add extern-inline.
2256         (configure.ac): Remove AC_C_INLINE.
2257
2258         acl, mbchar, priv-set: use extern-inline
2259         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2260         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2261         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2262         New macros.
2263         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2264         Replace all uses of 'static inline' with it.
2265         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2266         * m4/acl.m4 (gl_FUNC_ACL):
2267         * m4/mbchar.m4 (gl_MBCHAR):
2268         * m4/priv-set.m4 (gl_PRIV_SET):
2269         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2270         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2271         Add extern-inline.
2272
2273         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2274         * m4/sockets.m4 (gl_SOCKETS):
2275         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2276         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2277         environments where it's already guaranteed to work, so we needn't
2278         check for it at 'configure'-time.
2279
2280         tls-tests: omit unnecessary 'inline'
2281         * tests/test-tls.c (perhaps_yield): No longer inline.
2282         Simplicity and portability trump efficiency in test cases.
2283
2284         utimens-tests: avoid unnecessary 'inline'
2285         * modules/fdutimensat-tests (configure.ac):
2286         * modules/futimens-tests (configure.ac):
2287         * modules/utimens-tests (configure.ac):
2288         * modules/utimensat-tests (configure.ac):
2289         Remove AC_C_INLINE.
2290         * tests/test-utimens-common.h (ctime_compare):
2291         No longer inline.  Simplicity and portability trump efficiency here.
2292
2293         misc: don't limit commentary to inline functions
2294         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2295         * lib/xalloc-oversized.h, lib/xsize.h:
2296         Contrast macros to functions in general, not just to inline functions,
2297         when the commentary does not apply only to inline functions.
2298
2299 2012-09-20  Jim Meyering  <meyering@redhat.com>
2300
2301         non-recursive-gnulib-prefix-hack: new module
2302         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2303         the file that originated in Bison.
2304         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2305         largely copied from a snippet that resided in bison's configure.ac.
2306         * modules/non-recursive-gnulib-prefix-hack: New file.
2307         * MODULES.html.sh (Support for maintaining and releasing projects):
2308         Add it.
2309
2310 2012-09-18  Jim Meyering  <meyering@redhat.com>
2311
2312         maint.mk: generalize _gl_tight_scope for non-recursive make
2313         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2314         that *.h would describe additional .h files in the directory
2315         specified by $(_gl_TS_dir).  I.e., add this...
2316         (_gl_TS_other_headers): New variable.
2317
2318         maint.mk: exempt trailing blanks found in "binary" files
2319         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2320         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2321         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2322
2323 2012-09-17  Jim Meyering  <meyering@redhat.com>
2324
2325         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2326         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2327         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2328         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2329
2330 2012-09-17  Jim Meyering  <meyering@redhat.com>
2331
2332         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2333         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2334         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2335         It is not in the same category as "exit (0)" or "exit (1)", and
2336         besides, I know of no symbolic name for that 77.  Reported by
2337         Richard W.M. Jones in
2338         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2339
2340 2012-09-17  Jim Meyering  <meyering@redhat.com>
2341
2342         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2343         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2344         all uses of #define, not just those that start in column 1.
2345         Richard W.M. Jones reported a false positive in
2346         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2347
2348 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2349
2350         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2351         * lib/localcharset.c (locale_charset) [DARWIN7]:
2352         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2353         as these two values are incompatible.  Problem reported by Max Horn.
2354         For more discussion, please see
2355         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2356
2357         doc: document sticky-EOF issue
2358         * doc/posix-functions/fgetc.texi (fgetc):
2359         * doc/posix-functions/fgets.texi (fgets):
2360         * doc/posix-functions/fread.texi (fread):
2361         * doc/posix-functions/fscanf.texi (fscanf):
2362         * doc/posix-functions/getc.texi (getc):
2363         * doc/posix-functions/getchar.texi (getchar):
2364         * doc/posix-functions/scanf.texi (scanf):
2365         Mention that glibc and default Solaris do not conform to
2366         C99 and POSIX-2001 or later, with respect to how getchar
2367         etc. behave when feof reports nonzero.
2368
2369 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2370
2371         poll: fix poll(0, NULL, msec)
2372         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2373         but nfd is 0.  In that case poll should behave like select.
2374
2375 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2376             Paolo Bonzini <bonzini@gnu.org>
2377
2378         poll: fix for systems that can't recv() on a non-socket
2379         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2380         is readable.  In this case POLLHUP will not be supported.
2381         * doc/posix-functions/poll.texi: Document this.
2382
2383 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2384
2385         poll/select: document portability problems not fixed by Gnulib.
2386         * doc/posix-functions/poll.texi: poll does not work well on
2387         pipes under Windows.  It has the same limitations as select on
2388         BeOS.
2389         * doc/posix-functions/select.texi: select does not work well
2390         on pipes under Windows.
2391
2392 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2393
2394         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2395         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2396         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2397         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2398
2399 2012-09-06  Eric Blake  <eblake@redhat.com>
2400
2401         net_if: give more details about the bug being fixed
2402         * doc/posix-headers/net_if.texi: Add clarification.
2403
2404 2012-09-05  Eric Blake  <eblake@redhat.com>
2405
2406         net_if: new module
2407         * modules/net_if: New module, borrowing ideas from netinet_in.
2408         * m4/net_if_h.m4: New file.
2409         * lib/net_if.in.h: Likewise.
2410         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2411         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2412         * tests/test-net_if.c: Make function checks conditional.
2413         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2414
2415 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2416
2417         readutmp: fix non-portable UT_PID use
2418         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2419         Use `UT_PID (u) > 0' as absolute condition.
2420
2421 2012-09-04  Jim Meyering  <meyering@redhat.com>
2422
2423         fts: reduce two or more trailing spaces to just one, usually
2424         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2425         or more slashes, trim all but the final one.  But if a name consists
2426         solely of two slashes, don't modify it.  If it consists solely of
2427         three or more slashes, strip all but one.
2428
2429         This is part of the solution to a minor problem with rm:
2430         it would print a bogus ELOOP diagnostic when failing to remove
2431         the slash-decorated name of a symlink-to-directory:
2432
2433             $ mkdir d && ln -s d s && env rm -r s/
2434             rm: cannot remove 's': Too many levels of symbolic links
2435
2436         With the change below and a trivial don't-trim-trailing-slashes
2437         adjustment to remove.c, it does this:
2438
2439             $ env rm -r s/
2440             rm: cannot remove 's/': Not a directory
2441
2442         Improved by: Eric Blake
2443
2444         fts: when there is no risk of overlap, use memcpy, not memmove
2445         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2446
2447 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2448
2449         stdbool: be more compatible with mixed C/C++ compiles
2450         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2451         Define to bool, true, false, respectively, as GCC's builtin
2452         stdbool.h does.  Problem reported by Michael Goffioul in
2453         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2454
2455 2012-08-28  Jim Meyering  <meyering@redhat.com>
2456
2457         revert last change: it was not needed
2458         * tests/test-vc-list-files-git.sh: There's already a test for
2459         a working git, just below.
2460
2461 2012-08-28  Jim Meyering  <meyering@redhat.com>
2462
2463         tests: test-vc-list-files-git.sh: skip if git is not available
2464         * tests/test-vc-list-files-git.sh: Skip this test when git is
2465         not available.
2466
2467 2012-08-26  Bruno Haible  <bruno@clisp.org>
2468
2469         gnulib-tool: Remove no-op option --no-changelog.
2470         * gnulib-tool (func_usage): Don't mention --no-changelog.
2471         (do_changelog): Remove variable.
2472         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2473
2474 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2475
2476         doc: remove fdl-1.2.texi
2477         It is no longer used or maintained, and its use of @acronym
2478         is problematic.  See the thread containing
2479         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2480         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2481         * doc/old-licenses/fdl-1.2.texi: Remove.
2482
2483         execinfo: port to FreeBSD
2484         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2485         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2486         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2487         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2488
2489 2012-08-23  Jim Meyering  <meyering@redhat.com>
2490
2491         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2492         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2493         to placate gcc's -Wold-style-declaration.
2494
2495 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2496
2497         doc: do not use @acronym
2498         * doc/inet_ntoa.texi (inet_ntoa):
2499         * doc/parse-datetime.texi (Seconds since the Epoch)
2500         (Specifying time zone rules):
2501         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2502         Don't use @acronym.  Problem reported by John Darlington in
2503         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2504
2505 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2506
2507         stdnoreturn: port to newer GCCs
2508         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2509         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2510         Problem reported by Jim Meyering in
2511         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2512         Also, rename the 'test' function to a void a clash with the
2513         already-supplied 'main' function; this fixes a bug that incorrectly
2514         rejected GCC 4.7.1's <stdnoreturn.h>.
2515         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2516         Document GCC problem.
2517
2518 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2519
2520         pipe-filter: fix comment typo
2521         * lib/pipe-filter.h: Mention correct function.
2522
2523 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2524
2525         execinfo: new module
2526         This is for Emacs.  Currently, it provides a no-effect stub
2527         on all platforms where it does not already work.
2528         It already works on glibc-based systems, and on Solaris 11.
2529         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2530         New files.
2531         * doc/glibc-headers/execinfo.texi (execinfo.h):
2532         * MODULES.html.sh (Misc): Document it.
2533
2534 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2535
2536         extern-inline: support old GCC 'inline'
2537         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2538         if available.  This applies to GCC versions 2.7 through 4.2, or
2539         when newer GCC is using -fgnu89-inline.  The goal is to address
2540         some of the performance issues mentioned by Bruno Haible in
2541         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2542
2543 2012-08-20  Eric Blake  <eblake@redhat.com>
2544
2545         maint.mk: avoid redundant file name in message
2546         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2547         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2548         (sc_makefile_path_separator_check): Remove bogus $(ME).
2549
2550 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2551
2552         timer-time: fix link order when static linking on glibc
2553         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2554         _after_ -lrt so that it's significant.
2555
2556 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2557
2558         timespec: omit unnecessary AC_C_INLINE
2559         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2560
2561         stat-time: omit unnecessary AC_C_INLINE
2562         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2563         Do not require AC_C_INLINE.
2564
2565         ignore-value: omit unnecessary AC_C_INLINE
2566         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2567
2568         sys_select: avoid 'static inline'
2569         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2570
2571         mktime: avoid 'static inline'
2572         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2573         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2574
2575 2012-08-19  Bruno Haible  <bruno@clisp.org>
2576
2577         gnulib-tool: Improve coding style.
2578         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2579         func_emit_lib_Makefile_am.
2580         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2581
2582 2012-08-19  Bruno Haible  <bruno@clisp.org>
2583
2584         gnulib-tool: Fix indentation.
2585         * gnulib-tool (func_import): Fix indentation.
2586
2587 2012-08-19  Bruno Haible  <bruno@clisp.org>
2588
2589         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2590         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2591         on the list of removed files.
2592
2593 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2594
2595         test-parse-datetime: avoid glibc leap-second glitch
2596         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2597         with the 2012 rules.  Problem reported by Bruce Dubbs in
2598         <http://bugs.gnu.org/12206>.
2599
2600 2012-08-14  Bruno Haible  <bruno@clisp.org>
2601
2602         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2603         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2604         from argument.
2605         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2606
2607 2012-08-14  Eric Blake  <eblake@redhat.com>
2608
2609         ldexp: relax license
2610         * modules/ldexp (License): Trivial relax, since the module only
2611         provides a permissively licensed m4 file.
2612
2613 2012-08-13  Bruno Haible  <bruno@clisp.org>
2614
2615         gnulib-tool: Fix persistence of --witness-c-macro option.
2616         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2617         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2618
2619 2012-08-11  Eric Blake  <eblake@redhat.com>
2620
2621         count-leading-zeros: use a lookup table on non-gcc compilers
2622         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2623         alternate implementation, suggested by Jim Meyering.
2624
2625 2012-08-10  Eric Blake  <eblake@redhat.com>
2626
2627         count-leading-zeros: new module
2628         * modules/count-leading-zeros: New module.
2629         * m4/count-leading-zeros.m4: New file.
2630         * lib/count-leading-zeros.h: Likewise.
2631         * modules/count-leading-zeros-tests: New test.
2632         * tests/test-count-leading-zeros.c: New file.
2633         * MODULES.html.sh (Integer arithmetic functions): Document it.
2634
2635 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2636             Jim Meyering  <meyering@redhat.com>
2637
2638         maintainer-makefile: Fix syntax error with dash.
2639         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2640         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2641
2642 2012-08-05  Jim Meyering  <meyering@redhat.com>
2643
2644         extern-inline: also ignore -Wmissing-declarations
2645         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2646         required with gcc-4.8.0-to-be.
2647
2648         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2649         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2650         for /error ?([^,]*)/.  This avoids false-positives for strings like
2651         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2652
2653 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2654
2655         gnumakefile: better interaction with Automake-NG
2656         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2657         Automake-NG always contain a definition of VPATH, even in non-VPATH
2658         builds (its value being simply '.' in that case).  So, in the
2659         'clean-GNUmakefile' rule, to determine whether running under a
2660         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2661         '$(VPATH)' expands to the empty string.
2662
2663 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2664
2665         base64: Use extern C scope in header file, for C++.
2666         * lib/base64.h: Add C++ namespace protection.
2667
2668 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2669
2670         stat-time, timespec, u64: support naive out-of-dir builds
2671         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2672         Use '#include "foo.h"', not '#include <foo.h>', when including
2673         one's own interface.  This works better when configuring with
2674         out-of-directory builds, since packages need not add an
2675         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2676
2677 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2678
2679         utimens: use extern-inline
2680         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2681         * lib/utimens.h: Add copyright notice, since this is now large enough
2682         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2683         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2684         * modules/utimens (Depends-on): Add extern-inline.
2685
2686         u64: use extern-inline
2687         * lib/u64.c: New file.
2688         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2689         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2690         * modules/u64 (Files): Add lib/u64.c.
2691         (Depends-on): Add extern-inline.
2692         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2693         does that now.
2694         (lib_SOURCES): Add u64.c.
2695
2696         timespec: use extern-inline
2697         * lib/timespec.c: New file.
2698         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2699         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2700         * modules/timespec (Files): Add lib/timespec.c.
2701         (Depends-on): Add extern-inline.
2702         (lib_SOURCES): Add timespec.c.
2703
2704         stat-time: use extern-inline
2705         * lib/stat-time.c: New file.
2706         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2707         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2708         * modules/stat-time (Files): Add lib/stat-time.c.
2709         (Depends-on): Add extern-inline.
2710         (lib_SOURCES): Add stat-time.c.
2711
2712         extern-inline: new module
2713         * modules/extern-inline, m4/extern-inline.m4: New files.
2714         This is for better support of 'extern inline' a la ISO C99,
2715         with a portable alternative on compilers that do not support
2716         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2717         of the Emacs executable, when compiled with debugging disabled,
2718         which is a typical way that Emacs is built while developing.
2719
2720 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2721
2722         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2723         * build-aux/do-release-commit-and-tag: Move variable definitions
2724         together.
2725         ($branch): Instead of defaulting to "master", default to the current
2726         branch (as gnu-web-doc-update does).
2727         (help): Display the current values of the option arguments.
2728         * top/maint.mk (release-commit): New.
2729         * top/README-release: Simplify the corresponding step.
2730
2731 2012-07-30  Eric Blake  <eblake@redhat.com>
2732
2733         passfd: fix comment on recvfd
2734         * lib/passfd.c (recvfd): Fix comment.
2735         Reported by Jann Horn <jannhorn@googlemail.com>.
2736
2737 2012-07-30  Jim Meyering  <meyering@redhat.com>
2738
2739         maint.mk: avoid a sub-shell
2740         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2741
2742 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2743
2744         maint.mk: use silent-rules support from Automake
2745         * top/maint.mk (news-check, vc-diff-check, announcement)
2746         (no-submodule-changes, alpha beta stable, release-prep)
2747         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2748
2749 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2750
2751         maint.mk: provide a web-manual-update target
2752         * top/maint.mk: here.
2753         * top/README-release: Use it to simplify the web manual update step.
2754
2755 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2756
2757         README-release: shorten the circuit to post a news
2758         * top/README-release: Point directly to the news submission form.
2759
2760 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2761
2762         gnu-web-doc-update: fix --help
2763         * build-aux/gnu-web-doc-update: The information "top level" was written
2764         twice.
2765
2766 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2767
2768         maint.mk: absolute VPATH issue
2769         * top/maint.mk (release-prep): Help Git find .git/.
2770         From Jim Meyering.
2771
2772 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2773
2774         gitlog-to-changelog: fix previous change
2775         * build-aux/gitlog-to-changelog: Fix condition.
2776         Add missing ";".
2777
2778 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2779
2780         gitlog-to-changelog: don't expect .git to be in $srcdir
2781         Reported by Bruno Haible.
2782         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2783         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2784         Use it.
2785
2786 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2787
2788         maint.mk: absolute VPATH build fix
2789         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2790         $(srcdir) is not a parent of $(builddir).
2791
2792 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2793
2794         clean-temp: Fix memory leak.
2795         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2796         'files' members of tmpdir.
2797
2798 2012-07-27  Jim Meyering  <meyering@redhat.com>
2799
2800         maint.mk: new rule: refresh-gnulib-patches
2801         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2802         Use this rule to refresh them.
2803         * top/maint.mk (refresh-gnulib-patches): New rule.
2804
2805 2012-07-24  Bruno Haible  <bruno@clisp.org>
2806
2807         gnulib-tool: Fix handling of inctests variable.
2808         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2809         Reported by Nick Bowler <nbowler@elliptictech.com>.
2810
2811 2012-07-22  Bruno Haible  <bruno@clisp.org>
2812
2813         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2814         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2815         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2816         Remove exemption for getpass.h.
2817         Suggested by Eric Blake.
2818
2819 2012-07-20  Eric Blake  <eblake@redhat.com>
2820
2821         verify: document conflict with -Wnested-externs
2822         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2823
2824         maint.mk: forbid exit(-1)
2825         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2826
2827 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2828
2829         fsusage: port back to Solaris
2830         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2831         error (fsd not declared) on Solaris 10.  Reported privately by
2832         Andrew Borodin.
2833
2834 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2835
2836         gnu-web-doc-update: fix error messages
2837         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2838
2839         gnu-web-doc-update: check the requirements.
2840         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2841         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2842         * build-aux/bootstrap (find_tool): Comment change.
2843
2844 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2845
2846         maint.mk: minor simplication.
2847         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2848         for default values.
2849
2850 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2851
2852         gitlog-to-changelog: VPATH build issues
2853         If builddir is not a subdirectory of srcdir, running git from it will
2854         fail.
2855         * build-aux/gitlog-to-changelog (--srcdir): New option.
2856
2857 2012-07-15  Bruno Haible  <bruno@clisp.org>
2858
2859         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2860         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2861         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2862         Remove exemption for fpending.h.
2863         Suggested by Eric Blake.
2864
2865 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2866
2867         pthread_sigmask: fix bug on FreeBSD 9
2868         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2869         Include string.h.
2870         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2871         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2872         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2873         but pthread_sigmask (1729, NULL, NULL) returns zero.
2874         See <http://bugs.gnu.org/11884>.
2875         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2876         by inspecting whether the main call changed the old mask.
2877
2878 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2879
2880         README-release: make it more legible
2881         * top/README-release: Improve typography slightly.
2882
2883 2012-07-15  Jim Meyering  <meyering@redhat.com>
2884
2885         maint: require that each sc_... command start with "@"
2886         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2887         "make sc_maint" helps us avoid this nit.
2888
2889 2012-07-15  Jim Meyering  <meyering@redhat.com>
2890
2891         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2892         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2893
2894 2012-07-13  Eric Blake  <eblake@redhat.com>
2895
2896         maint.mk: new syntax check for HAVE_DECL checks
2897         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2898         * cfg.mk
2899         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2900         Exempt some false positives.
2901         Based on a report by Karel Zak.
2902
2903         argp: make HAVE_DECL usage consistent
2904         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2905         macros, not whether they are defined.
2906         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2907         convention with other declaration checks.
2908         Reported by Karel Zak, with suggestions from Paul Eggert.
2909
2910         stat-time: relax license to LGPLv2+
2911         * modules/stat-time (License): Relax, with consent of all authors.
2912
2913         strndup: fix m4 usage error
2914         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2915         defined, to either 0 or 1.
2916         Reported by Karel Zak.
2917
2918 2012-07-11  Jim Meyering  <meyering@redhat.com>
2919
2920         maint: enable the sc_avoid_if_before_free syntax-check rule
2921         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2922         (if_before_free_offenders_): Define.
2923         (if_before_free_basename_re_): Define.
2924         Exempt current files with useless if-before-free.
2925
2926 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2927
2928         gettext: do not assume '#define ... defined ...' behavior
2929         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2930         Do not use '#define FOO ... defined BAR ...', as the C standard says
2931         it's not portable to expect that this works after macro expansion.
2932         Problem reported for gzip by Steven M. Schweda in
2933         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2934
2935 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2936
2937         getloadavg: clean out old Emacs and Autoconf cruft
2938         See Glenn Morris in <http://bugs.gnu.org/11905>.
2939         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2940         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2941         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2942         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2943
2944 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2945
2946         bootstrap: let warn be like tests/init.sh's warn_
2947         Reported by Jim Meyering.
2948         * build-aux/bootstrap (warn): Remove, replaced by...
2949         (warnf_, warn_): these.
2950         Adjust callers.
2951         Shorten messages that no longer fit in 80 columns.
2952
2953 2012-07-09  Bruno Haible  <bruno@clisp.org>
2954
2955         getopt: Simplify after Emacs changed.
2956         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2957         (gl_GETOPT_IFELSE): Remove macro.
2958
2959 2012-07-09  Jim Meyering  <meyering@redhat.com>
2960
2961         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2962         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2963
2964         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2965         Bugs in both of those conspired to make the
2966         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2967         _sc_search_regexp's handling of non-empty $in_files would filter
2968         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2969         choice of in_files value meant there would be no match in most
2970         projects, due to the presence of two or more Makefile.in files.
2971         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2972         Fix a bug in how a non-empty $$in_files was processed:
2973         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2974         in spite of the name, it's a regexp, not a list of file names.
2975
2976 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2977
2978         getloadavg, getopt: fix commentary re configure.in
2979         Autoconf is deprecating the name 'configure.in', so change it to
2980         to the new name 'configure.ac' in a couple of places.
2981         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2982         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2983         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2984         Emacs has renamed it to configure.ac, and it no longer refers
2985         to these macros anyway.
2986
2987         timespec: mark functions with const attributes
2988         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2989         Mark with _GL_ATTRIBUTE_CONST.
2990
2991 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2992
2993         canonicalize[-lgpl]: handle "guessing" values when cross-building
2994         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2995         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2996         matches "*yes" instead of just "yes".  Regression introduced in commit
2997         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2998
2999 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3000             Bruno Haible  <bruno@clisp.org>
3001
3002         canonicalize: make the right guess when cross-compiling to GNU
3003         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3004         determine whether cross-compiling to glibc systems, so as to
3005         include GNU/Hurd.
3006
3007 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3008
3009         timespec-sub: avoid duplicate include
3010         * lib/timespec-sub.c: Do not include <config.h> twice.
3011         Reported by Juanma Barranquero.
3012
3013 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3014
3015         bootstrap: use a more consistent error reporting scheme
3016         * build-aux/bootstrap (warn, die): New.
3017         Use them.
3018
3019 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3020
3021         sys_time: allow too-wide tv_sec
3022         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3023         timeval even if tv_sec is wider than time_t.  This allows
3024         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3025         as without this patch gnulib replaces struct timeval
3026         and OpenBSD futimes therefore has a type mismatch.
3027         * doc/posix-headers/sys_time.texi: Mention this.
3028
3029         pthread: check for both pthread_create and pthread_join
3030         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3031         alter the check so that it tests for both pthread_create and
3032         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3033         Suggested by Bruno Haible and Richard Yao in
3034         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3035
3036         parse-datetime: doc tuneup
3037         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3038         spacing issues.
3039
3040 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3041
3042         do-release-commit-and-tag: fix the previous commit
3043         * build-aux/do-release-commit-and-tag: Actually the test was right,
3044         but the comment and the error message were misleading.
3045         Fix comment, and improve error message.
3046         Perform check first, so that NEWS is not modified uselessly.
3047
3048         do-release-commit-and-tag: fix typo
3049         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3050         _not_ start with a stub.
3051
3052 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3053
3054         pthread: check for pthread_create, not pthread_join
3055         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3056         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3057         pthread_join in libc.  I hope this removes the need for all the
3058         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3059         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3060
3061 2012-07-04  Jim Meyering  <meyering@redhat.com>
3062
3063         parse-datetime: fix failure to diagnose invalid input
3064         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3065         rather than diagnosing the invalid input.  Now it reports this:
3066         date: invalid date '\260'
3067         * lib/parse-datetime.y (to_uchar): Define.
3068         (yylex): Don't sign-extend "other" bytes.
3069         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3070         Thanks to Bruno Haible for the patch to this file.
3071         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3072         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3073
3074 2012-07-03  Jim Meyering  <meyering@redhat.com>
3075
3076         bootstrap: do not require now-removed build-aux/missing
3077         Now that build-aux/missing is, er, missing, bootstrap would
3078         silently fail.
3079         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3080         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3081         no longer part of gnulib.
3082         Diagnose the failure.
3083
3084 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3085
3086         alloca: add support for HP NonStop TNS/E native
3087         * lib/alloca.in.h (alloca): Support the new host.
3088         From a suggestion by Joachim Schmitz in
3089         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3090
3091 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3092
3093         fsusage: remove code not needed on non GNU/Linux systems.
3094
3095         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3096         Don't include headers no longer needed in this case.
3097         * lib/fsusage.c [STAT_STATVFS &&
3098         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3099         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3100
3101 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3102
3103         fsusage: include files needed for glibc 2.6 fallback
3104         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3105         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3106         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3107         Problem reported by Ludovic Courtès in
3108         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3109
3110         fsusage: avoid needless check on GNU/Linux
3111         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3112         on GNU/Linux systems, since it can't possibly work.
3113
3114 2012-07-01  Bruno Haible  <bruno@clisp.org>
3115
3116         log: Fix an autoconf >= 2.64 warning.
3117         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3118         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3119
3120 2012-06-28  Bruno Haible  <bruno@clisp.org>
3121
3122         log10f: Fix possible configuration problem.
3123         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3124         $LOGF_LIBM.
3125         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3126
3127 2012-06-28  Bruno Haible  <bruno@clisp.org>
3128
3129         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3130         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3131         not gl_cv_func_unlink_works.
3132         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3133
3134 2012-06-27  Eric Blake  <eblake@redhat.com>
3135
3136         config: drop scripts that automake says are not independent
3137         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3138         * build-aux/elisp-comp: Delete.
3139         * build-aux/missing: Likewise.
3140         * build-aux/ylwrap: Likewise.
3141         * modules/elisp-comp: Likewise.
3142         * MODULES.html.sh: Drop mention of elisp-comp.
3143         * NEWS: Mention this.
3144
3145 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3146
3147         root-uid: new module
3148         This is for portability to Tandem's NonStop Kernel.
3149         * lib/root-uid.h, modules/root-uid: New files.
3150         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3151         * lib/write-any-file.c, tests/test-sethostname2.c:
3152         Include "root-uid.h".
3153         * lib/euidaccess.c (euidaccess):
3154         * lib/pt_chown.c (main):
3155         * lib/unlinkdir.c (cannot_unlink_dir):
3156         * lib/write-any-file.c (can_write_any_file):
3157         * m4/mknod.m4 (gl_FUNC_MKNOD):
3158         * tests/test-sethostname2.c (geteuid, main):
3159         Don't assume ROOT_UID == 0.
3160         * modules/euidaccess (Depends-on):
3161         * modules/pt_chown (Depends-on):
3162         * modules/sethostname-tests (Depends-on):
3163         * modules/unlinkdir (Depends-on):
3164         * modules/write-any-file (Depends-on):
3165         Add root-uid.
3166
3167         regex: use locale-independent comparison for codeset name
3168         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3169         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3170         for codeset name.
3171         * lib/regex_internal.h: Do not include <strings.h>, since we
3172         no longer use strcasecmp.
3173         * modules/regex (Depends-on): Remove strcase.
3174
3175 2012-06-23  Bruno Haible  <bruno@clisp.org>
3176
3177         getopt-posix: No longer guarantee that option processing is resettable.
3178         * doc/posix-functions/getopt.texi: Drop description of problem with
3179         internal state. Fix info about mingw and msvc9.
3180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3181         option processing by getopt(). Run three test programs instead of one.
3182         Simplify cross-compilation guess.
3183         * NEWS: Mention the change.
3184         Reported by Rich Felker <dalias@aerifal.cx>.
3185
3186 2012-06-26  Bruno Haible  <bruno@clisp.org>
3187
3188         argp, regex: Ensure strcasecmp gets declared.
3189         * lib/argp-help.c: Include <strings.h>.
3190         * lib/regex_internal.h: Likewise.
3191         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3192
3193 2012-06-24  Bruno Haible  <bruno@clisp.org>
3194
3195         ptsname_r: Make it consistent with ptsname on AIX.
3196         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3197         implementation as for OSF/1.
3198         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3199         a pty master.
3200
3201         ptsname_r: Make it consistent with ptsname on OSF/1.
3202         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3203         OSF/1.
3204
3205 2012-06-24  Bruno Haible  <bruno@clisp.org>
3206
3207         ttyname_r: Fix result on OSF/1, Solaris.
3208         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3209
3210 2012-06-24  Bruno Haible  <bruno@clisp.org>
3211
3212         ptsname_r: Add support for Solaris.
3213         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3214         Solaris.
3215
3216         ptsname_r: Fix test failure on native Windows.
3217         * modules/ptsname_r (Depends-on): Add isatty.
3218
3219         ptsname_r: Fix test failures on IRIX, Solaris.
3220         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3221         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3222         accordingly.
3223         * lib/ptsname_r.c: Include <fcntl.h>.
3224         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3225         set errno if fd is invalid.
3226         * tests/test-isatty.c (main): Update comments.
3227
3228 2012-06-24  Bruno Haible  <bruno@clisp.org>
3229
3230         ptsname test: Extend test.
3231         * tests/test-ptsname.c: Include <errno.h>.
3232         (main): Test behaviour with invalid file descriptor.
3233
3234 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3235
3236         time: fix obsolete comment
3237         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3238         reference to HAVE_STRUCT_TIMESPEC in comment.
3239
3240 2012-06-23  Bruno Haible  <bruno@clisp.org>
3241
3242         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3244         does not handle abbreviated long options with equivalent
3245         disambiguations, set gl_replace_getopt to yes.
3246         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3247
3248 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3249
3250         time_r: fix typo that always overrode localtime_r decl
3251         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3252         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3253         not in a standard include.
3254
3255 2012-06-22  Bruno Haible  <bruno@clisp.org>
3256
3257         Write "Mac OS X" instead of "MacOS X".
3258         * README: Write "Mac OS X" instead of "MacOS X".
3259         * build-aux/bootstrap: Likewise.
3260         * build-aux/install-reloc: Likewise.
3261         * lib/acl-internal.h: Likewise.
3262         * lib/acl_entries.c: Likewise.
3263         * lib/argp-ba.c: Likewise.
3264         * lib/argp-pv.c: Likewise.
3265         * lib/config.charset: Likewise.
3266         * lib/copy-acl.c: Likewise.
3267         * lib/csharpexec.c: Likewise.
3268         * lib/euidaccess.c: Likewise.
3269         * lib/fbufmode.c: Likewise.
3270         * lib/fflush.c: Likewise.
3271         * lib/file-has-acl.c: Likewise.
3272         * lib/filemode.h: Likewise.
3273         * lib/fpurge.c: Likewise.
3274         * lib/freadable.c: Likewise.
3275         * lib/freadahead.c: Likewise.
3276         * lib/freading.c: Likewise.
3277         * lib/freadptr.c: Likewise.
3278         * lib/freadseek.c: Likewise.
3279         * lib/fseeko.c: Likewise.
3280         * lib/fseterr.c: Likewise.
3281         * lib/fsusage.c: Likewise.
3282         * lib/fwritable.c: Likewise.
3283         * lib/fwriting.c: Likewise.
3284         * lib/get-rusage-as.c: Likewise.
3285         * lib/get-rusage-data.c: Likewise.
3286         * lib/getdomainname.c: Likewise.
3287         * lib/idpriv-drop.c: Likewise.
3288         * lib/idpriv-droptemp.c: Likewise.
3289         * lib/localcharset.c: Likewise.
3290         * lib/locale.in.h: Likewise.
3291         * lib/localename.c: Likewise.
3292         * lib/mbsrtowcs-state.c: Likewise.
3293         * lib/nproc.c: Likewise.
3294         * lib/passfd.c: Likewise.
3295         * lib/posix_openpt.c: Likewise.
3296         * lib/printf-parse.c: Likewise.
3297         * lib/progreloc.c: Likewise.
3298         * lib/safe-read.h: Likewise.
3299         * lib/safe-write.h: Likewise.
3300         * lib/sched.in.h: Likewise.
3301         * lib/set-mode-acl.c: Likewise.
3302         * lib/signal.in.h: Likewise.
3303         * lib/stdint.in.h: Likewise.
3304         * lib/stdio-impl.h: Likewise.
3305         * lib/stdlib.in.h: Likewise.
3306         * lib/strtod.c: Likewise.
3307         * lib/sys_select.in.h: Likewise.
3308         * lib/tcgetsid.c: Likewise.
3309         * lib/unistd.in.h: Likewise.
3310         * lib/unlockpt.c: Likewise.
3311         * lib/vasnprintf.c: Likewise.
3312         * lib/vma-iter.c: Likewise.
3313         * lib/wcsrtombs-state.c: Likewise.
3314         * m4/acl.m4: Likewise.
3315         * m4/acosl.m4: Likewise.
3316         * m4/asinl.m4: Likewise.
3317         * m4/atanl.m4: Likewise.
3318         * m4/c-stack.m4: Likewise.
3319         * m4/cosl.m4: Likewise.
3320         * m4/expl.m4: Likewise.
3321         * m4/extensions.m4: Likewise.
3322         * m4/fdatasync.m4: Likewise.
3323         * m4/fmal.m4: Likewise.
3324         * m4/frexp.m4: Likewise.
3325         * m4/frexpf.m4: Likewise.
3326         * m4/frexpl.m4: Likewise.
3327         * m4/fsusage.m4: Likewise.
3328         * m4/getdomainname.m4: Likewise.
3329         * m4/getloadavg.m4: Likewise.
3330         * m4/getopt.m4: Likewise.
3331         * m4/gettext.m4: Likewise.
3332         * m4/gnulib-common.m4: Likewise.
3333         * m4/intdiv0.m4: Likewise.
3334         * m4/intlmacosx.m4: Likewise.
3335         * m4/largefile.m4: Likewise.
3336         * m4/ldexpl.m4: Likewise.
3337         * m4/link-follow.m4: Likewise.
3338         * m4/locale-ar.m4: Likewise.
3339         * m4/locale-fr.m4: Likewise.
3340         * m4/locale-ja.m4: Likewise.
3341         * m4/locale-tr.m4: Likewise.
3342         * m4/locale-zh.m4: Likewise.
3343         * m4/locale_h.m4: Likewise.
3344         * m4/lock.m4: Likewise.
3345         * m4/logl.m4: Likewise.
3346         * m4/mathfunc.m4: Likewise.
3347         * m4/minus-zero.m4: Likewise.
3348         * m4/mktime.m4: Likewise.
3349         * m4/mmap-anon.m4: Likewise.
3350         * m4/multiarch.m4: Likewise.
3351         * m4/nanosleep.m4: Likewise.
3352         * m4/nocrash.m4: Likewise.
3353         * m4/poll.m4: Likewise.
3354         * m4/printf-frexpl.m4: Likewise.
3355         * m4/printf.m4: Likewise.
3356         * m4/signbit.m4: Likewise.
3357         * m4/sinl.m4: Likewise.
3358         * m4/sqrtl.m4: Likewise.
3359         * m4/strerror_r.m4: Likewise.
3360         * m4/tanl.m4: Likewise.
3361         * m4/threadlib.m4: Likewise.
3362         * m4/ttyname_r.m4: Likewise.
3363         * m4/unlink.m4: Likewise.
3364         * m4/visibility.m4: Likewise.
3365         * m4/wcwidth.m4: Likewise.
3366         * tests/minus-zero.h: Likewise.
3367         * tests/test-alloca-opt.c: Likewise.
3368         * tests/test-copy-acl.sh: Likewise.
3369         * tests/test-copy-file.sh: Likewise.
3370         * tests/test-fdatasync.c: Likewise.
3371         * tests/test-file-has-acl.sh: Likewise.
3372         * tests/test-flock.c: Likewise.
3373         * tests/test-fsync.c: Likewise.
3374         * tests/test-localename.c: Likewise.
3375         * tests/test-malloca.c: Likewise.
3376         * tests/test-nonblocking-pipe.h: Likewise.
3377         * tests/test-nonblocking-socket.h: Likewise.
3378         * tests/test-openpty.c: Likewise.
3379         * tests/test-posix_openpt.c: Likewise.
3380         * tests/test-ptsname.c: Likewise.
3381         * tests/test-ptsname_r.c: Likewise.
3382         * tests/test-sameacls.c: Likewise.
3383         * tests/test-select.h: Likewise.
3384         * tests/test-set-mode-acl.sh: Likewise.
3385         * tests/test-snprintf-posix.h: Likewise.
3386         * tests/test-sprintf-posix.h: Likewise.
3387         * tests/test-strtod.c: Likewise.
3388         * tests/test-time.c: Likewise.
3389         * tests/test-vasnprintf-posix.c: Likewise.
3390         * tests/test-vasprintf-posix.c: Likewise.
3391         * doc/acl-resources.txt: Likewise.
3392         * doc/**/*.texi: Likewise.
3393         Reported by Max Horn <max@quendi.de>.
3394
3395 2012-06-22  Bruno Haible  <bruno@clisp.org>
3396
3397         grantpt: Relax requirement regarding invalid file descriptors.
3398         * lib/grantpt.c: Don't include <fcntl.h>.
3399         (grantpt): Don't verify the validity of the file descriptor.
3400         * modules/grantpt (Depends-on): Remove fcntl-h.
3401         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3402         file descriptors.
3403         * doc/posix-functions/grantpt.texi: Document more platforms on which
3404         grantpt succeeds for invalid file descriptors.
3405         Reported by Rich Felker <dalias@aerifal.cx>.
3406
3407 2012-06-22  Bruno Haible  <bruno@clisp.org>
3408
3409         fbufmode test: Don't test unportable behaviour.
3410         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3411         (main): Invoke it three times.
3412         Reported by Szabolcs Nagy <nsz@port70.net>
3413         and Rich Felker <dalias@aerifal.cx>.
3414
3415 2012-06-21  Bruno Haible  <bruno@clisp.org>
3416
3417         gnulib-tool: Refactor inctests variable.
3418         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3419         (func_modules_transitive_closure,
3420         func_modules_transitive_closure_separately,
3421         func_import, func_create_testdir): Update.
3422
3423         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3424         * gnulib-tool: Accept option --without-tests.
3425         (func_usage): Document --without-tests option. Rearrange.
3426         (inctests): Normalize according to the mode.
3427         * NEWS: Mention the change.
3428         Suggested by Simon Josefsson.
3429
3430 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3431
3432         parse-duration test: Avoid spurious output.
3433         * tests/test-parse-duration.sh: Reindent with leading tabs.
3434
3435 2012-06-21  Jim Meyering  <meyering@redhat.com>
3436
3437         maint: disable the strncpy prohibition
3438         * cfg.mk: Do not prohibit strncpy here.
3439
3440 2012-06-21  Bruno Haible  <bruno@clisp.org>
3441
3442         nonblocking: Avoid compilation error on mingw64.
3443         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3444         fscanf.
3445         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3446         * modules/vfscanf (configure.ac): Likewise.
3447         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3448         definition only if stdio.h has prepared it.
3449         Reported by Daniel P. Berrange <berrange@redhat.com>.
3450
3451 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3452
3453         gnulib-tool: Use readlink if it is available.
3454         * gnulib-tool (func_readlink): Choose function more appropriately.
3455
3456 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3457
3458         posixtm-tests: port to buggy compiler
3459         Problem reported by Simon Josefsson in
3460         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3461         * modules/posixtm-tests (Depends-on): Add stdint.
3462         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3463         Now of type int_least64_t, not int64_t, both because that's
3464         what INT64_C returns and because int_least64_t works even
3465         on 72-bit hosts.
3466         (T): Use INT64_C on constants outside the traditional int range,
3467         to work around compiler bug noted by Simon.
3468
3469         mktime: fix integer overflow in 'configure'-time test
3470         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3471         after integer overflow.  Problem reported by Rich Felker in
3472         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3473         Also, don't look for further instances of a bug if we've already
3474         found one instance; this helps 'configure' run faster.
3475
3476 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3477
3478         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3479         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3480         GetVersionEx correctly.
3481         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3482
3483 2012-06-20  Bruno Haible  <bruno@clisp.org>
3484
3485         fdopen: Allow implementations that don't reject invalid fd arguments.
3486         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3487         succeeds.
3488         Reported by Rich Felker <dalias@aerifal.cx>.
3489
3490 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3491
3492         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3493         bring in LIBINTL.
3494
3495 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3496
3497         init.sh: do not rely on autoupated PWD
3498         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3499         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3500         Although Nelson's bug was not necessarily fixed by this patch,
3501         it seems wise to make the change for safety.
3502         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3503         automagically after 'cd'; this is not reliable on older shells.
3504         (setup_): Fail if we cannot cd to temporary directory.
3505
3506 2012-06-19  Bruno Haible  <bruno@clisp.org>
3507
3508         stat, fstat: Avoid warnings on mingw64.
3509         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3510         redefining.
3511         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3512         Reported by Daniel P. Berrange <berrange@redhat.com>.
3513
3514 2012-06-19  Bruno Haible  <bruno@clisp.org>
3515
3516         stdioext: Add support for musl libc.
3517
3518         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3519         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3520
3521         * m4/fseterr.m4: New file.
3522         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3523         function exists.
3524         * modules/fseterr (Files): Add m4/fseterr.m4.
3525         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3526         __fseterr does not exist.
3527         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3528
3529         * lib/freadable.h: Update comment.
3530
3531         * lib/fwritable.h: Update comment.
3532
3533         * lib/freading.h: Update comment.
3534
3535         * lib/fwriting.h: Update comment.
3536
3537         * m4/freadahead.m4: New file.
3538         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3539         that function exists.
3540         * modules/freadahead (Files): Add m4/freadahead.m4.
3541         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3542         __freadahead does not exist.
3543         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3544
3545         * m4/freadptr.m4: New file.
3546         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3547         function exists.
3548         * modules/freadptr (Files): Add m4/freadptr.m4.
3549         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3550         __freadptr does not exist.
3551         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3552
3553         * m4/freadseek.m4: New file.
3554         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3555         exists.
3556         * modules/freadseek (Files): Add m4/freadseek.m4.
3557         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3558
3559         * lib/fpurge.c (fpurge): Update comment.
3560
3561         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3562
3563 2012-06-19  Bruno Haible  <bruno@clisp.org>
3564
3565         *printf-posix: Put more info into config.log.
3566         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3567         exit code into config.log.
3568
3569 2012-06-19  Bruno Haible  <bruno@clisp.org>
3570
3571         getopt-gnu: Fix exit code overflow in autoconf test.
3572         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3573         to keep them below < 128.
3574
3575 2012-06-17  Jim Meyering  <meyering@redhat.com>
3576
3577         maint.mk: fix typo in code to derive GPG key at release time
3578         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3579
3580 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3581
3582         regex: avoid warning when pointers are not long
3583         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3584         and uintptr_t, not long, for portability to hosts where pointers and
3585         long have different sizes.  Issue noted by Daniel P. Berrange in
3586         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3587         and fix suggested by Bruno Haible in
3588         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3589
3590 2012-06-17  Bruno Haible  <bruno@clisp.org>
3591
3592         dummy: Relicense into the public domain.
3593         * modules/dummy (License): Set to "public domain".
3594         Suggested by Reuben Thomas.
3595
3596 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3597
3598         announce-gen: VPATH issues
3599         * build-aux/announce-gen (--srcdir): New option, used to trim the
3600         $srcdir part of the path from $builddir to NEWS.
3601         * top/maint.mk (announcement): Adjust.
3602
3603 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3604
3605         gnu-web-doc-update: VPATH builds
3606         * build-aux/gnu-web-doc-update (--builddir): New option.
3607         Revamp the handling of options.
3608         Prefer $(...) to `...`.
3609         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3610         the template, and it is GNU mktemp specific.
3611         Prefer set -e to long series of &&.
3612         Restore the initial git branch, not "master".
3613         Properly initialize submodules (don't rely only on bootstrap).
3614         Do not reconfigure blindly, use config.status.
3615         * top/README-release: Update instructions for gnu-web-doc-update.
3616
3617 2012-06-11  Jim Meyering  <meyering@redhat.com>
3618
3619         maint.mk: revert most of the previous change re "all these"
3620         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3621         For rationale, see the discussion at
3622         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3623
3624 2012-06-10  Karl Berry  <karl@gnu.org>
3625
3626         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3627
3628         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3629
3630 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3631
3632         parse-duration: Relicense under LGPLv2+.
3633         * modules/parse-duration (License): Change to LGPLv2+.
3634
3635 2012-06-10  Jim Meyering  <meyering@redhat.com>
3636
3637         maint.mk: prohibit common grammar error: "all these"
3638         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3639         the list of prohibited word sequences.  It should be "all of these".
3640         * lib/tempname.c (__gen_tempname): Fix one of them.
3641
3642 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3643
3644         do-release-commit-and-tag: support VPATH builds
3645         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3646         (noteworthy): Defined earlier to factor its value.
3647         (noteworthy_stub): New.
3648         Use it to factor.
3649         (help_version): Split into...
3650         (help, version): these.
3651         Adjust the option processing part.
3652         Support "--option=value" in addition to "--option value".
3653         (builddir): New.
3654         (--builddir): New option.
3655         * top/README-release: Document this.
3656         Reword slightly so that the reader cannot understand that he
3657         has to do these steps before calling do-release-commit-and-tag.
3658
3659 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3660
3661         readme-release: also require announce-gen and maintainer-makefile
3662         * modules/readme-release (Depends-on): here.
3663         * modules/announce-gen, modules/do-release-commit-and-tag,
3664         modules/gnu-web-doc-update, modules/maintainer-makefile
3665         (Description): Point to readme-release.
3666
3667 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3668
3669         maint.mk: fix VPATH issues.
3670         * top/maint.mk (news-check): GNU Make understand $< very well.
3671         (release-prep): NEWS is in $(srcdir).
3672
3673 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3674
3675         readme-release: require the promoted modules.
3676         * modules/readme-release (Depends-on): Add
3677         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3678         in this text.
3679
3680 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3681             Bruno Haible  <bruno@clisp.org>
3682
3683         error, strerror-override: Support mingw64 from Fedora 17.
3684         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3685         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3686         EINPROGRESS.
3687         * lib/strerror-override.h (strerror_override): Test it.
3688         * lib/strerror-override.c (strerror_override): Likewise.
3689         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3690
3691 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3692             Bruno Haible  <bruno@clisp.org>
3693
3694         error, strerror-override: Support mingw64 from Fedora 17.
3695         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3696         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3697         * lib/strerror-override.h (strerror_override): Test it.
3698         * lib/strerror-override.c (strerror_override): Likewise.
3699
3700 2012-06-03  Bruno Haible  <bruno@clisp.org>
3701
3702         error, strerror-override: Support new errno values from POSIX:2008.
3703         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3704         ENOTRECOVERABLE.
3705         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3706         platforms.
3707         * lib/strerror-override.c (strerror_override): Conditionalize the
3708         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3709         * lib/strerror-override.h (strerror_override): Declare also if
3710         GNULIB_defined_EOWNERDEAD is defined.
3711         * tests/test-errno.c (e130, e131): New variables.
3712         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3713         ENOTRECOVERABLE.
3714         Reported by Paolo Bonzini.
3715
3716 2012-05-31  Jim Meyering  <meyering@redhat.com>
3717
3718         savewd: add missing dependency on sys_wait module
3719         * modules/savewd (Depends-on): Add sys_wait, needed at least
3720         for MSVC.  Report and suggested change by Michael Goffioul.
3721
3722 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3723
3724         system-quote-tests: port to CentOS 5
3725         Problem reported by Tom G. Christensen in
3726         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3727         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3728
3729 2012-05-29  Jim Meyering  <meyering@redhat.com>
3730
3731         maint: fix typos in comments and ChangeLog
3732         Culprits identified and fixed mostly automatically using these commands:
3733         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3734         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3735         using http://github.com/lyda/misspell-check
3736         * ChangeLog: Fix typos.
3737         * doc/solaris-versions: Likewise.
3738         * lib/regexec.c (re_search_stub): Likewise.
3739         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3740
3741 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3742
3743         manywarnings: remove duplicate -Wmultichar entry
3744         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3745         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3746         so keep the entry marked as documented.
3747
3748 2012-05-27  Karl Berry  <karl@gnu.org>
3749
3750         * config/srclist.txt (mktime.c): remove last libc sync,
3751         perhaps just temporarily.
3752
3753 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3754
3755         regex: don't assume uint64_t or uint32_t
3756         * lib/regcomp.c (init_word_char): Don't assume that the types
3757         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3758         them, and on some 32-bit compilers there is no uint64_t.
3759         Problem reported by Gianluigi Tiesi in
3760         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3761
3762 2012-05-25  Jim Meyering  <meyering@redhat.com>
3763
3764         maint.mk: add strncpy-prohibiting syntax-check rule
3765         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3766
3767 2012-05-24  Jim Meyering  <meyering@redhat.com>
3768
3769         maint.mk: compute $(gpg_key_ID) more portably
3770         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3771         That use of sed is not portable to some fringe systems.
3772         Reported by Paul Eggert in
3773         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3774
3775 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3776
3777         mktime: sync from glibc
3778         * config/srclist.txt: Uncomment mktime.c.
3779         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3780         First, indent with tabs, since glibc uses tabs and doesn't want to
3781         change and we'd rather be identical to glibc.  Also, two small
3782         coding changes:
3783         (isdst_differ): Use &&, not &, as && is the usual style.
3784         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3785         for clarity.
3786
3787 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3788
3789         announce-gen: du -h is more portable than du --human
3790         * build-aux/announce-gen (sizes): Invoke du with -h instead
3791         of --human.  Accept leading white space in its output.
3792
3793 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3794
3795         announce-gen: Improve diagnostics.
3796         * build-aux/announce-gen: When parsing command line options,
3797         prefer "announce-gen: option --release-type requires an argument"
3798         to "Option release-type requires an argument".
3799
3800 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3801
3802         maint.mk: gpg_key_ID: use sed more portably
3803         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3804         the closing brace.
3805         (refresh-po): Fuse two sed invocations into one.
3806
3807 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3808
3809         gitlog-to-changelog: support the log message format used in Bison.
3810         * build-aux/gitlog-to-changelog: Support --strip-tab and
3811         --strip-cherry-picked.
3812
3813 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3814
3815         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3816         the rest of the current time slice to another thread in the current
3817         process. So if the thread that feeds the file decscriptor we're
3818         polling is not in the current process, we get busy-waiting.
3819         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3820         Patch from Theodore Leblond.
3821         * lib/select.c: Split polling out of the loop that sets the output
3822         fd_sets.  Check for zero result and loop if the wait timeout is
3823         infinite.
3824
3825 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3826
3827         select: Fix build error on IRIX 6.5.
3828         * lib/select.c: Include stddef.h for NULL.
3829
3830 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3831
3832         gc: fix libgcrypt detection on older machines.
3833         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3834         copyright years because the file has been distributed every year
3835         since it was created.
3836
3837 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3838
3839         crypto: fix bug in large buffer handling
3840         Problem reported by Serge Belyshev for glibc in
3841         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3842         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3843         * lib/md4.c (md4_process_block):
3844         * lib/md5.c (md5_process_block):
3845         * lib/sha1.c (sha1_process_block):
3846         * lib/sha256.c (sha256_process_block):
3847         Don't assume the buffer length is less than 2**32.
3848         * lib/sha512.c (sha512_process_block): Likewise.
3849         Here, the bug is present only in the rare case where the host does
3850         not support uint64_t or where size_t is wider than 64 bits.
3851         Use u64size to work around the problems.
3852         * lib/u64.h (u64size): New macro.
3853
3854 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3855
3856         fsusage: fix block size returned on older Linux 2.6
3857
3858         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3859         which is available since Linux 2.6.
3860         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3861         when the member is available so it can be used as a fallback.
3862         * doc/posix-functions/statvfs.texi: Mention the hang issue
3863         on Linux < 2.6.36.
3864
3865 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3866
3867         bootstrap: suppress stderr chatter
3868         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3869         Omit unnecessary chatter to stderr.  The main program chatter
3870         was there only inadvertantly.
3871
3872         bootstrap: .gitignore files created by autopoint, libtool
3873         I ran into this problem when bootstrapping the latest diffutils.
3874         After './bootstrap', 'git status' reported lots of untracked files
3875         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3876         autopoint and do not need to be version-controlled.
3877         * build-aux/bootstrap: Put into .gitignore the files that
3878         autopoint and libtool create, by keeping track of files that exist
3879         after but not before these programs are run.
3880         (version_controlled_file): Move up.  2nd arg is now full file
3881         name, not base name; this is more convenient.  Put CVS at the end,
3882         as it's now somewhat deprecated.
3883
3884 2012-05-14  Jim Meyering  <meyering@redhat.com>
3885
3886         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3887         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3888         definition.  Reported by Bruno Haible.
3889
3890 2012-05-13  Bruno Haible  <bruno@clisp.org>
3891             Paul Eggert  <eggert@cs.ucla.edu>
3892
3893         binary-io: Define set_binary_mode function.
3894         * lib/binary-io.h (set_binary_mode): New function.
3895         (SET_BINARY): Define in terms of set_binary_mode.
3896         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3897         * tests/test-binary-io.c (main): Accept an argument, and test either
3898         set_binary_mode or SET_BINARY depending on the argument.
3899         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3900         argument. Clean up also t-bin-out0.tmp.
3901
3902 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3903
3904         bootstrap: take advantage of POSIX shell features
3905
3906         The 'bootstrap' script offered by Gnulib script already uses POSIX
3907         shell features (like $((...)) arithmetic expansions) that are not
3908         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3909         means that bootstrap must already be run using a proper POSIX shell,
3910         which will thus provide more features, like ${var#pattern} parameter
3911         expansion or inversion of a command exit status with '!'.  We can
3912         thus use these features to improve the clarity and the performances
3913         of the bootstrap script.
3914
3915         Suggested by Eric Blake.
3916
3917         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3918         of sed/expr plus command substitutions, to save some forks.  While
3919         we are at it, prefer the POSIX $(...) form of command substitution,
3920         rather than the legacy form `...` (since the former is visually
3921         clearer and interacts better with quoting), and prefer the idiom:
3922           "if ! CMD; then ACTION ..."
3923         over the idiom:
3924           "if CMD; then :; else ACTION ..."
3925         which was required by legacy Bourne shells not supporting '!'.
3926
3927 2012-05-12  Bruno Haible  <bruno@clisp.org>
3928
3929         system-quote: Add more comments.
3930         * lib/system-quote.h: Add more comments about wilcards and limitations.
3931         Suggested by Eli Zaretskii <eliz@gnu.org>.
3932
3933         sh-quote, system-quote: Add comments about wildcards.
3934         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3935         * lib/system-quote.h: Likewise.
3936         Reported by Eli Zaretskii <eliz@gnu.org>.
3937
3938 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3939
3940         fsusage: check for GNU/Linux statvfs problem dynamically
3941         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3942         Define STAT_STATFS2_BSIZE too, since in this case the code now
3943         checks dynamically whether statvfs is reliable, falling back on
3944         Linux-style statfs otherwise.
3945         (statvfs_works): New function, for dynamically testing statvfs.
3946         (get_fs_usage) [STAT_STATVFS]: Use it.
3947         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3948         statvfs on GNU/Linux hosts, since it's now done dynamically.
3949
3950 2012-05-10  Bruno Haible  <bruno@clisp.org>
3951
3952         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3953         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3954         '?' character.
3955         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3956         * tests/test-system-quote-main.c (check_all): Check also strings like
3957         "??????????".
3958         Reported by Eli Zaretskii <eliz@gnu.org>.
3959
3960 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3961
3962         _Noreturn: port config.h to gcc -Wundef
3963         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3964         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3965         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3966
3967 2012-05-10  Bruno Haible  <bruno@clisp.org>
3968
3969         system-quote: Refactor.
3970         * lib/system-quote.h (system_quote_copy): Fix comment.
3971         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3972         New functions, extracted from system_quote_copy.
3973         (system_quote_length, system_quote_copy): Use these functions.
3974         Reported by Paul Eggert.
3975
3976 2012-05-08  Bruno Haible  <bruno@clisp.org>
3977
3978         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3979         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3980
3981 2012-05-08  Bruno Haible  <bruno@clisp.org>
3982
3983         Tests for module 'system-quote'.
3984         * modules/system-quote-tests: New file.
3985         * tests/test-system-quote.sh: New file.
3986         * tests/test-system-quote-main.c: New file.
3987         * tests/test-system-quote-child.c: New file.
3988
3989         New module 'system-quote'.
3990         * lib/system-quote.h: New file.
3991         * lib/system-quote.c: New file.
3992         * modules/system-quote: New file.
3993
3994 2012-05-08  Bruno Haible  <bruno@clisp.org>
3995
3996         sh-quote: Make C++ safe and allow multiple inclusion.
3997         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3998         declarations in extern "C".
3999
4000 2012-05-08  Bruno Haible  <bruno@clisp.org>
4001
4002         sh-quote tests: Make tests stricter.
4003         * tests/test-sh-quote.c (check_one): Check the return value of
4004         shell_quote_copy.
4005         (main): Check a string with a CR character. Check a string that
4006         contains UCHAR_MAX.
4007
4008 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4009
4010         warnings.m4: provide a means to specify the program to compile.
4011         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4012         (gl_WARN_ADD): here.
4013         Use gl_AS_VAR_APPEND.
4014         Support an argument to specify the program to compile.
4015         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4016         AC_SUBST the WARN_CFLAGS when they are used.
4017         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4018         leave this to gl_WARN_ADD.
4019
4020 2012-05-08  Eric Blake  <eblake@redhat.com>
4021
4022         doc: recommendations on gettext version
4023         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4024         choice between versions.
4025         * DEPENDENCIES (gettext): Cover both approaches.
4026
4027 2012-05-08  Jim Meyering  <meyering@redhat.com>
4028
4029         init.sh: explain why EXEEXT support uses aliases rather than functions
4030         * tests/init.sh: Add a comment.
4031
4032         init.sh: don't let bash aliases interfere with tests
4033         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4034         is bash.  This avoids problems for those who alias standard commands to
4035         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4036         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4037
4038 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4039
4040         stdint: be more consistent with glibc, SunOS libc
4041         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4042         (gl_int_fast16_t, gl_uint_fast16_t)
4043         (gl_int_fast32_t, gl_uint_fast32_t)
4044         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4045         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4046         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4047         Be consistent with glibc by default, and with SunOS 5.10 and later
4048         if __sun is defined.  This lessens the likelihood of clashes if
4049         code compiled for older hosts is combined with code compiled for
4050         newer ones.  Problem reported by Niels Möller in
4051         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4052
4053 2012-05-07  Eric Blake  <eblake@redhat.com>
4054
4055         isatty: relax license to LGPLv2+
4056         * modules/isatty (License): Relax license.
4057
4058 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4059
4060         stat-size: comment fix
4061         * lib/stat-size.h: Remove obsolete comment about indenting.
4062
4063 2012-05-06  Bruno Haible  <bruno@clisp.org>
4064
4065         Tests for module 'sh-quote'.
4066         * modules/sh-quote-tests: New file.
4067         * tests/test-sh-quote.c: New file.
4068
4069 2012-05-06  Bruno Haible  <bruno@clisp.org>
4070
4071         sh-quote: Improve shell_quote_argv's signature.
4072         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4073         * lib/sh-quote.c (shell_quote_argv): Likewise.
4074
4075 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4076
4077         stdint: document issues with int_fast8_t etc.
4078         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4079         stdint.h substitutes may define these types differently.  See
4080         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4081
4082 2012-05-05  Bruno Haible  <bruno@clisp.org>
4083
4084         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4085         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4086         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4087         or 'guessing no (mishandles large arguments)'.
4088
4089 2012-05-05  Bruno Haible  <bruno@clisp.org>
4090
4091         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4092         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4093         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4094         set gl_cv_func_link_follows_symlink to "guessing no".
4095
4096 2012-05-05  Bruno Haible  <bruno@clisp.org>
4097
4098         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4099         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4100         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4101         "guessing no".
4102         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4103
4104 2012-05-05  Bruno Haible  <bruno@clisp.org>
4105
4106         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4107         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4108         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4109         set gl_cv_struct_dirent_d_ino to "guessing yes".
4110
4111 2012-05-05  Bruno Haible  <bruno@clisp.org>
4112
4113         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4114         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4115         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4116         "guessing yes".
4117
4118 2012-05-05  Bruno Haible  <bruno@clisp.org>
4119
4120         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4121         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4122         compiling to a glibc system, set gl_cv_func_signbit and
4123         gl_cv_func_signbit_gcc to "guessing yes".
4124
4125 2012-05-05  Bruno Haible  <bruno@clisp.org>
4126
4127         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4128         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4129         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4130         to "guessing yes".
4131         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4132         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4133
4134 2012-05-05  Bruno Haible  <bruno@clisp.org>
4135
4136         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4137         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4138         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4139         gl_cv_func_realpath_works to "guessing yes".
4140
4141 2012-05-05  Bruno Haible  <bruno@clisp.org>
4142
4143         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4144         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4145         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4146
4147 2012-05-04  Bruno Haible  <bruno@clisp.org>
4148
4149         Tweak last commit.
4150         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4151         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4152
4153 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4154
4155         unistd_h: make it easier to avoid sys_types_h
4156         This is useful for Emacs, which has its own method of porting to
4157         Windows, and which therefore does not need the sys_types_h module.
4158         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4159         code moved here from gl_SYS_TYPES_H.
4160         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4161         using the code directly.
4162         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4163         gl_SYS_TYPES_H.
4164         * modules/sys_types (Files):
4165         * modules/unistd (Files): Add m4/off_t.m4.
4166
4167 2012-05-03  Bruno Haible  <bruno@clisp.org>
4168
4169         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4170         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4171         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4172         "guessing yes" or "guessing no".
4173         (gl_FUNC_LSTAT): Update.
4174         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4175         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4176         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4177
4178 2012-05-03  Bruno Haible  <bruno@clisp.org>
4179
4180         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4181         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4182         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4183         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4184         cross-compiling, choose the first alternative on glibc systems.
4185         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4186
4187 2012-05-03  Bruno Haible  <bruno@clisp.org>
4188
4189         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4190         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4191         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4192
4193 2012-05-03  Bruno Haible  <bruno@clisp.org>
4194
4195         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4196         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4197
4198 2012-05-03  Bruno Haible  <bruno@clisp.org>
4199
4200         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4201         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4202         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4203         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4204         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4205         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4206         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4207         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4208         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4209         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4210         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4211         gl_cv_func_chown_ctime_works to "guessing yes".
4212         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4213         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4214         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4215         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4216         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4217         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4218         compiling to glibc systems, set gl_cv_func_open_directory_works to
4219         "guessing yes".
4220         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4221         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4222         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4223         "guessing yes".
4224         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4225         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4226         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4227         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4228         "guessing yes".
4229         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4230         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4231         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4232         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4233         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4234         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4235         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4236         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4237         "guessing yes".
4238         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4239         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4240         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4241         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4242         "guessing yes".
4243         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4244         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4245         "guessing yes".
4246         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4247         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4248         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4249         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4250         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4251         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4252         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4253         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4254         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4255         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4256         "guessing yes".
4257         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4258         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4259         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4260         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4261         "guessing yes".
4262         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4263         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4264         "guessing yes".
4265         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4266         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4267         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4268         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4269         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4270         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4271         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4272         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4273         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4274         "guessing yes".
4275         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4276         compiling to glibc systems, set gl_cv_func_mknod_works to
4277         "guessing yes".
4278         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4279         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4280         "guessing yes".
4281         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4282         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4283         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4284         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4285         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4286         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4287         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4288         compiling to glibc systems, set gl_cv_func_svid_putenv to
4289         "guessing yes".
4290         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4291         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4292         "guessing yes".
4293         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4294         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4295         "guessing yes".
4296         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4297         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4298         to "guessing yes".
4299         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4300         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4301         to "guessing yes".
4302         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4303         compiling to glibc systems, set gl_cv_func_rmdir_works to
4304         "guessing yes".
4305         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4306         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4307         gl_cv_func_unlink_parent_fails to "guessing yes".
4308         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4309         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4310         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4311         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4312         gl_cv_func_rename_dest_works to "guessing yes".
4313         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4314         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4315         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4316         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4317         "guessing yes".
4318         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4319         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4320         "guessing yes".
4321         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4322         compiling to glibc systems, set gl_cv_func_setenv_works to
4323         "guessing yes".
4324         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4325         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4326         "guessing yes".
4327         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4328         compiling to glibc systems, set gl_cv_func_sleep_works to
4329         "guessing yes".
4330         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4331         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4332         "guessing yes".
4333         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4334         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4335         "guessing yes".
4336         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4337         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4338         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4339         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4340         "guessing yes".
4341         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4342         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4343         "guessing yes".
4344         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4345         compiling to glibc systems, set gl_cv_func_usleep_works to
4346         "guessing yes".
4347         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4348         compiling to glibc systems, set gl_cv_func_futimesat_works to
4349         "guessing yes".
4350
4351 2012-05-03  Bruno Haible  <bruno@clisp.org>
4352
4353         Say "guessing yes" or "guessing no" when cross-compiling.
4354         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4355         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4356         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4357         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4358         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4359         am_cv_func_working_getline to "guessing yes" or "guessing no".
4360         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4361         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4362         (gl_FUNC_MEMMEM): When cross-compiling, set
4363         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4364         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4365         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4366         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4367         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4368         "guessing no".
4369         (gl_FUNC_STRCASESTR): When cross-compiling, set
4370         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4371         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4372         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4373         (gl_FUNC_STRSTR): When cross-compiling, set
4374         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4375         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4376         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4377         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4378         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4379
4380 2012-05-01  Bruno Haible  <bruno@clisp.org>
4381
4382         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4383         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4384         * build-aux/reloc-ldflags: Likewise.
4385         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4386
4387 2012-05-01  Bruno Haible  <bruno@clisp.org>
4388
4389         gnulib-tool: Remove transitional code.
4390         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4391         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4392
4393 2012-05-01  Bruno Haible  <bruno@clisp.org>
4394
4395         getcwd: Fix misindentation.
4396         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4397
4398 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4399
4400         exclude: process exclude and include directives in order
4401         This restores the pre-2009 behavior, and is part of a fix of a
4402         grep bug reported by Quentin Arce in
4403         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4404         * lib/exclude.c (struct exclude): Remove 'tail' member.
4405         (new_exclude_segment): Prepend the new segment instead of appending.
4406         Return void, since that's now more convenient.
4407         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4408         (file_name_matches): Renamed from excluded_file_name_p.
4409         (file_pattern_matches, file_name_matches):
4410         Return true if the pattern matches, not if it excludes.
4411         All callers changed.
4412         (excluded_file_name): Process the list in reverse order;
4413         since the list is now reversed this restores the pre-2009 behavior.
4414         (add_exclude): Adjust to new reversed-order list.  Use local var
4415         rather than macro, for clarity.
4416         * tests/test-exclude7.sh: Adjust to corrected behavior.
4417
4418         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4419         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4420         it's not possible here.  Handle the case of \ at end of pattern
4421         without dumping core.
4422         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4423
4424         _Noreturn: future-proof non-GNU and non-MSVC compilers
4425         * build-aux/snippet/_Noreturn.h (_Noreturn):
4426         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4427         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4428         C11 or later.  This is more likely to work with random future C
4429         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4430         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4431
4432         exclude: handle wildcards with FNM_EXTMATCH
4433         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4434         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4435         comment that "has wildcards" really means "has or may have
4436         wildcards".  Simplify by avoiding the need to call strcspn.
4437
4438 2012-04-29  Bruno Haible  <bruno@clisp.org>
4439
4440         gnulib-tool: Fix list of authors.
4441         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4442
4443 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4444
4445         bootstrap: support Automake-NG in $buildreq
4446         * bootstrap (check_versions): Handle automake and aclocal from
4447         Automake-NG specially.  They can be specified as respectively
4448         the "automake-ng" and "aclocal-ng" requirements.
4449
4450 2012-04-25  Eric Blake  <eblake@redhat.com>
4451
4452         bootstrap: only force latest Makefile.in.in for gettext module
4453         * build-aux/bootstrap (with_gettext): Only install latest
4454         Makefile.in.in for projects requesting bleeding edge gettext.
4455
4456 2012-04-22  Bruno Haible  <bruno@clisp.org>
4457
4458         doc: Mention reason for replacement on glibc/Linux systems.
4459         * doc/posix-functions/dprintf.texi: Mention the problem with special
4460         'long double' values.
4461         * doc/posix-functions/fprintf.texi: Likewise.
4462         * doc/posix-functions/printf.texi: Likewise.
4463         * doc/posix-functions/snprintf.texi: Likewise.
4464         * doc/posix-functions/sprintf.texi: Likewise.
4465         * doc/posix-functions/vdprintf.texi: Likewise.
4466         * doc/posix-functions/vfprintf.texi: Likewise.
4467         * doc/posix-functions/vprintf.texi: Likewise.
4468         * doc/posix-functions/vsnprintf.texi: Likewise.
4469         * doc/posix-functions/vsprintf.texi: Likewise.
4470         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4471         platforms with F_DUPFD_CLOEXEC problems.
4472         * doc/posix-functions/glob.texi: Mention which platforms are affected
4473         by the problem with symbolic links.
4474         * doc/posix-functions/linkat.texi: Mention the problem with
4475         AT_SYMLINK_FOLLOW on Linux.
4476
4477 2012-04-22  Bruno Haible  <bruno@clisp.org>
4478
4479         pwrite: Don't replace on all platforms.
4480         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4481
4482 2012-04-22  Bruno Haible  <bruno@clisp.org>
4483
4484         rint* tests: Avoid gcc warnings.
4485         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4486         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4487         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4488
4489 2012-04-21  Bruno Haible  <bruno@clisp.org>
4490
4491         users.txt: Update.
4492         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4493         switched from CVS to git, bzr, or svn.
4494
4495 2012-04-21  Bruno Haible  <bruno@clisp.org>
4496
4497         Large File Support for native Windows platforms.
4498
4499         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4500         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4501
4502         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4503         type.
4504         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4505         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4506         * doc/posix-headers/sys_types.texi: Mention the effect of the
4507         'largefile' module.
4508
4509         * lib/fcntl.in.h: Add comments about off_t.
4510         * modules/fcntl-h (Depends-on): Add sys_types.
4511
4512         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4513         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4514         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4515         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4516         * modules/unistd (Depends-on): Add sys_types.
4517         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4518
4519         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4520         instead of lseek.
4521         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4522         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4523         * modules/lseek (Depends-on): Add sys_types.
4524
4525         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4526         msvc-nothrow.h.
4527         (SetFileSize): New function.
4528         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4529         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4530         if Large File Support is requested.
4531         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4532         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4533
4534         * lib/stdio.in.h: Add comments about off_t.
4535         * modules/stdio (Depends-on): Add sys_types.
4536
4537         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4538         instead of ftello.
4539         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4540         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4541         (gl_PREREQ_FTELLO): New macro.
4542         * modules/ftello (Depends-on): Add sys_types.
4543         (configure.ac): Incoke gl_PREREQ_FTELLO.
4544
4545         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4546         instead of fseeko.
4547         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4548         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4549         (gl_PREREQ_FSEEKO): New macro.
4550         * modules/fseeko (Depends-on): Add sys_types.
4551         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4552
4553         * lib/sys_stat.in.h: Add comments about off_t.
4554         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4555         64-bit integer for st_size in 'struct stat'.
4556         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4557         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4558         * modules/sys_stat (Depends-on): Add sys_types.
4559         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4560
4561         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4562         instead of stat or _stat.
4563
4564         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4565         'struct _stati64' instead of fstat and 'struct stat'.
4566         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4567         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4568
4569         Reported by Ray Satiro <raysatiro@yahoo.com>.
4570
4571 2012-04-19  Eric Blake  <eblake@redhat.com>
4572
4573         bootstrap: accommodate older libtool
4574         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4575         Reported by Daniel P. Berrange.
4576
4577 2012-04-19  Jim Meyering  <meyering@redhat.com>
4578
4579         announce-gen: avoid failure due to lack of Digest::SHA1
4580         Even with the preferred Digest::SHA available, this script
4581         would fail when the backup module, Digest::SHA1, was not installed.
4582         * build-aux/announce-gen: Quote the conditional use of "use".
4583         Reported by Reuben Thomas in:
4584         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4585
4586         bootstrap: don't let a user's CDPATH setting affect this script
4587         When CDPATH is set, cd will sometimes generate output.
4588         When "cd" is run in a subshell whose output matters, that
4589         surprising-to-some output can cause malfunction.
4590         Unsetting CDPATH turns off this shell "feature."
4591         * build-aux/bootstrap (CDPATH): Unset.
4592         Reported by Reuben Thomas in:
4593         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4594         and inspired by his patch here:
4595         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4596
4597 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4598         and Jim Meyering  <meyering@redhat.com>
4599
4600         maint.mk: catch "see @xref{}" and similar
4601         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4602         prohibit "See also @xref{", "Also see @pxref{", and similar.
4603
4604 2012-04-16  Jim Meyering  <meyering@redhat.com>
4605
4606         bootstrap: really use gnulib's po/Makefile.in.in
4607         * build-aux/bootstrap: Correct the source file name in previous change.
4608         Reported by Akim Demaille.
4609
4610         configmake: correct minor inconsistency in Makefile rule
4611         * modules/configmake (Makefile.am): All other rules like this one
4612         run the final "mv -f ..." in the same backslash-continued command
4613         as the one that does everything else.  This one put the mv -f ...
4614         command on a separate, non-backslash-continued line.
4615         Make it like the others.
4616
4617         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4618         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4619         the one from gettext.  Reported by Akim Demaille.
4620
4621 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4622
4623         Fix recursion of install-* into po directories.
4624         Bison's install-pdf bug reported by Hans Aberg at
4625         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4626         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4627         (install-info, install-pdf, install-ps): New targets.
4628
4629 2012-04-16  Jim Meyering  <meyering@redhat.com>
4630
4631         maint: avoid spurious "make sc_maint" failure
4632         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4633         exempt all *.class file names, for lib/javaversion.class.
4634
4635 2012-04-15  Bruno Haible  <bruno@clisp.org>
4636
4637         lseek: Make configure test independent of environment.
4638         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4639         Windows, we know that lseek() on pipes is broken; skip the runtime
4640         test.
4641
4642 2012-04-14  Bruno Haible  <bruno@clisp.org>
4643
4644         stat: Bypass buggy override in mingw64.
4645         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4646         * lib/stat.c (stat) [mingw64]: Define to _stat.
4647         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4648
4649 2012-04-14  Bruno Haible  <bruno@clisp.org>
4650
4651         pathmax: Fix compilation error on MSVC 9.
4652         * modules/pathmax (Depends-on): Add unistd.
4653
4654 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4655
4656         README: document pointer comparison assumption
4657         * README (Portability guidelines): Document assumption about
4658         pointer comparisons, in response to a recent bug-gnulib comment by
4659         Jeffrey Kegler.
4660
4661 2012-04-12  Bruno Haible  <bruno@clisp.org>
4662
4663         Tests for module 'getrusage'.
4664         * modules/getrusage-tests: New file.
4665         * tests/test-getrusage.c: New file.
4666
4667         New module 'getrusage'.
4668         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4669         warn-on-use.h.
4670         (getrusage): New declaration.
4671         * lib/getrusage.c: New file.
4672         * m4/getrusage.m4: New file.
4673         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4674         is declared.
4675         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4676         HAVE_GETRUSAGE.
4677         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4678         snippet/c++defs, snippet/warn-on-use.
4679         (Makefile.am): Update generation of sys/resource.h. Substitute
4680         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4681         * modules/getrusage: New file.
4682         * doc/posix-functions/getrusage.texi: Mention the new module.
4683
4684 2012-04-12  Bruno Haible  <bruno@clisp.org>
4685
4686         Tests for module 'sys_resource'.
4687         * modules/sys_resource-tests: New file.
4688         * tests/test-sys_resource.c: New file.
4689
4690         New module 'sys_resource'.
4691         * lib/sys_resource.in.h: New file.
4692         * m4/sys_resource_h.m4: New file.
4693         * modules/sys_resource: New file.
4694         * doc/posix-headers/sys_resource.texi: Mention the new module.
4695
4696 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4697
4698         ioctl: Fix compilation error on mingw.
4699         * lib/ioctl.c: Include <windows.h>.
4700         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4701
4702 2012-04-04  Jim Meyering  <meyering@redhat.com>
4703
4704         regex: correct #pragma guard expression
4705         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4706         not 4.3.  Correct its cpp guard expression.
4707
4708 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4709
4710         regex: remove unnecessary type punning
4711         Problem reported by Vladimir Serbinenko in
4712         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4713         * lib/regex.h (struct re_pattern_buffer): Change the type of
4714         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4715         Fix comment to match code.
4716         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4717         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4718         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4719         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4720         (set_regs):
4721         Omit no-longer-necessary casts.
4722
4723 2012-04-03  Bruno Haible  <bruno@clisp.org>
4724
4725         Tests for module 'ilogbl'.
4726         * modules/ilogbl-tests: New file.
4727         * tests/test-ilogbl.c: New file.
4728
4729         New module 'ilogbl'.
4730         * lib/math.in.h (ilogbl): New declaration.
4731         * lib/ilogbl.c: New file.
4732         * m4/ilogbl.m4: New file.
4733         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4734         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4735         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4736         Split sed invocation, to avoid the limit of 100 substitutions of
4737         HP-UX 'sed'.
4738         * modules/ilogbl: New file.
4739         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4740         * doc/posix-functions/ilogbl.texi: Mention the new module.
4741
4742 2012-04-03  Bruno Haible  <bruno@clisp.org>
4743
4744         Tests for module 'ilogbf'.
4745         * modules/ilogbf-tests: New file.
4746         * tests/test-ilogbf.c: New file.
4747
4748         New module 'ilogbf'.
4749         * lib/math.in.h (ilogbf): New declaration.
4750         * lib/ilogbf.c: New file.
4751         * m4/ilogbf.m4: New file.
4752         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4753         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4754         REPLACE_ILOGBF.
4755         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4756         REPLACE_ILOGBF.
4757         * modules/ilogbf: New file.
4758         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4759         * doc/posix-functions/ilogbf.texi: Mention the new module.
4760
4761 2012-04-03  Bruno Haible  <bruno@clisp.org>
4762
4763         Tests for module 'ilogb'.
4764         * modules/ilogb-tests: New file.
4765         * tests/test-ilogb.c: New file.
4766         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4767         tests/test-logb-ieee.h.
4768
4769         New module 'ilogb'.
4770         * lib/math.in.h (ilogb): New declaration.
4771         * lib/ilogb.c: New file.
4772         * m4/ilogb.m4: New file.
4773         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4774         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4775         REPLACE_ILOGB.
4776         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4777         REPLACE_ILOGB.
4778         * modules/ilogb: New file.
4779         * tests/test-math-c++.cc: Check the declaration of ilogb.
4780         * doc/posix-functions/ilogb.texi: Mention the new module.
4781
4782 2012-04-03  Bruno Haible  <bruno@clisp.org>
4783
4784         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4785         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4786         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4787         (main): Check their values.
4788         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4789         problem.
4790
4791 2012-04-03  Bruno Haible  <bruno@clisp.org>
4792
4793         Tests for module 'logbl-ieee'.
4794         * modules/logbl-ieee-tests: New file.
4795         * tests/test-logbl-ieee.c: New file.
4796
4797         New module 'logbl-ieee'.
4798         * modules/logbl-ieee: New file.
4799
4800         Tests for module 'logb-ieee'.
4801         * modules/logb-ieee-tests: New file.
4802         * tests/test-logb-ieee.c: New file.
4803
4804         New module 'logb-ieee'.
4805         * modules/logb-ieee: New file.
4806
4807         Tests for module 'logbf-ieee'.
4808         * modules/logbf-ieee-tests: New file.
4809         * tests/test-logbf-ieee.c: New file.
4810         * tests/test-logb-ieee.h: New file.
4811
4812         New module 'logbf-ieee'.
4813         * modules/logbf-ieee: New file.
4814
4815 2012-04-03  Bruno Haible  <bruno@clisp.org>
4816
4817         Tests for module 'logbl'.
4818         * modules/logbl-tests: New file.
4819         * tests/test-logbl.c: New file.
4820
4821         New module 'logbl'.
4822         * lib/math.in.h (logbl): New declaration.
4823         * lib/logbl.c: New file.
4824         * m4/logbl.m4: New file.
4825         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4826         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4827         REPLACE_LOGBL.
4828         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4829         REPLACE_LOGBL.
4830         * modules/logbl: New file.
4831         * tests/test-math-c++.cc: Check the declaration of logbl.
4832         * doc/posix-functions/logbl.texi: Mention the new module.
4833
4834 2012-04-02  Bruno Haible  <bruno@clisp.org>
4835
4836         Tests for module 'logbf'.
4837         * modules/logbf-tests: New file.
4838         * tests/test-logbf.c: New file.
4839
4840         New module 'logbf'.
4841         * lib/math.in.h (logbf): New declaration.
4842         * lib/logbf.c: New file.
4843         * m4/logbf.m4: New file.
4844         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4846         REPLACE_LOGBF.
4847         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4848         REPLACE_LOGBF.
4849         * modules/logbf: New file.
4850         * tests/test-math-c++.cc: Check the declaration of logbf.
4851         * doc/posix-functions/logbf.texi: Mention the new module.
4852
4853 2012-04-02  Bruno Haible  <bruno@clisp.org>
4854
4855         logb tests: More tests.
4856         * tests/test-logb.h: New file, based on tests/test-logb.c and
4857         tests/test-frexp.h.
4858         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4859         (main): Just invoke test_function.
4860         * modules/logb-tests (Files): Add tests/test-logb.h,
4861         tests/minus-zero.h, tests/randomd.c.
4862         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4863
4864         logb: Provide replacement and workarounds.
4865         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4866         is 1.
4867         * lib/logb.c: New file.
4868         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4869         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4871         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4872         * modules/logb (Files): Add lib/logb.c.
4873         (Depends-on): Add isfinite, frexp, isnand.
4874         (configure.ac): Compile the replacement code logb.c if needed.
4875         * tests/test-math-c++.cc: Check the declaration of logb.
4876         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4877         with subnormal numbers.
4878
4879 2012-04-02  Bruno Haible  <bruno@clisp.org>
4880
4881         log10* tests: Speed up.
4882         * tests/test-log10.h (test_function): Reduce amount of random numbers
4883         to test.
4884
4885 2012-04-01  Bruno Haible  <bruno@clisp.org>
4886
4887         logf-ieee: Fix test whether logf works.
4888         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4889
4890 2012-04-01  Bruno Haible  <bruno@clisp.org>
4891
4892         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4893         * lib/log10l.c: Include <float.h>
4894         (log10l): On IRIX, normalize the +Infinity value.
4895         * modules/log10l (Depends-on): Add 'float'.
4896         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4897         +Infinity.
4898
4899         log10f-ieee: Work around test failure on NetBSD 5.1.
4900         * m4/log10f-ieee.m4: New file.
4901         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4902         test whether log10f works with a negative argument. Replace it if not.
4903         * lib/log10f.c (log10f): For negative arguments, return NaN.
4904         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4905         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4906         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4907
4908         log10f-ieee: Work around test failure on Solaris 9.
4909         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4910         (configure.ac): Require gl_FUNC_LOG10F.
4911
4912         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4913         * m4/log10-ieee.m4: New file.
4914         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4915         whether log10 works with a negative argument. Replace it if not.
4916         * lib/log10.c (log10): For negative arguments, return NaN.
4917         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4918         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4919         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4920
4921         Tests for module 'log10l-ieee'.
4922         * modules/log10l-ieee-tests: New file.
4923         * tests/test-log10l-ieee.c: New file.
4924
4925         New module 'log10l-ieee'.
4926         * modules/log10l-ieee: New file.
4927
4928         Tests for module 'log10-ieee'.
4929         * modules/log10-ieee-tests: New file.
4930         * tests/test-log10-ieee.c: New file.
4931
4932         New module 'log10-ieee'.
4933         * modules/log10-ieee: New file.
4934
4935         Tests for module 'log10f-ieee'.
4936         * modules/log10f-ieee-tests: New file.
4937         * tests/test-log10f-ieee.c: New file.
4938         * tests/test-log10-ieee.h: New file.
4939
4940         New module 'log10f-ieee'.
4941         * modules/log10f-ieee: New file.
4942
4943 2012-04-01  Bruno Haible  <bruno@clisp.org>
4944
4945         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4946         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4947         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4948         workaround.
4949         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4950         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4952         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4953         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4954         (Depends-on): Update conditions.
4955         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4956         IRIX 6.5, OSF/1 5.1 problems.
4957
4958 2012-04-01  Bruno Haible  <bruno@clisp.org>
4959
4960         log10f: Work around OSF/1 5.1 bug.
4961         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4962         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4963         workaround.
4964         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4965         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4967         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4968         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4969         (Depends-on): Update conditions.
4970         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4971
4972 2012-04-01  Bruno Haible  <bruno@clisp.org>
4973
4974         log10: Work around OSF/1 5.1 bug.
4975         * lib/math.in.h (log10): New declaration.
4976         * lib/log10.c: New file.
4977         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4978         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4979         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4981         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4982         * modules/log10 (Files): Add lib/log10.c.
4983         (Depends-on): Add math.
4984         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4985         * tests/test-math-c++.cc: Check the declaration of log10.
4986         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4987
4988 2012-03-31  Bruno Haible  <bruno@clisp.org>
4989
4990         log10l tests: More tests.
4991         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4992         tests/minus-zero.h, tests/randoml.c.
4993         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4994         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4995         (main): Invoke test_function.
4996
4997         log10f tests: More tests.
4998         * modules/log10f-tests (Files): Add tests/test-log10.h,
4999         tests/minus-zero.h, tests/randomf.c.
5000         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5001         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5002         (main): Invoke test_function.
5003
5004         log10 tests: More tests.
5005         * tests/test-log10.h: New file.
5006         * modules/log10-tests (Files): Add tests/test-log10.h,
5007         tests/minus-zero.h, tests/randomd.c.
5008         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5009         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5010         (main): Invoke test_function.
5011
5012 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5013
5014         fflush: Fix syntax error.
5015         * lib/fflush.c: Include unused-parameter.h, needed for
5016         _GL_UNUSED_PARAMETER.
5017         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5018
5019 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5020
5021         regex: pacify GCC when compiling GRUB
5022         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5023         a diagnostic.  Reported by Vladimir Serbinenko in
5024         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5025
5026 2012-03-29  Eric Blake  <eblake@redhat.com>
5027
5028         stdio: don't assume gets any more
5029         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5030         support.
5031         * modules/stdio (Makefile.am): Likewise.
5032         * lib/stdio-read.c (gets): Likewise.
5033         * tests/test-stdio-c++.cc: Likewise.
5034         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5035         * lib/stdio.in.h (gets): Make warning occur in more places.
5036         * doc/posix-functions/gets.texi (gets): Update documentation.
5037         Reported by Christer Solskogen.
5038
5039         maint.mk: fix syntax checks without exclusions
5040         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5041         Reported by Daniel P. Berrange.
5042
5043         strerror_r: avoid compiler warning
5044         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5045         level.
5046
5047         fflush: avoid compiler warning
5048         * lib/fflush.c (update_fpos_cache): Mark variables that are
5049         potentially unused.
5050
5051 2012-03-25  Bruno Haible  <bruno@clisp.org>
5052
5053         Tests for module 'localeconv'.
5054         * modules/localeconv-tests: New file.
5055         * tests/test-localeconv.c: New file.
5056
5057         New module 'localeconv'.
5058         * lib/locale.in.h (localeconv): New declaration.
5059         * lib/localeconv.c: New file.
5060         * m4/localeconv.m4: New file.
5061         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5062         REPLACE_LOCALECONV.
5063         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5064         REPLACE_LOCALECONV.
5065         * modules/localeconv: New file.
5066         * modules/nl_langinfo (Depends-on): Add localeconv.
5067         * modules/human (Depends-on): Likewise.
5068         * doc/posix-functions/localeconv.texi: Mention the new module.
5069
5070 2012-03-25  Bruno Haible  <bruno@clisp.org>
5071
5072         locale: Provide a complete 'struct lconv'.
5073         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5074         'struct lconv' does not contain int_p_cs_precedes.
5075         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5076         * doc/posix-headers/locale.texi: Update.
5077
5078         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5079         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5080         * doc/posix-headers/locale.texi: Update.
5081
5082         locale: Provide a working 'struct lconv'.
5083         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5084         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5085         'struct lconv' does not even contain decimal_point.
5086         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5087         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5088         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5089         * doc/posix-headers/locale.texi: Mention the problems with
5090         'struct lconv'.
5091         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5092
5093 2012-03-24  Bruno Haible  <bruno@clisp.org>
5094
5095         Enable common subexpression optimization in GCC.
5096         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5097         macros.
5098         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5099         GCC attribute 'const'.
5100         (uc_locale_language): Declare with GCC attribute 'pure'.
5101         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5102         with GCC attribute 'const'.
5103         * lib/unictype.in.h (uc_is_general_category_withtable,
5104         uc_combining_class, uc_combining_class_name,
5105         uc_combining_class_long_name, uc_bidi_class_name,
5106         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5107         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5108         uc_decimal_value, uc_digit_value, uc_numeric_value,
5109         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5110         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5111         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5112         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5113         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5114         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5115         Declare with GCC attribute 'const'.
5116         (uc_general_category_name, uc_general_category_long_name,
5117         uc_general_category_byname, uc_general_category,
5118         uc_is_general_category, uc_combining_class_byname,
5119         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5120         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5121         Declare with GCC attribute 'pure'.
5122         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5123         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5124         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5125         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5126         with GCC attribute 'pure'.
5127         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5128         'const'.
5129         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5130         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5131         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5132         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5133         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5134         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5135         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5136         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5137         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5138         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5139         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5140         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5141         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5142         GCC attribute 'pure'.
5143         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5144         'const'.
5145         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5146         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5147         u32_strwidth): Declare with GCC attribute 'pure'.
5148
5149         Enable common subexpression optimization in GCC.
5150         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5151         (alphasort): Declare with GCC attribute 'pure'.
5152         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5153         (atoll): Declare with GCC attribute 'pure'.
5154         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5155         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5156         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5157         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5158         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5159         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5160         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5161
5162 2012-03-24  Bruno Haible  <bruno@clisp.org>
5163
5164         gnulib-tool: Avoid unintended error output from 'cmp'.
5165         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5166         "cmp -s", not "cmp > /dev/null".
5167
5168 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5169
5170         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5171
5172         It's not just Automake versions < 1.9b that creates an empty
5173         pkgdatadir at installation time if pkgdata_DATA is specified
5174         to empty; modern automake versions do this as well, at least
5175         until automake 1.11.4 (not yet released at the moment of writing,
5176         but soon to appear).  That behaviour was generally considered a
5177         feature rather than a bug, at least until this discussion:
5178         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5179
5180         See also automake bugs #10997 and #11030.
5181
5182         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5183         reference to relevant automake bug numbers.
5184         (func_emit_tests_Makefile_am): Likewise.
5185
5186 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5187
5188         announce-gen: use Digest::SHA when possible
5189         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5190         back to Digest::SHA1 if necessary.
5191
5192 2012-03-20  Jim Meyering  <meyering@redhat.com>
5193
5194         tests: avoid gcc warnings about argv vs. const initializers
5195         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5196         warnings about discarding 'const' qualifier from pointer target type.
5197         * tests/test-posix_spawn2.c (main): Likewise.
5198
5199 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5200
5201         README-release: simplify slightly
5202         * top/README-release: Run "git checkout master" only once.
5203
5204 2012-03-15  Mark Wielaard  <mark@klomp.org>
5205
5206         git-merge-changelog: add specific example on how to use with hg.
5207         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5208
5209 2012-03-18  Mark Wielaard  <mark@klomp.org>
5210
5211         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5212
5213 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5214
5215         git-version-gen: don't let "prefix" envvar cause trouble
5216         * build-aux/git-version-gen (prefix): Initialize properly,
5217         so as not to use a value specified via the environment.
5218         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5219
5220 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5221
5222         regex: diagnose too-large repeat counts in EREs
5223         Previously, the code did not diagnose the too-large repeat count
5224         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5225         as if it were 'b\{1000000000}', which is unexpected.
5226         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5227         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5228         is a reasonable one for this problem.  Another option would be to
5229         create a new REG_OVERFLOW error for repeat counts that are too large.
5230         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5231         count is too large, so that the caller can distinguish the two cases.
5232         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5233         "Too large" return code, and that repeat counts are one example of this.
5234
5235 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5236
5237         doc: some glibc x32 integer width issues
5238         * doc/posix-headers/sys_types.texi (sys/types.h):
5239         * doc/posix-headers/time.texi (time.h):
5240         Mention that glibc x32 does not conform to POSIX in a couple of
5241         areas related to integer widths.
5242
5243 2012-03-15  Bruno Haible  <bruno@clisp.org>
5244
5245         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5246         * lib/fma.c (VOLATILE): New macro.
5247         (FUNC): Use it to work around a GCC compiler bug.
5248
5249 2012-03-13  Bruno Haible  <bruno@clisp.org>
5250
5251         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5252         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5253         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5254         REPLACE_HYPOTL to 1.
5255         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5256
5257 2012-03-13  Bruno Haible  <bruno@clisp.org>
5258
5259         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5260         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5261         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5262         REPLACE_REMAINDERL to 1.
5263         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5264         bug.
5265
5266 2012-03-13  Bruno Haible  <bruno@clisp.org>
5267
5268         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5269         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5270         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5271         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5272         too big rounding errors.
5273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5274         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5275         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5276         (Depends-on): Update conditions.
5277         * tests/test-sqrtl.c (my_ldexpl): New function.
5278         (main): Add test of a particular value.
5279         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5280
5281 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5282
5283         doc: Update timer_* platform portability notes.
5284         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5285         that always return ENOSYS.
5286         * doc/posix-functions/timer_delete.texi: Likewise.
5287         * doc/posix-functions/timer_gettime.texi: Likewise.
5288         * doc/posix-functions/timer_settime.texi: Likewise.
5289
5290 2012-03-13  Bruno Haible  <bruno@clisp.org>
5291
5292         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5293         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5294         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5295         REPLACE_CBRTL to 1.
5296         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5297
5298 2012-03-13  Bruno Haible  <bruno@clisp.org>
5299
5300         remainderl: Avoid compilation error on AIX >= 5.2.
5301         * lib/math.in.h (remainderl): Undefine macro from the system header.
5302
5303 2012-03-13  Bruno Haible  <bruno@clisp.org>
5304
5305         Avoid compilation errors with MSVC option -fp:strict.
5306         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5307         * lib/cbrtf.c: Likewise.
5308         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5309
5310 2012-03-12  Bruno Haible  <bruno@clisp.org>
5311
5312         uninorm: Don't crash in out-of-memory conditions.
5313         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5314         gracefully.
5315         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5316         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5317
5318 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5319
5320         quote: fix syntax-check
5321         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5322         also exports quote_quoting_options.
5323
5324 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5325
5326         Collapse list of copyright years to ranges.  See
5327         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5328         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5329         build-aux/csharpexec.sh.in, build-aux/gnupload,
5330         build-aux/install-reloc, build-aux/javacomp.sh.in,
5331         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5332         build-aux/move-if-change, build-aux/reloc-ldflags,
5333         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5334
5335 2012-03-11  Bruno Haible  <bruno@clisp.org>
5336
5337         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5338         * m4/log2f-ieee.m4: New file.
5339         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5340         whether log2f works with a minus zero argument. Replace it if not.
5341         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5342         (Depends-on): Add log2-ieee.
5343         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5344         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5345
5346         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5347         * m4/log2-ieee.m4: New file.
5348         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5349         whether log2 works with a minus zero argument. Replace it if not.
5350         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5351         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5352         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5353
5354         Tests for module 'log2l-ieee'.
5355         * modules/log2l-ieee-tests: New file.
5356         * tests/test-log2l-ieee.c: New file.
5357
5358         New module 'log2l-ieee'.
5359         * modules/log2l-ieee: New file.
5360
5361         Tests for module 'log2-ieee'.
5362         * modules/log2-ieee-tests: New file.
5363         * tests/test-log2-ieee.c: New file.
5364
5365         New module 'log2-ieee'.
5366         * modules/log2-ieee: New file.
5367
5368         Tests for module 'log2f-ieee'.
5369         * modules/log2f-ieee-tests: New file.
5370         * tests/test-log2f-ieee.c: New file.
5371         * tests/test-log2-ieee.h: New file.
5372
5373         New module 'log2f-ieee'.
5374         * modules/log2f-ieee: New file.
5375
5376 2012-03-11  Bruno Haible  <bruno@clisp.org>
5377
5378         Tests for module 'log2l'.
5379         * modules/log2l-tests: New file.
5380         * tests/test-log2l.c: New file.
5381
5382         New module 'log2l'.
5383         * lib/math.in.h (log2l): New declaration.
5384         * lib/log2l.c: New file.
5385         * m4/log2l.m4: New file.
5386         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5387         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5388         REPLACE_LOG2L.
5389         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5390         REPLACE_LOG2L.
5391         * modules/log2l: New file.
5392         * tests/test-math-c++.cc: Check the declaration of log2l.
5393         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5394         and OSF/1 problems.
5395
5396 2012-03-11  Bruno Haible  <bruno@clisp.org>
5397
5398         Tests for module 'log2f'.
5399         * modules/log2f-tests: New file.
5400         * tests/test-log2f.c: New file.
5401
5402         New module 'log2f'.
5403         * lib/math.in.h (log2f): New declaration.
5404         * lib/log2f.c: New file.
5405         * m4/log2f.m4: New file.
5406         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5408         REPLACE_LOG2F.
5409         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5410         REPLACE_LOG2F.
5411         * modules/log2f: New file.
5412         * tests/test-math-c++.cc: Check the declaration of log2f.
5413         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5414         and OSF/1 and Cygwin problems.
5415
5416 2012-03-11  Bruno Haible  <bruno@clisp.org>
5417
5418         Tests for module 'log2'.
5419         * modules/log2-tests: New file.
5420         * tests/test-log2.c: New file.
5421         * tests/test-log2.h: New file.
5422
5423         New module 'log2'.
5424         * lib/math.in.h (log2): New declaration.
5425         * lib/log2.c: New file.
5426         * m4/log2.m4: New file.
5427         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5428         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5429         REPLACE_LOG2.
5430         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5431         REPLACE_LOG2.
5432         * modules/log2: New file.
5433         * tests/test-math-c++.cc: Check the declaration of log2.
5434         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5435         and OSF/1 and Cygwin problems.
5436
5437 2012-03-11  Bruno Haible  <bruno@clisp.org>
5438
5439         exp2* tests: More tests.
5440         * tests/test-exp2.h (test_function): Test all integral arguments that
5441         don't need to overflow or denormalized numbers.
5442         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5443         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5444         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5445
5446 2012-03-10  Bruno Haible  <bruno@clisp.org>
5447
5448         log1pl-ieee: Work around test failure on AIX 7.1.
5449         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5450
5451         log1pl-ieee: Work around test failure on IRIX 6.5.
5452         * m4/log1pl-ieee.m4: New file.
5453         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5454         test whether log1pl works with a minus zero argument. Replace it if
5455         not.
5456         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5458         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5459         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5460         (Depends-on): Update conditions.
5461         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5462         m4/signbit.m4.
5463         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5464         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5465
5466         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5467         * m4/log1pf-ieee.m4: New file.
5468         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5469         test whether log1pf works with a minus zero argument. Replace it if
5470         not.
5471         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5472         m4/signbit.m4.
5473         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5474         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5475
5476         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5477         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5478         (configure.ac): Require gl_FUNC_LOG1PF.
5479
5480         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5481         * m4/log1p-ieee.m4: New file.
5482         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5483         whether log1p works with a minus zero argument. Replace it if not.
5484         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5486         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5487         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5488         (Depends-on): Update conditions.
5489         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5490         m4/signbit.m4.
5491         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5492         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5493
5494         Tests for module 'log1pl-ieee'.
5495         * modules/log1pl-ieee-tests: New file.
5496         * tests/test-log1pl-ieee.c: New file.
5497
5498         New module 'log1pl-ieee'.
5499         * modules/log1pl-ieee: New file.
5500
5501         Tests for module 'log1p-ieee'.
5502         * modules/log1p-ieee-tests: New file.
5503         * tests/test-log1p-ieee.c: New file.
5504
5505         New module 'log1p-ieee'.
5506         * modules/log1p-ieee: New file.
5507
5508         Tests for module 'log1pf-ieee'.
5509         * modules/log1pf-ieee-tests: New file.
5510         * tests/test-log1pf-ieee.c: New file.
5511         * tests/test-log1p-ieee.h: New file.
5512
5513         New module 'log1pf-ieee'.
5514         * modules/log1pf-ieee: New file.
5515
5516 2012-03-10  Bruno Haible  <bruno@clisp.org>
5517
5518         Tests for module 'log1pl'.
5519         * modules/log1pl-tests: New file.
5520         * tests/test-log1pl.c: New file.
5521
5522         New module 'log1pl'.
5523         * lib/math.in.h (log1pl): New declaration.
5524         * lib/log1pl.c: New file.
5525         * m4/log1pl.m4: New file.
5526         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5528         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5529         * modules/log1pl: New file.
5530         * tests/test-math-c++.cc: Check the declaration of log1pl.
5531         * doc/posix-functions/log1pl.texi: Mention the new module.
5532
5533 2012-03-10  Bruno Haible  <bruno@clisp.org>
5534
5535         Tests for module 'log1pf'.
5536         * modules/log1pf-tests: New file.
5537         * tests/test-log1pf.c: New file.
5538
5539         New module 'log1pf'.
5540         * lib/math.in.h (log1pf): New declaration.
5541         * lib/log1pf.c: New file.
5542         * m4/log1pf.m4: New file.
5543         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5545         REPLACE_LOG1PF.
5546         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5547         REPLACE_LOG1PF.
5548         * modules/log1pf: New file.
5549         * tests/test-math-c++.cc: Check the declaration of log1pf.
5550         * doc/posix-functions/log1pf.texi: Mention the new module.
5551
5552 2012-03-10  Bruno Haible  <bruno@clisp.org>
5553
5554         log1p tests: More tests.
5555         * tests/test-log1p.h: New file.
5556         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5557         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5558         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5559         (main): Invoke test_function.
5560
5561         log1p: Provide replacement for Minix and MSVC.
5562         * lib/math.in.h (log1p): New declaration.
5563         * lib/log1p.c: New file.
5564         * m4/log1p.m4: New file.
5565         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5567         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5568         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5569         (Depends-on): Add math, isnand, log, round.
5570         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5571         HAVE_LOG1P is 0.
5572         * tests/test-math-c++.cc: Check the declaration of log1p.
5573         * doc/posix-functions/log1p.texi: Mention the replacement.
5574
5575 2012-03-10  Bruno Haible  <bruno@clisp.org>
5576
5577         math tests: Small simplification.
5578         * tests/test-exp.h (test_function): Use the same err_bound for
5579         'double' on platforms with sizeof (long double) == sizeof (double)
5580         than on platforms with sizeof (long double) > sizeof (double).
5581         * tests/test-exp2.h (test_function): Likewise.
5582         * tests/test-expm1.h (test_function): Likewise.
5583         * tests/test-log.h (test_function): Likewise.
5584
5585 2012-03-10  Bruno Haible  <bruno@clisp.org>
5586
5587         Fix some comments.
5588         * lib/expl.c: Fix an ambiguous comment.
5589         * lib/expm1.c: Likewise.
5590         * lib/expm1l.c: Likewise.
5591         * lib/exp2.c: Likewise.
5592         * lib/exp2l.c: Likewise.
5593
5594 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5595
5596         regex: allow inclusion of <regex.h> before <limits.h>
5597         Without this patch, portable programs had to include <limits.h> before
5598         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5599         I ran into this problem with a test version of GNU grep on Solaris 8.
5600         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5601         This is done conditionally so that this change can be merged
5602         back to glibc.
5603         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5604         using the included regex.
5605
5606         fts: depend on fdopendir
5607         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5608         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5609         problem was introduced when fdopendir was split out.
5610
5611 2012-03-10  Bruno Haible  <bruno@clisp.org>
5612
5613         Remove unused variables.
5614         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5615         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5616
5617 2012-03-10  Bruno Haible  <bruno@clisp.org>
5618
5619         isnanf-nolibm: Fix last commit.
5620         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5621
5622         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5623         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5624
5625 2012-03-10  Bruno Haible  <bruno@clisp.org>
5626
5627         logf-ieee: Work around test failure on NetBSD 5.1.
5628         * m4/logf-ieee.m4: New file.
5629         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5630         whether logf works with a negative argument. Replace it if not.
5631         * lib/logf.c (logf): For negative arguments, return NaN.
5632         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5633         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5634         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5635
5636         logf-ieee: Work around test failure on Solaris 9.
5637         * modules/logf-ieee (Depends-on): Add log-ieee.
5638         (configure.ac): Require gl_FUNC_LOGF.
5639
5640         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5641         * m4/log-ieee.m4: New file.
5642         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5643         log works with a negative argument. Replace it if not.
5644         * lib/log.c (log): For negative arguments, return NaN.
5645         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5646         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5647         * doc/posix-functions/log.texi: Mention the log-ieee module.
5648
5649         Tests for module 'logl-ieee'.
5650         * modules/logl-ieee-tests: New file.
5651         * tests/test-logl-ieee.c: New file.
5652
5653         New module 'logl-ieee'.
5654         * modules/logl-ieee: New file.
5655
5656         Tests for module 'log-ieee'.
5657         * modules/log-ieee-tests: New file.
5658         * tests/test-log-ieee.c: New file.
5659
5660         New module 'log-ieee'.
5661         * modules/log-ieee: New file.
5662
5663         Tests for module 'logf-ieee'.
5664         * modules/logf-ieee-tests: New file.
5665         * tests/test-logf-ieee.c: New file.
5666         * tests/test-log-ieee.h: New file.
5667
5668         New module 'logf-ieee'.
5669         * modules/logf-ieee: New file.
5670
5671 2012-03-10  Bruno Haible  <bruno@clisp.org>
5672
5673         log: Fix bug introduced on 2012-03-09.
5674         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5675
5676 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5677
5678         timer-time: link explicitly with pthreads on glibc
5679         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5680         to support static linking, when newer glibc is
5681         detected, as that contains pthread emulation of
5682         POSIX timer functions where required.
5683         * modules/timer-time: Depend on threadlib to
5684         pull in the appropriate library to link.
5685
5686 2012-03-10  Bruno Haible  <bruno@clisp.org>
5687
5688         log* tests: More tests.
5689         * tests/test-log.h: New file.
5690         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5691         (main): Invoke test_function.
5692         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5693         (main): Invoke test_function.
5694         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5695         (main): Invoke test_function.
5696         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5697         tests/randomd.c.
5698         (Makefile.am): Add randomd.c to test_log_SOURCES.
5699         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5700         tests/randomf.c.
5701         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5702         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5703         tests/randoml.c.
5704         (Depends-on): Add 'float'.
5705         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5706
5707 2012-03-09  Bruno Haible  <bruno@clisp.org>
5708
5709         logl: Work around OSF/1 5.1 bug.
5710         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5711         * lib/logl.c (logl): If logl exists, use it and provide just the
5712         workaround.
5713         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5714         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5715         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5716         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5717         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5718         (Depends-on): Update conditions.
5719         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5720
5721 2012-03-09  Bruno Haible  <bruno@clisp.org>
5722
5723         logf: Work around OSF/1 5.1 bug.
5724         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5725         * lib/logf.c (logf): If logf exists, use it and provide just the
5726         workaround.
5727         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5728         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5730         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5731         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5732         (Depends-on): Update conditions.
5733         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5734
5735 2012-03-09  Bruno Haible  <bruno@clisp.org>
5736
5737         log: Work around OSF/1 5.1 bug.
5738         * lib/math.in.h (log): New declaration.
5739         * lib/log.c: New file.
5740         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5741         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5742         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5743         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5744         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5745         * modules/log (Files): Add lib/log.c.
5746         (Depends-on): Add math.
5747         (configure.ac): If REPLACE_LOG is 1, compile an override.
5748         * tests/test-math-c++.cc: Check the declaration of log.
5749         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5750
5751 2012-03-09  Jim Meyering  <meyering@redhat.com>
5752
5753         readtokens.c: adjust wording in a comment
5754         * lib/readtokens.c: Insert omitted "that" in a comment.
5755
5756 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5757
5758         modechange: add notations +40, 00440, etc.
5759         * lib/modechange.c (mode_compile): Support new notations
5760         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5761
5762 2012-03-08  Bruno Haible  <bruno@clisp.org>
5763
5764         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5765         * m4/exp2l-ieee.m4: New file.
5766         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5767         test whether exp2l works with a NaN argument and with a negative
5768         infinity argument. Replace it if not.
5769         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5770         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5771         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5772         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5773         (Depends-on): Update conditions.
5774         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5775         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5776         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5777
5778         Tests for module 'exp2l-ieee'.
5779         * modules/exp2l-ieee-tests: New file.
5780         * tests/test-exp2l-ieee.c: New file.
5781
5782         New module 'exp2l-ieee'.
5783         * modules/exp2l-ieee: New file.
5784
5785         Tests for module 'exp2-ieee'.
5786         * modules/exp2-ieee-tests: New file.
5787         * tests/test-exp2-ieee.c: New file.
5788
5789         New module 'exp2-ieee'.
5790         * modules/exp2-ieee: New file.
5791
5792         Tests for module 'exp2f-ieee'.
5793         * modules/exp2f-ieee-tests: New file.
5794         * tests/test-exp2f-ieee.c: New file.
5795         * tests/test-exp2-ieee.h: New file.
5796
5797         New module 'exp2f-ieee'.
5798         * modules/exp2f-ieee: New file.
5799
5800 2012-03-08  Bruno Haible  <bruno@clisp.org>
5801
5802         Tests for module 'exp2l'.
5803         * modules/exp2l-tests: New file.
5804         * tests/test-exp2l.c: New file.
5805
5806         New module 'exp2l'.
5807         * lib/math.in.h (exp2l): New declaration.
5808         * lib/exp2l.c: New file.
5809         * lib/expl-table.c: New file, extracted from lib/expl.c.
5810         * lib/expl.c (gl_expl_table): New declaration.
5811         (expl): Remove expl_table. Update reference.
5812         * m4/exp2l.m4: New file.
5813         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5814         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5815         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5816         * modules/exp2l: New file.
5817         * modules/expl (Files): Add lib/expl-table.c.
5818         (configure.ac): Compile also expl-table.c.
5819         * tests/test-math-c++.cc: Check the declaration of exp2l.
5820         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5821         problem.
5822
5823 2012-03-08  Bruno Haible  <bruno@clisp.org>
5824
5825         Tests for module 'exp2f'.
5826         * modules/exp2f-tests: New file.
5827         * tests/test-exp2f.c: New file.
5828
5829         New module 'exp2f'.
5830         * lib/math.in.h (exp2f): New declaration.
5831         * lib/exp2f.c: New file.
5832         * m4/exp2f.m4: New file.
5833         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5834         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5835         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5836         * modules/exp2f: New file.
5837         * tests/test-math-c++.cc: Check the declaration of exp2f.
5838         * doc/posix-functions/exp2f.texi: Mention the new module and the
5839         IRIX problem.
5840
5841 2012-03-08  Bruno Haible  <bruno@clisp.org>
5842
5843         Tests for module 'exp2'.
5844         * modules/exp2-tests: New file.
5845         * tests/test-exp2.c: New file.
5846         * tests/test-exp2.h: New file.
5847
5848         New module 'exp2'.
5849         * lib/math.in.h (exp2): New declaration.
5850         * lib/exp2.c: New file.
5851         * m4/exp2.m4: New file.
5852         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5854         REPLACE_EXP2.
5855         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5856         REPLACE_EXP2.
5857         * modules/exp2: New file.
5858         * tests/test-math-c++.cc: Check the declaration of exp2.
5859         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5860         and OpenBSD problems.
5861
5862 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5863
5864         savedir: fix comment typo
5865         * lib/savedir.c (savedirstream): Fix typo in comment.
5866
5867 2012-03-08  Bruno Haible  <bruno@clisp.org>
5868
5869         test-readtokens.c: use const; remove unwarranted cast
5870         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5871
5872 2012-03-08  Bruno Haible  <bruno@clisp.org>
5873
5874         fmal: Avoid compilation error on AIX.
5875         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5876         AIX 5.2..7.1.
5877
5878 2012-03-08  Bruno Haible  <bruno@clisp.org>
5879
5880         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5881         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5882         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5883         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5884         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5885         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5886         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5887
5888 2012-03-08  Bruno Haible  <bruno@clisp.org>
5889
5890         remainderf: Override buggy system function on IRIX 6.5.
5891         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5892         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5893         when it exists.
5894         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5895
5896 2012-03-08  Jim Meyering  <meyering@redhat.com>
5897
5898         test-readtokens.c: avoid const-related compilation warnings
5899         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5900
5901 2012-03-07  Jim Meyering  <meyering@redhat.com>
5902             Bruno Haible  <bruno@clisp.org>
5903
5904         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5905         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5906         tests/randomd.c.
5907         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5908         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5909         tests/randoml.c.
5910         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5911
5912 2012-03-07  Bruno Haible  <bruno@clisp.org>
5913
5914         expm1l: Avoid compilation error on AIX.
5915         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5916         AIX 5.2..7.1.
5917
5918 2012-03-07  Bruno Haible  <bruno@clisp.org>
5919
5920         expm1l: Don't override undeclared system function on IRIX 6.5.
5921         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5922         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5923         it exists. Set HAVE_DECL_EXPM1L.
5924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5925         HAVE_EXPM1L.
5926         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5927         HAVE_EXPM1L.
5928         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5929
5930 2012-03-07  Bruno Haible  <bruno@clisp.org>
5931
5932         remainderl: Don't override undeclared system function on IRIX 6.5.
5933         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5934         HAVE_REMAINDERL.
5935         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5936         declared when it exists. Set HAVE_DECL_REMAINDERL.
5937         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5938         not HAVE_REMAINDERL.
5939         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5940         HAVE_REMAINDERL.
5941         * doc/posix-functions/remainderl.texi: Mention missing declaration
5942         problem.
5943
5944 2012-03-07  Bruno Haible  <bruno@clisp.org>
5945
5946         rintf: Don't override undeclared system function on IRIX 6.5.
5947         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5948         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5949         exists. Set HAVE_DECL_RINTF.
5950         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5951         HAVE_RINTF.
5952         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5953         HAVE_RINTF.
5954         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5955
5956 2012-03-07  Bruno Haible  <bruno@clisp.org>
5957
5958         roundl: Avoid compilation error on AIX.
5959         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5960         AIX 5.2..7.1.
5961
5962 2012-03-07  Bruno Haible  <bruno@clisp.org>
5963
5964         roundl: Don't override undeclared system function on IRIX 6.5.
5965         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5966         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5967         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5968         * modules/roundl (configure.ac): For replacement code, test
5969         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5970         (Depends-on): Update conditions.
5971         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5972
5973 2012-03-07  Bruno Haible  <bruno@clisp.org>
5974
5975         roundf: Don't override undeclared system function on IRIX 6.5.
5976         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5977         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5978         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5979         * modules/roundf (configure.ac): For replacement code, test
5980         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5981         (Depends-on): Update conditions.
5982         * modules/roundf-ieee (Depends-on): Update conditions.
5983         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5984
5985 2012-03-07  Bruno Haible  <bruno@clisp.org>
5986
5987         round: Don't override undeclared system function on IRIX 6.5.
5988         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5989         argument.
5990         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5991         also when it is not declared. Set HAVE_ROUND. For replacement code,
5992         test HAVE_ROUND, not HAVE_DECL_ROUND.
5993         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5994         not HAVE_DECL_ROUND.
5995         (Depends-on): Update conditions.
5996         * modules/round-ieee (Depends-on): Update conditions.
5997         * doc/posix-functions/round.texi: Mention the IRIX problem.
5998
5999 2012-03-07  Bruno Haible  <bruno@clisp.org>
6000
6001         copysignf: Don't override undeclared system function on IRIX 6.5.
6002         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6003         HAVE_COPYSIGNF.
6004         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6005         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6006         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6007         not HAVE_COPYSIGNF.
6008         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6009         HAVE_COPYSIGNF.
6010         * doc/posix-functions/copysignf.texi: Mention missing declaration
6011         problem.
6012
6013 2012-03-07  Jim Meyering  <meyering@redhat.com>
6014
6015         readtokens: add tests
6016         * modules/readtokens-tests: New file.
6017         * tests/test-readtokens.c: New file.
6018
6019 2012-03-07  Jim Meyering  <meyering@redhat.com>
6020
6021         quotearg: the module must now include quote.h
6022         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6023         So must the module.
6024         * modules/quotearg (Files): Add quote.h.
6025
6026 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6027
6028         readtokens: avoid core dumps with unusual calling patterns
6029         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6030         * lib/readtokens.c: Include limits.h.
6031         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6032         (readtoken): Don't cache the delimiters; the cache code was buggy
6033         if !delim && saved_delim, or if the new n_delim differs from the old.
6034         Also, it wasn't thread-safe.
6035
6036 2012-03-07  Bruno Haible  <bruno@clisp.org>
6037
6038         quote: Adhere to common module description layout.
6039         * modules/quote (Makefile.am): Add back empty section.
6040
6041 2012-03-06  Akim Demaille  <demaille@gostai.com>
6042
6043         quote: fuse into quotearg
6044         This patch is made for the benefit of Bison.
6045         quote does not leave the choice of the quoting style to the user.
6046         quoting_style provides poor customizability, yet quoting_options,
6047         which is very rich, is hidden inside quotearg.c.  So in order to
6048         allow quote customization, move its implementation to quotearg.c.
6049         * lib/quote.c: Remove.
6050         * modules/quote: Adjust.
6051         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6052         warning: provide all the members of literal structs.
6053         (quote_quoting_options): New.
6054         (quote, quote_n): Import implementation from quote.c.
6055         * lib/quote.h: Import the comments from quote.c.
6056         (quote_quoting_options): New.
6057
6058 2012-03-06  Bruno Haible  <bruno@clisp.org>
6059
6060         Tests for module 'expm1l-ieee'.
6061         * modules/expm1l-ieee-tests: New file.
6062         * tests/test-expm1l-ieee.c: New file.
6063
6064         New module 'expm1l-ieee'.
6065         * modules/expm1l-ieee: New file.
6066
6067         Tests for module 'expm1f-ieee'.
6068         * modules/expm1f-ieee-tests: New file.
6069         * tests/test-expm1f-ieee.c: New file.
6070
6071         New module 'expm1f-ieee'.
6072         * modules/expm1f-ieee: New file.
6073
6074         Tests for module 'expm1-ieee'.
6075         * modules/expm1-ieee-tests: New file.
6076         * tests/test-expm1-ieee.c: New file.
6077         * tests/test-expm1-ieee.h: New file.
6078
6079         New module 'expm1-ieee'.
6080         * modules/expm1-ieee: New file.
6081         * m4/expm1-ieee.m4: New file.
6082         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6083         whether expm1 works with a minus zero argument. Replace it if not.
6084         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6085         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6086         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6087         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6088         (Depends-on): Update conditions.
6089         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6090         AIX problem.
6091
6092 2012-03-06  Bruno Haible  <bruno@clisp.org>
6093
6094         Work around expm1f bug on IRIX 6.5.
6095         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6096         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6097         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6098         not work.
6099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6100         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6101         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6102         (Depends-on): Update conditions.
6103         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6104
6105 2012-03-06  Bruno Haible  <bruno@clisp.org>
6106
6107         Tests for module 'expm1l'.
6108         * modules/expm1l-tests: New file.
6109         * tests/test-expm1l.c: New file.
6110
6111         New module 'expm1l'.
6112         * lib/math.in.h (expm1l): New declaration.
6113         * lib/expm1l.c: New file.
6114         * m4/expm1l.m4: New file.
6115         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6116         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6117         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6118         * modules/expm1l: New file.
6119         * tests/test-math-c++.cc: Check the declaration of expm1l.
6120         * doc/posix-functions/expm1l.texi: Mention the new module.
6121
6122 2012-03-06  Bruno Haible  <bruno@clisp.org>
6123
6124         Tests for module 'expm1f'.
6125         * modules/expm1f-tests: New file.
6126         * tests/test-expm1f.c: New file.
6127
6128         New module 'expm1f'.
6129         * lib/math.in.h (expm1f): New declaration.
6130         * lib/expm1f.c: New file.
6131         * m4/expm1f.m4: New file.
6132         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6133         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6134         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6135         * modules/expm1f: New file.
6136         * tests/test-math-c++.cc: Check the declaration of expm1f.
6137         * doc/posix-functions/expm1f.texi: Mention the new module.
6138
6139 2012-03-06  Bruno Haible  <bruno@clisp.org>
6140
6141         Tests for module 'expm1'.
6142         * modules/expm1-tests: New file.
6143         * tests/test-expm1.c: New file.
6144         * tests/test-expm1.h: New file.
6145
6146         New module 'expm1'.
6147         * lib/math.in.h (expm1): New declaration.
6148         * lib/expm1.c: New file.
6149         * m4/expm1.m4: New file.
6150         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6151         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6152         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6153         * modules/expm1: New file.
6154         * tests/test-math-c++.cc: Check the declaration of expm1.
6155         * doc/posix-functions/expm1.texi: Mention the new module.
6156
6157 2012-03-06  Bruno Haible  <bruno@clisp.org>
6158
6159         math: Ensure declarations of math functions.
6160         * modules/acosf (Depends-on): Add 'extensions'.
6161         * modules/asinf (Depends-on): Likewise.
6162         * modules/atan2f (Depends-on): Likewise.
6163         * modules/atanf (Depends-on): Likewise.
6164         * modules/cbrt (Depends-on): Likewise.
6165         * modules/cbrtf (Depends-on): Likewise.
6166         * modules/cbrtl (Depends-on): Likewise.
6167         * modules/copysignf (Depends-on): Likewise.
6168         * modules/copysignl (Depends-on): Likewise.
6169         * modules/cosf (Depends-on): Likewise.
6170         * modules/coshf (Depends-on): Likewise.
6171         * modules/expf (Depends-on): Likewise.
6172         * modules/fabsf (Depends-on): Likewise.
6173         * modules/fabsl (Depends-on): Likewise.
6174         * modules/fmaf (Depends-on): Likewise.
6175         * modules/fmal (Depends-on): Likewise.
6176         * modules/fmodf (Depends-on): Likewise.
6177         * modules/fmodl (Depends-on): Likewise.
6178         * modules/frexpf (Depends-on): Likewise.
6179         * modules/frexpl (Depends-on): Likewise.
6180         * modules/hypot (Depends-on): Likewise.
6181         * modules/hypotf (Depends-on): Likewise.
6182         * modules/hypotl (Depends-on): Likewise.
6183         * modules/ldexpf (Depends-on): Likewise.
6184         * modules/ldexpl (Depends-on): Likewise.
6185         * modules/log10f (Depends-on): Likewise.
6186         * modules/log10l (Depends-on): Likewise.
6187         * modules/log1p (Depends-on): Likewise.
6188         * modules/logb (Depends-on): Likewise.
6189         * modules/logf (Depends-on): Likewise.
6190         * modules/modff (Depends-on): Likewise.
6191         * modules/modfl (Depends-on): Likewise.
6192         * modules/powf (Depends-on): Likewise.
6193         * modules/remainderf (Depends-on): Likewise.
6194         * modules/remainderl (Depends-on): Likewise.
6195         * modules/rintf (Depends-on): Likewise.
6196         * modules/rintl (Depends-on): Likewise.
6197         * modules/sinf (Depends-on): Likewise.
6198         * modules/sinhf (Depends-on): Likewise.
6199         * modules/sqrtf (Depends-on): Likewise.
6200         * modules/tanf (Depends-on): Likewise.
6201         * modules/tanhf (Depends-on): Likewise.
6202         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6203         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6204         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6205         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6206         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6207         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6208         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6209         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6210         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6211         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6212         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6213         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6214         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6215         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6216         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6217         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6218         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6219         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6220         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6221         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6222         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6223         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6224         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6225         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6226         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6227         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6228         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6229         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6230         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6231         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6232         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6233         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6234         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6235         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6236         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6237         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6238         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6239         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6240         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6241         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6242         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6243
6244 2012-03-06  Bruno Haible  <bruno@clisp.org>
6245
6246         math: Update module names in warnings.
6247         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6248         tanl): Use specific module name in warn-on-use warning.
6249
6250 2012-03-06  Bruno Haible  <bruno@clisp.org>
6251
6252         expl: Simplify computation.
6253         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6254
6255 2012-03-05  Bruno Haible  <bruno@clisp.org>
6256
6257         exp* tests: More tests.
6258         * tests/test-exp.h: New file.
6259         * tests/test-exp.c: Include <float.h> and test-exp.h.
6260         (main): Invoke test_function.
6261         * tests/test-expf.c: Include <float.h> and test-exp.h.
6262         (main): Invoke test_function.
6263         * tests/test-expl.c: Include <float.h> and test-exp.h.
6264         (main): Invoke test_function.
6265         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6266         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6267         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6268         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6269         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6270         (Depends-on): Add 'float'.
6271         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6272
6273         expl: Fix precision of computed result.
6274         * lib/expl.c: Completely rewritten.
6275         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6276         (Maintainer): Add me.
6277         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6278
6279 2012-03-05  Bruno Haible  <bruno@clisp.org>
6280
6281         cbrt* tests: More tests.
6282         * tests/test-cbrt.h: New file.
6283         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6284         (main): Invoke test_function.
6285         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6286         (main): Invoke test_function.
6287         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6288         (main): Invoke test_function.
6289         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6290         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6291         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6292         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6293         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6294         (Depends-on): Add 'float'.
6295         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6296
6297 2012-03-05  Bruno Haible  <bruno@clisp.org>
6298
6299         hypot* tests: More tests.
6300         * tests/test-hypot.h: New file, partially extracted from
6301         tests/test-hypotl.c.
6302         * tests/test-hypot.c: Include test-hypot.h.
6303         (main): Invoke test_function.
6304         * tests/test-hypotf.c: Include test-hypot.h.
6305         (main): Invoke test_function.
6306         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6307         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6308         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6309         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6310         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6311         tests/randomf.c.
6312         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6313         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6314         tests/randoml.c.
6315         (Depends-on): Add 'fpucw', 'float'.
6316         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6317
6318 2012-03-05  Bruno Haible  <bruno@clisp.org>
6319
6320         fpucw: Doc about FreeBSD.
6321         * lib/fpucw.h: Mention FreeBSD in comments.
6322
6323 2012-03-04  Bruno Haible  <bruno@clisp.org>
6324
6325         sqrt* tests: More tests.
6326         * tests/test-sqrt.h: New file.
6327         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6328         (main): Invoke test_function.
6329         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6330         (main): Invoke test_function.
6331         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6332         (main): Invoke test_function.
6333         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6334         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6335         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6336         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6337         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6338         (Depends-on): Add 'float'.
6339         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6340
6341 2012-03-04  Bruno Haible  <bruno@clisp.org>
6342
6343         remainder* tests: More tests.
6344         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6345         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6346         (main): Invoke test_function.
6347         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6348         (main): Invoke test_function.
6349         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6350         (main): Invoke test_function.
6351         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6352         tests/randomd.c.
6353         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6354         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6355         tests/randomf.c.
6356         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6357         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6358         tests/randoml.c.
6359         (Depends-on): Add 'float'.
6360         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6361
6362 2012-03-04  Bruno Haible  <bruno@clisp.org>
6363
6364         remainder, remainderf, remainderl: Fix computation for large quotients.
6365         * lib/remainder.c: Completely rewritten.
6366         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6367         USE_FLOAT.
6368         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6369         USE_LONG_DOUBLE.
6370         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6371         isnand, isinf. Remove round, fma.
6372         * modules/remainderf (Files): Add lib/remainder.c.
6373         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6374         Remove roundf, fmaf.
6375         * modules/remainderl (Files): Add lib/remainder.c.
6376         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6377         isinf. Remove roundl, fmal.
6378         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6379         REMAINDER_LIBM.
6380         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6381         REMAINDERF_LIBM.
6382         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6383         REMAINDERL_LIBM.
6384
6385 2012-03-04  Bruno Haible  <bruno@clisp.org>
6386
6387         fmod* tests: More tests.
6388         * tests/test-fmod.h (my_ldexp): New function.
6389         (test_function): Reduce amount of random numbers to test. Add tests
6390         of very large quotients x / y.
6391         * tests/test-fmod.c (MAX_EXP): New macro.
6392         * tests/test-fmodf.c (MAX_EXP): Likewise.
6393         * tests/test-fmodl.c (MAX_EXP): Likewise.
6394
6395 2012-03-04  Bruno Haible  <bruno@clisp.org>
6396
6397         fmod, fmodl: Fix computation for large quotients x / y.
6398         * lib/fmod.c: Completely rewritten.
6399         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6400         USE_LONG_DOUBLE.
6401         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6402         isnand. Remove fma.
6403         * modules/fmodl (Files): Add lib/fmod.c.
6404         (Depends-on): Add float, isfinite, signbit, fabsl,
6405         frexpl, ldexpl, isnanl. Remove fma.
6406         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6407         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6408
6409 2012-03-03  Bruno Haible  <bruno@clisp.org>
6410
6411         fmod* tests: More tests.
6412         * tests/test-fmod.h: New file.
6413         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6414         (main): Invoke test_function.
6415         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6416         (main): Invoke test_function.
6417         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6418         (main): Invoke test_function.
6419         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6420         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6421         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6422         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6423         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6424         (Depends-on): Add 'float'.
6425         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6426
6427 2012-03-03  Bruno Haible  <bruno@clisp.org>
6428
6429         rint* tests: More tests.
6430         * tests/test-rint.h: New file, partially extracted from
6431         tests/test-rintl.c.
6432         * tests/test-rint.c: Include test-rint.h.
6433         (main): Invoke test_function.
6434         * tests/test-rintf.c: Include test-rint.h.
6435         (main): Invoke test_function.
6436         * tests/test-rintl.c: Include test-rint.h.
6437         (main): Invoke test_function.
6438         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6439         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6440         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6441         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6442         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6443         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6444
6445 2012-03-03  Bruno Haible  <bruno@clisp.org>
6446
6447         modf* tests: More tests.
6448         * tests/test-modf.h: New file.
6449         * tests/test-modf.c: Include <float.h> and test-modf.h.
6450         (main): Invoke test_function.
6451         * tests/test-modff.c: Include <float.h> and test-modf.h.
6452         (main): Invoke test_function.
6453         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6454         (main): Invoke test_function.
6455         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6456         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6457         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6458         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6459         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6460         (Depends-on): Add 'float'.
6461         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6462
6463 2012-03-03  Bruno Haible  <bruno@clisp.org>
6464
6465         fabs* tests: More tests.
6466         * tests/test-fabs.h: New file, partially extracted from
6467         tests/test-fabsl.c.
6468         * tests/test-fabs.c (RANDOM): New macro.
6469         * tests/test-fabsf.c (RANDOM): New macro.
6470         * tests/test-fabsl.c (RANDOM): New macro.
6471         * modules/fabs-tests (Files): Add tests/randomd.c.
6472         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6473         * modules/fabsf-tests (Files): Add tests/randomf.c.
6474         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6475         * modules/fabsl-tests (Files): Add tests/randoml.c.
6476         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6477
6478 2012-03-03  Bruno Haible  <bruno@clisp.org>
6479
6480         ldexp* tests: More tests.
6481         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6482         * tests/test-ldexp.c (RANDOM): New macro.
6483         * tests/test-ldexpf.c (RANDOM): New macro.
6484         * tests/test-ldexpl.c (RANDOM): New macro.
6485         * modules/ldexp-tests (Files): Add tests/randomd.c.
6486         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6487         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6488         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6489         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6490         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6491
6492 2012-03-03  Bruno Haible  <bruno@clisp.org>
6493
6494         frexp* tests: More tests.
6495         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6496         * tests/test-frexp.c (RANDOM): New macro.
6497         * tests/test-frexpf.c (RANDOM): New macro.
6498         * tests/test-frexpl.c (RANDOM): New macro.
6499         * modules/frexp-tests (Files): Add tests/randomd.c.
6500         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6501         * modules/frexpf-tests (Files): Add tests/randomf.c.
6502         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6503         * modules/frexpl-tests (Files): Add tests/randoml.c.
6504         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6505
6506 2012-03-03  Bruno Haible  <bruno@clisp.org>
6507
6508         Support for pseudo-random numbers in tests.
6509         * tests/randomf.c: New file.
6510         * tests/randomd.c: New file.
6511         * tests/randoml.c: New file.
6512         * tests/macros.h (randomf, randomd, randoml): New declarations.
6513
6514 2012-03-03  Bruno Haible  <bruno@clisp.org>
6515
6516         frexp* tests: Refactor.
6517         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6518         * tests/test-frexp.c: Include and use it.
6519         * tests/test-frexpf.c: Likewise.
6520         * tests/test-frexpl.c: Likewise.
6521         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6522         * modules/frexpf-tests (Files): Likewise.
6523         * modules/frexpl-tests (Files): Likewise.
6524
6525 2012-03-02  Jim Meyering  <meyering@redhat.com>
6526
6527         maint: don't specify XZ_OPT=-9ev in dist-related rule
6528         Using xz's -9 option is warranted only if you have a very large
6529         tarball (see xz's documentation for the sizes vs. presets), and
6530         requires 64MiB of memory at decompression time.
6531         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6532         Automake's default of just "-e" is fine.  Override on a
6533         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6534
6535 2012-03-01  Eric Blake  <eblake@redhat.com>
6536
6537         maint.mk: allow announcement for non-gnulib project
6538         * maint.mk (announcement): Skip gnulib version if not used.
6539
6540 2012-03-01  Jim Meyering  <meyering@redhat.com>
6541
6542         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6543         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6544         envvar settings cannot interfere.  Otherwise, setting envvars like
6545         prohibit=foo require=bar, etc. would cause spurious test failures.
6546
6547 2012-03-01  Eric Blake  <eblake@redhat.com>
6548
6549         maint.mk: add per-line exclusions to prohibitions
6550         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6551         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6552         (sc_const_long_option): Use it.
6553
6554 2012-03-01  Bruno Haible  <bruno@clisp.org>
6555
6556         Tests for module 'expl-ieee'.
6557         * modules/expl-ieee-tests: New file.
6558         * tests/test-expl-ieee.c: New file.
6559
6560         New module 'expl-ieee'.
6561         * modules/expl-ieee: New file.
6562
6563         Tests for module 'exp-ieee'.
6564         * modules/exp-ieee-tests: New file.
6565         * tests/test-exp-ieee.c: New file.
6566
6567         New module 'exp-ieee'.
6568         * modules/exp-ieee: New file.
6569
6570         Tests for module 'expf-ieee'.
6571         * modules/expf-ieee-tests: New file.
6572         * tests/test-expf-ieee.c: New file.
6573         * tests/test-exp-ieee.h: New file.
6574
6575         New module 'expf-ieee'.
6576         * modules/expf-ieee: New file.
6577
6578 2012-02-29  Bruno Haible  <bruno@clisp.org>
6579
6580         cbrtl-ieee: Work around test failure on IRIX 6.5.
6581         * m4/cbrtl-ieee.m4: New file.
6582         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6583         test whether cbrtl works with a minus zero argument. Replace it if not.
6584         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6586         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6587         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6588         (Depends-on): Update conditions.
6589         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6590         m4/signbit.m4.
6591         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6592         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6593         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6594
6595         Tests for module 'cbrtl-ieee'.
6596         * modules/cbrtl-ieee-tests: New file.
6597         * tests/test-cbrtl-ieee.c: New file.
6598
6599         New module 'cbrtl-ieee'.
6600         * modules/cbrtl-ieee: New file.
6601
6602         Tests for module 'cbrt-ieee'.
6603         * modules/cbrt-ieee-tests: New file.
6604         * tests/test-cbrt-ieee.c: New file.
6605
6606         New module 'cbrt-ieee'.
6607         * modules/cbrt-ieee: New file.
6608
6609         Tests for module 'cbrtf-ieee'.
6610         * modules/cbrtf-ieee-tests: New file.
6611         * tests/test-cbrtf-ieee.c: New file.
6612         * tests/test-cbrt-ieee.h: New file.
6613
6614         New module 'cbrtf-ieee'.
6615         * modules/cbrtf-ieee: New file.
6616
6617 2012-02-29  Bruno Haible  <bruno@clisp.org>
6618
6619         cbrtf: Work around bug in IRIX 6.5 system function.
6620         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6621         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6622         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6623         work.
6624         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6625         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6626         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6627         (Depends-on): Update conditions.
6628         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6629
6630 2012-02-29  Bruno Haible  <bruno@clisp.org>
6631
6632         Tests for module 'cbrtl'.
6633         * modules/cbrtl-tests: New file.
6634         * tests/test-cbrtl.c: New file.
6635
6636         New module 'cbrtl'.
6637         * lib/math.in.h (cbrtl): New declaration.
6638         * lib/cbrtl.c: New file.
6639         * m4/cbrtl.m4: New file.
6640         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6642         HAVE_DECL_CBRTL.
6643         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6644         HAVE_DECL_CBRTL.
6645         * modules/cbrtl: New file.
6646         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6647         * doc/posix-functions/cbrtl.texi: Mention the new module.
6648
6649 2012-02-29  Bruno Haible  <bruno@clisp.org>
6650
6651         Tests for module 'cbrtf'.
6652         * modules/cbrtf-tests: New file.
6653         * tests/test-cbrtf.c: New file.
6654
6655         New module 'cbrtf'.
6656         * lib/math.in.h (cbrtf): New declaration.
6657         * lib/cbrtf.c: New file.
6658         * m4/cbrtf.m4: New file.
6659         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6660         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6661         HAVE_DECL_CBRTF.
6662         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6663         HAVE_DECL_CBRTF.
6664         * modules/cbrtf: New file.
6665         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6666         * doc/posix-functions/cbrtf.texi: Mention the new module.
6667
6668 2012-02-29  Bruno Haible  <bruno@clisp.org>
6669
6670         cbrt: Provide replacement on MSVC and Minix.
6671         * lib/math.in.h (cbrt): New declaration.
6672         * lib/cbrt.c: New file.
6673         * m4/cbrt.m4: New file.
6674         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6675         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6676         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6677         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6678         (Depends-on): Add dependencies.
6679         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6680         * tests/test-math-c++.cc: Check the declaration of cbrt.
6681         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6682         replacement.
6683
6684 2012-02-29  Bruno Haible  <bruno@clisp.org>
6685
6686         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6687         * m4/hypotl-ieee.m4: New file.
6688         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6689         test whether hypotl works with mixed NaN and Infinity arguments.
6690         Replace it if not.
6691         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6693         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6694         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6695         (Depends-on): Update conditions.
6696         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6697         (Depends-on): Add hypot-ieee.
6698         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6699         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6700
6701         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6702         * m4/hypotf-ieee.m4: New file.
6703         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6704         test whether hypotf works with mixed NaN and Infinity arguments.
6705         Replace it if not.
6706         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6707         (Depends-on): Add hypot-ieee.
6708         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6709         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6710
6711         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6712         * lib/math.in.h (hypot): New declaration.
6713         * lib/hypot.c: New file.
6714         * m4/hypot-ieee.m4: New file.
6715         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6716         whether hypot works with mixed NaN and Infinity arguments. Replace it
6717         if not.
6718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6719         REPLACE_HYPOT.
6720         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6721         * modules/hypot (Files): Add lib/hypot.c.
6722         (Depends-on): Add dependencies.
6723         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6724         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6725         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6726         * tests/test-math-c++.cc: Check the declaration of hypot.
6727         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6728
6729         Tests for module 'hypotl-ieee'.
6730         * modules/hypotl-ieee-tests: New file.
6731         * tests/test-hypotl-ieee.c: New file.
6732
6733         New module 'hypotl-ieee'.
6734         * modules/hypotl-ieee: New file.
6735
6736         Tests for module 'hypot-ieee'.
6737         * modules/hypot-ieee-tests: New file.
6738         * tests/test-hypot-ieee.c: New file.
6739
6740         New module 'hypot-ieee'.
6741         * modules/hypot-ieee: New file.
6742
6743         Tests for module 'hypotf-ieee'.
6744         * modules/hypotf-ieee-tests: New file.
6745         * tests/test-hypotf-ieee.c: New file.
6746         * tests/test-hypot-ieee.h: New file.
6747
6748         New module 'hypotf-ieee'.
6749         * modules/hypotf-ieee: New file.
6750
6751 2012-02-29  Bruno Haible  <bruno@clisp.org>
6752
6753         Remove unused variables.
6754         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6755         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6756         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6757         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6758
6759 2012-02-29  Eric Blake  <eblake@redhat.com>
6760
6761         termios: fix pid_t always, not just for tcgetsid
6762         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6763         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6764         just when building tcgetsid.
6765
6766 2012-02-29  Bruno Haible  <bruno@clisp.org>
6767
6768         Tests for module 'hypotl'.
6769         * modules/hypotl-tests: New file.
6770         * tests/test-hypotl.c: New file.
6771
6772         New module 'hypotl'.
6773         * lib/math.in.h (hypotl): New declaration.
6774         * lib/hypotl.c: New file.
6775         * m4/hypotl.m4: New file.
6776         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6777         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6778         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6779         * modules/hypotl: New file.
6780         * tests/test-math-c++.cc: Check the hypotl declaration.
6781         * doc/posix-functions/hypotl.texi: Mention the new module.
6782
6783 2012-02-29  Eric Blake  <eblake@redhat.com>
6784
6785         tcgetsid: fix cygwin header bug
6786         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6787
6788         docs: update cygwin progress
6789         * doc/posix-functions/llround.texi (llround): Added in cygwin
6790         1.7.8.
6791         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6792         * doc/glibc-functions/program_invocation_name.texi
6793         (program_invocation_name): Likewise.
6794         * doc/glibc-functions/program_invocation_short_name.texi
6795         (program_invocation_short_name): Likewise.
6796         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6797         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6798         Likewise.
6799         * doc/posix-functions/pthread_spin_destroy.texi
6800         (pthread_spin_destroy): Added in cygwin 1.7.10.
6801         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6802         Likewise.
6803         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6804         Likewise.
6805         * doc/posix-functions/pthread_spin_trylock.texi
6806         (pthread_spin_trylock): Likewise.
6807         * doc/posix-functions/pthread_spin_unlock.texi
6808         (pthread_spin_unlock): Likewise.
6809         * doc/posix-functions/pthread_setschedprio.texi
6810         (pthread_setschedprio): Likewise.
6811         * doc/posix-functions/pthread_attr_getstack.texi
6812         (pthread_attr_getstack): Likewise.
6813         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6814         (pthread_attr_getstackaddr): Likewise.
6815         * doc/glibc-functions/pthread_getattr_np.texi
6816         (pthread_getattr_np): Likewise.
6817         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6818         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6819         * doc/posix-functions/clock_settime.texi (clock_settime):
6820         Likewise.
6821         * doc/posix-functions/pthread_attr_getguardsize.texi
6822         (pthread_attr_getguardsize): Likewise.
6823         * doc/posix-functions/pthread_attr_setguardsize.texi
6824         (pthread_attr_setguardsize): Likewise.
6825         * doc/posix-functions/pthread_attr_setstack.texi
6826         (pthread_attr_setstack): Likewise.
6827         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6828         (pthread_attr_setstackaddr): Likewise.
6829         * doc/posix-functions/clock_getcpuclockid.texi
6830         (clock_getcpuclockid): Likewise.
6831         * doc/posix-functions/pthread_getcpuclockid.texi
6832         (pthread_getcpuclockid): Likewise.
6833         * doc/glibc-functions/error.texi (error): Likewise.
6834         * doc/glibc-functions/error_at_line.texi (error_at_line):
6835         Likewise.
6836         * doc/glibc-functions/error_message_count.texi
6837         (error_message_count): Likewise.
6838         * doc/glibc-functions/error_one_per_line.texi
6839         (error_one_per_line): Likewise.
6840         * doc/glibc-functions/error_print_progname.texi
6841         (error_print_progname): Likewise.
6842         * doc/posix-functions/pthread_condattr_getclock.texi
6843         (pthread_condattr_getclock): Likewise.
6844         * doc/posix-functions/pthread_condattr_setclock.texi
6845         (pthread_condattr_setclock): Likewise.
6846         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6847         Likewise.
6848         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6849         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6850         * doc/glibc-functions/get_current_dir_name.texi
6851         (get_current_dir_name): Likewise.
6852         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6853         Likewise.
6854         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6855         wrong return type.
6856         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6857         1.7.11.
6858
6859 2012-02-29  Bruno Haible  <bruno@clisp.org>
6860
6861         Tests for module 'hypotf'.
6862         * modules/hypotf-tests: New file.
6863         * tests/test-hypotf.c: New file.
6864
6865         New module 'hypotf'.
6866         * lib/math.in.h (hypotf): New declaration.
6867         * lib/hypotf.c: New file.
6868         * m4/hypotf.m4: New file.
6869         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6870         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6871         REPLACE_HYPOTF.
6872         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6873         REPLACE_HYPOTF.
6874         * modules/hypotf: New file.
6875         * tests/test-math-c++.cc: Check the hypotf declaration.
6876         * doc/posix-functions/hypotf.texi: Mention the new module.
6877
6878         hypot: Prepare for hypotf module.
6879         * m4/hypot.m4: New file.
6880         * modules/hypot (Files): Add m4/hypot.m4.
6881         (configure.ac): Invoke gl_FUNC_HYPOT.
6882
6883 2012-02-29  Bruno Haible  <bruno@clisp.org>
6884
6885         hypot tests: More tests.
6886         * tests/test-hypot.c: Include <float.h>.
6887         (main): Add tests about overflow and underflow.
6888
6889 2012-02-29  Bruno Haible  <bruno@clisp.org>
6890
6891         math code: Add comments.
6892         * lib/acosl.c: Add comment about related glibc source files.
6893         * lib/asinl.c: Likewise.
6894         * lib/atanl.c: Likewise.
6895         * lib/expl.c: Likewise.
6896         * lib/logl.c: Likewise.
6897         * lib/sincosl.c: Likewise.
6898         * lib/sinl.c: Likewise.
6899         * lib/tanl.c: Likewise.
6900         * lib/trigl.c: Likewise.
6901         * lib/cosl.c: Likewise. Fix comments.
6902
6903 2012-02-28  Bruno Haible  <bruno@clisp.org>
6904
6905         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6906         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6907         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6908         HUGE_VALL are defined.
6909         (numeric_equald): Renamed from numeric_equal.
6910         (numeric_equalf, numeric_equall): New functions.
6911         (main): Check also HUGE_VALF, HUGE_VALL.
6912         * modules/math-tests (Files): Add tests/macros.h.
6913         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6914         HUGE_VALL.
6915
6916 2012-02-28  Bruno Haible  <bruno@clisp.org>
6917
6918         doc: Move ISO C11 feature notes into POSIX chapters.
6919         * doc/posix-functions/aligned_alloc.texi: Renamed from
6920         doc/glibc-functions/aligned_alloc.texi.
6921         * doc/posix-functions/quick_exit.texi: Renamed from
6922         doc/glibc-functions/quick_exit.texi.
6923         * doc/posix-headers/uchar.texi: Renamed from
6924         doc/glibc-headers/uchar.texi.
6925         * doc/posix-functions/c16rtomb.texi: Renamed from
6926         doc/glibc-functions/c16rtomb.texi.
6927         * doc/posix-functions/c32rtomb.texi: Renamed from
6928         doc/glibc-functions/c32rtomb.texi.
6929         * doc/posix-functions/mbrtoc16.texi: Renamed from
6930         doc/glibc-functions/mbrtoc16.texi.
6931         * doc/posix-functions/mbrtoc32.texi: Renamed from
6932         doc/glibc-functions/mbrtoc32.texi.
6933         * doc/gnulib.texi: Update.
6934         (Glibc uchar.h): Remove section.
6935         Suggested by Eric Blake.
6936
6937 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6938
6939         stdnoreturn: port to MSVC better
6940         MSVC standard headers use __declspec(noreturn), so #define noreturn
6941         to empty on that platform.  Reported by Bruno Haible in
6942         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6943         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6944         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6945
6946 2012-02-28  Bruno Haible  <bruno@clisp.org>
6947
6948         doc: Mention new glibc headers and functions.
6949         * doc/glibc-headers/uchar.texi: New file.
6950         * doc/glibc-functions/aligned_alloc.texi: New file.
6951         * doc/glibc-functions/c16rtomb.texi: New file.
6952         * doc/glibc-functions/c32rtomb.texi: New file.
6953         * doc/glibc-functions/clock_adjtime.texi: New file.
6954         * doc/glibc-functions/fanotify_init.texi: New file.
6955         * doc/glibc-functions/fanotify_mark.texi: New file.
6956         * doc/glibc-functions/inet6_opt_append.texi: New file.
6957         * doc/glibc-functions/inet6_opt_find.texi: New file.
6958         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6959         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6960         * doc/glibc-functions/inet6_opt_init.texi: New file.
6961         * doc/glibc-functions/inet6_opt_next.texi: New file.
6962         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6963         * doc/glibc-functions/inet6_rth_add.texi: New file.
6964         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6965         * doc/glibc-functions/inet6_rth_init.texi: New file.
6966         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6967         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6968         * doc/glibc-functions/inet6_rth_space.texi: New file.
6969         * doc/glibc-functions/login.texi: New file.
6970         * doc/glibc-functions/mbrtoc16.texi: New file.
6971         * doc/glibc-functions/mbrtoc32.texi: New file.
6972         * doc/glibc-functions/name_to_handle_at.texi: New file.
6973         * doc/glibc-functions/ntp_gettimex.texi: New file.
6974         * doc/glibc-functions/open_by_handle_at.texi: New file.
6975         * doc/glibc-functions/prlimit.texi: New file.
6976         * doc/glibc-functions/process_vm_readv.texi: New file.
6977         * doc/glibc-functions/process_vm_writev.texi: New file.
6978         * doc/glibc-functions/recvmmsg.texi: New file.
6979         * doc/glibc-functions/scandirat.texi: New file.
6980         * doc/glibc-functions/sendmmsg.texi: New file.
6981         * doc/glibc-functions/setns.texi: New file.
6982         * doc/glibc-functions/timespec_get.texi: New file.
6983         * doc/gnulib.texi: Include them.
6984         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6985         sections.
6986         Reported by Eric Blake.
6987
6988 2012-02-28  Bruno Haible  <bruno@clisp.org>
6989
6990         Avoid compilation errors with MSVC option -fp:strict.
6991         * lib/floor.c: Use MSVC specific pragma fenv_access.
6992         * lib/ceil.c: Likewise.
6993         * lib/trunc.c: Likewise.
6994         * lib/round.c: Likewise.
6995         * lib/rint.c: Likewise.
6996         * lib/fma.c: Likewise.
6997         * lib/integer_length.c: Likewise.
6998         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6999         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7000         * tests/test-floor2.c: Likewise.
7001         * tests/test-floorf2.c: Likewise.
7002         * tests/test-ceil2.c: Likewise.
7003         * tests/test-ceilf2.c: Likewise.
7004         * tests/test-trunc2.c: Likewise.
7005         * tests/test-truncf2.c: Likewise.
7006         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7007
7008 2012-02-27  Bruno Haible  <bruno@clisp.org>
7009
7010         Tests for module 'sqrtl-ieee'.
7011         * modules/sqrtl-ieee-tests: New file.
7012         * tests/test-sqrtl-ieee.c: New file.
7013
7014         New module 'sqrtl-ieee'.
7015         * modules/sqrtl-ieee: New file.
7016
7017         Tests for module 'sqrt-ieee'.
7018         * modules/sqrt-ieee-tests: New file.
7019         * tests/test-sqrt-ieee.c: New file.
7020
7021         New module 'sqrt-ieee'.
7022         * modules/sqrt-ieee: New file.
7023
7024         Tests for module 'sqrtf-ieee'.
7025         * modules/sqrtf-ieee-tests: New file.
7026         * tests/test-sqrtf-ieee.c: New file.
7027         * tests/test-sqrt-ieee.h: New file.
7028
7029         New module 'sqrtf-ieee'.
7030         * modules/sqrtf-ieee: New file.
7031
7032 2012-02-27  Bruno Haible  <bruno@clisp.org>
7033
7034         remainderl-ieee: Work around test failure on OSF/1.
7035         * m4/remainderl-ieee.m4: New file.
7036         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7037         present, test whether remainderl works with a zero second argument.
7038         Replace it if not.
7039         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7040         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7041         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7042         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7043         (Depends-on): Update conditions.
7044         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7045         (Depends-on): Add remainder-ieee.
7046         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7047         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7048         module.
7049
7050         remainderf-ieee: Work around test failure on OSF/1.
7051         * m4/remainderf-ieee.m4: New file.
7052         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7053         present, test whether remainderf works with a zero second argument.
7054         Replace it if not.
7055         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7056         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7057         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7058         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7059         (Depends-on): Update conditions.
7060         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7061         (Depends-on): Add remainder-ieee.
7062         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7063         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7064         module.
7065
7066         remainder-ieee: Work around test failure on OSF/1.
7067         * m4/remainder-ieee.m4: New file.
7068         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7069         present, test whether remainder works with a zero second argument.
7070         Replace it if not.
7071         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7073         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7074         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7075         (Depends-on): Update dependencies.
7076         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7077         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7078         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7079
7080         Tests for module 'remainderl-ieee'.
7081         * modules/remainderl-ieee-tests: New file.
7082         * tests/test-remainderl-ieee.c: New file.
7083
7084         New module 'remainderl-ieee'.
7085         * modules/remainderl-ieee: New file.
7086
7087         Tests for module 'remainder-ieee'.
7088         * modules/remainder-ieee-tests: New file.
7089         * tests/test-remainder-ieee.c: New file.
7090
7091         New module 'remainder-ieee'.
7092         * modules/remainder-ieee: New file.
7093
7094         Tests for module 'remainderf-ieee'.
7095         * modules/remainderf-ieee-tests: New file.
7096         * tests/test-remainderf-ieee.c: New file.
7097         * tests/test-remainder-ieee.h: New file.
7098
7099         New module 'remainderf-ieee'.
7100         * modules/remainderf-ieee: New file.
7101
7102 2012-02-27  Bruno Haible  <bruno@clisp.org>
7103
7104         modff, modfl: Fix configure syntax error.
7105         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7106         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7107
7108 2012-02-27  Bruno Haible  <bruno@clisp.org>
7109
7110         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7111         * m4/fmodl-ieee.m4: New file.
7112         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7113         whether fmodl works with zero arguments. Replace it if not.
7114         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7115         (Depends-on): Add fmod-ieee.
7116         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7117         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7118
7119         fmodf-ieee: Work around test failure on OSF/1.
7120         * m4/fmodf-ieee.m4: New file.
7121         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7122         whether fmodf works with zero arguments. Replace it if not.
7123         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7124         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7125         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7126         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7127         (Depends-on): Update dependencies.
7128         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7129         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7130         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7131
7132         fmodf-ieee: Work around test failure on MSVC 9.
7133         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7134         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7135
7136         fmod-ieee: Work around test failures on OSF/1, mingw.
7137         * m4/fmod-ieee.m4: New file.
7138         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7139         whether fmod works with zero arguments. Replace it if not.
7140         * lib/math.in.h (fmod): New declaration.
7141         * lib/fmod.c: New file.
7142         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7143         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7144         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7145         * modules/fmod (Files): Add lib/fmod.c.
7146         (Depends-on): Add math, isinf, trunc, fma.
7147         (configure.ac): Arrange to compile lib/fmod.c if needed.
7148         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7149         m4/signbit.m4.
7150         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7151         * tests/test-math-c++.cc: Check the declaration of fmod.
7152         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7153
7154         fmodl-ieee: Fix test failures.
7155         * lib/fmodl.c (fmodl): Treat Inf specially.
7156         * modules/fmodl (Depends-on): Add isinf.
7157
7158         Tests for module 'fmodl-ieee'.
7159         * modules/fmodl-ieee-tests: New file.
7160         * tests/test-fmodl-ieee.c: New file.
7161
7162         New module 'fmodl-ieee'.
7163         * modules/fmodl-ieee: New file.
7164
7165         Tests for module 'fmod-ieee'.
7166         * modules/fmod-ieee-tests: New file.
7167         * tests/test-fmod-ieee.c: New file.
7168
7169         New module 'fmod-ieee'.
7170         * modules/fmod-ieee: New file.
7171
7172         Tests for module 'fmodf-ieee'.
7173         * modules/fmodf-ieee-tests: New file.
7174         * tests/test-fmodf-ieee.c: New file.
7175         * tests/test-fmod-ieee.h: New file.
7176
7177         New module 'fmodf-ieee'.
7178         * modules/fmodf-ieee: New file.
7179
7180 2012-02-27  Bruno Haible  <bruno@clisp.org>
7181
7182         Tests for module 'rintl-ieee'.
7183         * modules/rintl-ieee-tests: New file.
7184         * tests/test-rintl-ieee.c: New file.
7185
7186         New module 'rintl-ieee'.
7187         * modules/rintl-ieee: New file.
7188
7189         Tests for module 'rint-ieee'.
7190         * modules/rint-ieee-tests: New file.
7191         * tests/test-rint-ieee.c: New file.
7192
7193         New module 'rint-ieee'.
7194         * modules/rint-ieee: New file.
7195
7196         Tests for module 'rintf-ieee'.
7197         * modules/rintf-ieee-tests: New file.
7198         * tests/test-rintf-ieee.c: New file.
7199         * tests/test-rint-ieee.h: New file.
7200
7201         New module 'rintf-ieee'.
7202         * modules/rintf-ieee: New file.
7203
7204 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7205
7206         regex: re_search etc. should return -2 when memory exhausted
7207         This bug was uncovered when testing 'grep'.  Without the fix,
7208         re_search and friends return -1 when memory is exhausted, but -1
7209         means no match, and this causes grep to falsely report no-match
7210         instead of memory-exhaustion.  See
7211         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7212         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7213         trouble; this can occur if re_search_internal ran out of memory.
7214
7215 2012-02-26  Bruno Haible  <bruno@clisp.org>
7216
7217         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7218         * m4/modfl-ieee.m4: New file.
7219         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7220         whether modfl works with Inf. Replace it if not.
7221         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7223         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7224         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7225         (Depends-on): Update dependencies.
7226         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7227         m4/signbit.m4.
7228         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7229         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7230
7231         modfl-ieee: Fix dependencies.
7232         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7233
7234         modfl-ieee: Fix test failures.
7235         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7236         * modules/modfl (Depends-on): Add isfinite, isinf.
7237
7238         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7239         * m4/modff-ieee.m4: New file.
7240         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7241         whether modff works with NaN and Inf. Replace it if not.
7242         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7244         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7245         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7246         (Depends-on): Update dependencies.
7247         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7248         m4/signbit.m4.
7249         (Depends-on): Add modf-ieee.
7250         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7251         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7252
7253         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7254         * m4/modf-ieee.m4: New file.
7255         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7256         whether modf works with NaN and Inf. Replace it if not.
7257         * lib/math.in.h (modf): New declaration.
7258         * lib/modf.c: New file.
7259         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7260         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7261         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7262         * modules/modf (Files): Add lib/modf.c.
7263         (Depends-on): Add math, isfinite, trunc, isinf.
7264         (configure.ac): Addrange to compile lib/modf.c if needed.
7265         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7266         m4/signbit.m4.
7267         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7268         * tests/test-math-c++.cc: Check the declaration of modf.
7269         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7270
7271         Tests for module 'modfl-ieee'.
7272         * modules/modfl-ieee-tests: New file.
7273         * tests/test-modfl-ieee.c: New file.
7274
7275         New module 'modfl-ieee'.
7276         * modules/modfl-ieee: New file.
7277
7278         Tests for module 'modf-ieee'.
7279         * modules/modf-ieee-tests: New file.
7280         * tests/test-modf-ieee.c: New file.
7281
7282         New module 'modf-ieee'.
7283         * modules/modf-ieee: New file.
7284
7285         Tests for module 'modff-ieee'.
7286         * modules/modff-ieee-tests: New file.
7287         * tests/test-modff-ieee.c: New file.
7288         * tests/test-modf-ieee.h: New file.
7289
7290         New module 'modff-ieee'.
7291         * modules/modff-ieee: New file.
7292
7293 2012-02-26  Bruno Haible  <bruno@clisp.org>
7294
7295         Tests for module 'fabsl-ieee'.
7296         * modules/fabsl-ieee-tests: New file.
7297         * tests/test-fabsl-ieee.c: New file.
7298
7299         New module 'fabsl-ieee'.
7300         * modules/fabsl-ieee: New file.
7301
7302         Tests for module 'fabs-ieee'.
7303         * modules/fabs-ieee-tests: New file.
7304         * tests/test-fabs-ieee.c: New file.
7305
7306         New module 'fabs-ieee'.
7307         * modules/fabs-ieee: New file.
7308
7309         Tests for module 'fabsf-ieee'.
7310         * modules/fabsf-ieee-tests: New file.
7311         * tests/test-fabsf-ieee.c: New file.
7312         * tests/test-fabs-ieee.h: New file.
7313
7314         New module 'fabsf-ieee'.
7315         * modules/fabsf-ieee: New file.
7316
7317 2012-02-26  Bruno Haible  <bruno@clisp.org>
7318
7319         Tests for module 'fmal-ieee'.
7320         * modules/fmal-ieee-tests: New file.
7321         * tests/test-fmal-ieee.c: New file.
7322
7323         New module 'fmal-ieee'.
7324         * modules/fmal-ieee: New file.
7325
7326         Tests for module 'fma-ieee'.
7327         * modules/fma-ieee-tests: New file.
7328         * tests/test-fma-ieee.c: New file.
7329
7330         New module 'fma-ieee'.
7331         * modules/fma-ieee: New file.
7332
7333         Tests for module 'fmaf-ieee'.
7334         * modules/fmaf-ieee-tests: New file.
7335         * tests/test-fmaf-ieee.c: New file.
7336         * tests/test-fma-ieee.h: New file.
7337
7338         New module 'fmaf-ieee'.
7339         * modules/fmaf-ieee: New file.
7340
7341 2012-02-26  Bruno Haible  <bruno@clisp.org>
7342
7343         Tests for module 'ldexpl-ieee'.
7344         * modules/ldexpl-ieee-tests: New file.
7345         * tests/test-ldexpl-ieee.c: New file.
7346
7347         New module 'ldexpl-ieee'.
7348         * modules/ldexpl-ieee: New file.
7349
7350         Tests for module 'ldexp-ieee'.
7351         * modules/ldexp-ieee-tests: New file.
7352         * tests/test-ldexp-ieee.c: New file.
7353
7354         New module 'ldexp-ieee'.
7355         * modules/ldexp-ieee: New file.
7356
7357         Tests for module 'ldexpf-ieee'.
7358         * modules/ldexpf-ieee-tests: New file.
7359         * tests/test-ldexpf-ieee.c: New file.
7360         * tests/test-ldexp-ieee.h: New file.
7361
7362         New module 'ldexpf-ieee'.
7363         * modules/ldexpf-ieee: New file.
7364
7365 2012-02-26  Bruno Haible  <bruno@clisp.org>
7366
7367         Refactor frexp*-ieee tests.
7368         * tests/test-frexp-ieee.h: New file.
7369         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7370         (main): Just call test_function.
7371         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7372         (main): Just call test_function.
7373         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7374         (main): Just call test_function.
7375         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7376         * modules/frexp-ieee-tests (Files): Likewise.
7377         * modules/frexpl-ieee-tests (Files): Likewise.
7378
7379         Tests for module 'frexpl-ieee'.
7380         * modules/frexpl-ieee-tests: New file.
7381         * tests/test-frexpl-ieee.c: New file.
7382
7383         New module 'frexpl-ieee'.
7384         * modules/frexpl-ieee: New file.
7385
7386         Tests for module 'frexp-ieee'.
7387         * modules/frexp-ieee-tests: New file.
7388         * tests/test-frexp-ieee.c: New file.
7389
7390         New module 'frexp-ieee'.
7391         * modules/frexp-ieee: New file.
7392
7393         Tests for module 'frexpf-ieee'.
7394         * modules/frexpf-ieee-tests: New file.
7395         * tests/test-frexpf-ieee.c: New file.
7396
7397         New module 'frexpf-ieee'.
7398         * modules/frexpf-ieee: New file.
7399
7400 2012-02-26  Bruno Haible  <bruno@clisp.org>
7401
7402         roundl-ieee tests: More tests.
7403         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7404         (main): Add tests for [MX] shaded specification in POSIX.
7405         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7406         (Depends-on): Add isnanl-nolibm.
7407
7408         round-ieee tests: More tests.
7409         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7410         (main): Add tests for [MX] shaded specification in POSIX.
7411         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7412         (Depends-on): Add isnand-nolibm.
7413
7414         roundf-ieee tests: More tests.
7415         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7416         (main): Add tests for [MX] shaded specification in POSIX.
7417         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7418         (Depends-on): Add isnanf-nolibm.
7419
7420         truncl-ieee tests: More tests.
7421         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7422         (main): Add tests for [MX] shaded specification in POSIX.
7423         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7424         (Depends-on): Add isnanl-nolibm.
7425
7426         trunc-ieee tests: More tests.
7427         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7428         (main): Add tests for [MX] shaded specification in POSIX.
7429         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7430         (Depends-on): Add isnand-nolibm.
7431
7432         truncf-ieee tests: More tests.
7433         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7434         (main): Add tests for [MX] shaded specification in POSIX.
7435         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7436         (Depends-on): Add isnanf-nolibm.
7437
7438         ceill-ieee tests: More tests.
7439         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7440         (main): Add tests for [MX] shaded specification in POSIX.
7441         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7442         (Depends-on): Add isnanl-nolibm.
7443
7444         ceil-ieee tests: More tests.
7445         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7446         (main): Add tests for [MX] shaded specification in POSIX.
7447         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7448         (Depends-on): Add isnand-nolibm.
7449
7450         ceilf-ieee tests: More tests.
7451         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7452         (main): Add tests for [MX] shaded specification in POSIX.
7453         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7454         (Depends-on): Add isnanf-nolibm.
7455
7456         floorl-ieee tests: More tests.
7457         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7458         (main): Add tests for [MX] shaded specification in POSIX.
7459         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7460         (Depends-on): Add isnanl-nolibm.
7461
7462         floor-ieee tests: More tests.
7463         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7464         (main): Add tests for [MX] shaded specification in POSIX.
7465         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7466         (Depends-on): Add isnand-nolibm.
7467
7468         floorf-ieee tests: More tests.
7469         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7470         (main): Add tests for [MX] shaded specification in POSIX.
7471         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7472         (Depends-on): Add isnanf-nolibm.
7473
7474 2012-02-26  Bruno Haible  <bruno@clisp.org>
7475
7476         fpieee: More comments.
7477         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7478
7479 2012-02-25  Bruno Haible  <bruno@clisp.org>
7480
7481         Tests for module 'log10l'.
7482         * modules/log10l-tests: New file.
7483         * tests/test-log10l.c: New file.
7484         * tests/test-math-c++.cc: Check the declaration of log10l.
7485
7486         New module 'log10l'.
7487         * lib/math.in.h (log10l): New declaration.
7488         * lib/log10l.c: New file.
7489         * m4/log10l.m4: New file.
7490         * modules/log10l: New file.
7491         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7493         HAVE_DECL_LOG10L.
7494         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7495         HAVE_DECL_LOG10L.
7496         * doc/posix-functions/log10l.texi: Mention the new module.
7497
7498 2012-02-25  Bruno Haible  <bruno@clisp.org>
7499
7500         fmodl, remainder*: Avoid wrong results due to rounding errors.
7501         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7502         expected bounds.
7503         * lib/remainderf.c (remainderf): Likewise.
7504         * lib/remainder.c (remainder): Likewise.
7505         * lib/remainderl.c (remainderl): Likewise.
7506
7507 2012-02-25  Bruno Haible  <bruno@clisp.org>
7508
7509         Tests for module 'remainderl'.
7510         * modules/remainderl-tests: New file.
7511         * tests/test-remainderl.c: New file.
7512         * tests/test-math-c++.cc: Check the declaration of remainderl.
7513
7514         New module 'remainderl'.
7515         * lib/math.in.h (remainderl): New declaration.
7516         * lib/remainderl.c: New file.
7517         * m4/remainderl.m4: New file.
7518         * modules/remainderl: New file.
7519         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7521         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7522         HAVE_REMAINDERL.
7523         * doc/posix-functions/remainderl.texi: Mention the new module.
7524
7525 2012-02-25  Bruno Haible  <bruno@clisp.org>
7526
7527         Tests for module 'remainderf'.
7528         * modules/remainderf-tests: New file.
7529         * tests/test-remainderf.c: New file.
7530         * tests/test-math-c++.cc: Check the declaration of remainderf.
7531
7532         New module 'remainderf'.
7533         * lib/math.in.h (remainderf): New declaration.
7534         * lib/remainderf.c: New file.
7535         * m4/remainderf.m4: New file.
7536         * modules/remainderf: New file.
7537         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7538         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7539         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7540         HAVE_REMAINDERF.
7541         * doc/posix-functions/remainderf.texi: Mention the new module.
7542
7543 2012-02-25  Bruno Haible  <bruno@clisp.org>
7544
7545         remainder: Support for MSVC.
7546         * lib/math.in.h (remainder): New declaration.
7547         * lib/remainder.c: New file.
7548         * m4/remainder.m4: New file.
7549         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7550         (Depends-on): Add math, round, fma.
7551         (configure.ac): Use results of gl_FUNC_REMAINDER.
7552         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7554         HAVE_DECL_REMAINDER.
7555         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7556         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7557         * tests/test-math-c++.cc: Check the declaration of remainder.
7558         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7559         problems are fixed.
7560
7561 2012-02-25  Bruno Haible  <bruno@clisp.org>
7562
7563         Tests for module 'fmodl'.
7564         * modules/fmodl-tests: New file.
7565         * tests/test-fmodl.c: New file.
7566         * tests/test-math-c++.cc: Check the declaration of fmodl.
7567
7568         New module 'fmodl'.
7569         * lib/math.in.h (fmodl): New declaration.
7570         * lib/fmodl.c: New file.
7571         * m4/fmodl.m4: New file.
7572         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7574         REPLACE_FMODL.
7575         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7576         REPLACE_FMODL.
7577         * modules/fmodl: New file.
7578         * doc/posix-functions/fmodl.texi: Mention the new module.
7579
7580 2012-02-25  Bruno Haible  <bruno@clisp.org>
7581
7582         Tests for module 'modfl'.
7583         * modules/modfl-tests: New file.
7584         * tests/test-modfl.c: New file.
7585         * tests/test-math-c++.cc: Check the declaration of modfl.
7586
7587         New module 'modfl'.
7588         * lib/math.in.h (modfl): New declaration.
7589         * lib/modfl.c: New file.
7590         * m4/modfl.m4: New file.
7591         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7592         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7593         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7594         * modules/modfl: New file.
7595         * doc/posix-functions/modfl.texi: Mention the new module.
7596
7597 2012-02-25  Bruno Haible  <bruno@clisp.org>
7598
7599         Tests for module 'fabsl'.
7600         * modules/fabsl-tests: New file.
7601         * tests/test-fabsl.c: New file.
7602         * tests/test-math-c++.cc: Check the declaration of fabsl.
7603
7604         New module 'fabsl'.
7605         * lib/math.in.h (fabsl): New declaration.
7606         * lib/fabsl.c: New file.
7607         * m4/fabsl.m4: New file.
7608         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7609         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7610         REPLACE_FABSL.
7611         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7612         REPLACE_FABSL.
7613         * modules/fabsl: New file.
7614         * doc/posix-functions/fabsl.texi: Mention the new module.
7615
7616 2012-02-25  Bruno Haible  <bruno@clisp.org>
7617
7618         fabs tests: More tests.
7619         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7620         (zero): New variable.
7621         (main): Add tests for signed zero.
7622         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7623
7624         fabsf tests: More tests.
7625         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7626         (zero): New variable.
7627         (main): Add tests for signed zero.
7628         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7629
7630 2012-02-24  Bruno Haible  <bruno@clisp.org>
7631
7632         atanl: Provide function definition on MSVC.
7633         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7634         function pointer.
7635         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7636
7637 2012-02-24  Bruno Haible  <bruno@clisp.org>
7638
7639         acosl: Provide function definition on MSVC.
7640         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7641         function pointer.
7642         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7643
7644 2012-02-24  Bruno Haible  <bruno@clisp.org>
7645
7646         asinl: Provide function definition on MSVC.
7647         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7648         function pointer.
7649         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7650
7651 2012-02-24  Bruno Haible  <bruno@clisp.org>
7652
7653         tanl: Provide function definition on MSVC.
7654         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7655         function pointer.
7656         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7657
7658 2012-02-24  Bruno Haible  <bruno@clisp.org>
7659
7660         cosl: Provide function definition on MSVC.
7661         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7662         function pointer.
7663         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7664
7665 2012-02-24  Bruno Haible  <bruno@clisp.org>
7666
7667         sinl: Provide function definition on MSVC.
7668         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7669         function pointer.
7670         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7671
7672 2012-02-24  Bruno Haible  <bruno@clisp.org>
7673
7674         logl: Provide function definition on MSVC.
7675         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7676         function pointer.
7677         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7678
7679 2012-02-24  Bruno Haible  <bruno@clisp.org>
7680
7681         expl: Provide function definition on MSVC.
7682         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7683         function pointer.
7684         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7685
7686 2012-02-24  Bruno Haible  <bruno@clisp.org>
7687
7688         sqrtl: Provide function definition on MSVC.
7689         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7690         a function pointer.
7691         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7692
7693 2012-02-24  Bruno Haible  <bruno@clisp.org>
7694
7695         ceill: Provide function definition on MSVC.
7696         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7697         used as a function pointer.
7698         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7699
7700 2012-02-24  Bruno Haible  <bruno@clisp.org>
7701
7702         floorl: Provide function definition on MSVC.
7703         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7704         used as a function pointer.
7705         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7706
7707 2012-02-24  Bruno Haible  <bruno@clisp.org>
7708
7709         ceilf: Provide function definition on MSVC.
7710         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7711         used as a function pointer.
7712         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7713
7714 2012-02-24  Bruno Haible  <bruno@clisp.org>
7715
7716         floorf: Provide function definition on MSVC.
7717         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7718         used as a function pointer.
7719         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7720
7721 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7722
7723         stdnoreturn: new module
7724         This implements a replacement for C11's <stdnoreturn.h>.
7725         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7726         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7727         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7728         * tests/test-stdnoreturn.c: New files.
7729
7730 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7731
7732         regex: fix false multibyte matches in some regular expressions
7733         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7734         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7735         * lib/regex_internal.c (re_string_skip_chars):
7736         Fix miscomputation of remain_len that may cause incomplete
7737         multi-byte character and false match.
7738
7739 2012-02-24  Jim Meyering  <meyering@redhat.com>
7740
7741         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7742         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7743         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7744         Remove now-unnecessary str''cmp obfuscation.
7745         Suggested by Akim Demaille.
7746
7747 2012-02-24  Bruno Haible  <bruno@clisp.org>
7748
7749         streq: Rename macro.
7750         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7751         * NEWS: Mention the change.
7752         * lib/mbrtowc.c (mbrtowc): Update.
7753         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7754         * lib/wcwidth.c (wcwidth): Update.
7755         Suggested by Akim Demaille and Jim Meyering.
7756
7757 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7758
7759         regex: fix typo in definition of MIN
7760         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7761         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7762
7763 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7764             Bruno Haible  <bruno@clisp.org>
7765
7766         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7767         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7768         entries into a stack-allocated buffer directly.
7769         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7770
7771 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7772             Bruno Haible  <bruno@clisp.org>
7773
7774         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7775
7776          - There were several instances of this pattern:
7777
7778              for (;;) {
7779                n = acl (f, GETACLCNT, 0, NULL);
7780                [ allocate an array A of size N ]
7781                if (acl (f, GETACL, n, a) == n)
7782                  break;
7783              }
7784
7785            This loop might never terminate if some other process is constantly
7786            manipulating the file's ACL.  The loop should be rewritten to
7787            terminate.
7788
7789          - The acl (... GETACLNT ...) call is merely an optimization; its value
7790            is merely a hint as to how big to make the array.  A better
7791            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7792            and just guess a reasonably-big size, growing the size and trying
7793            again if it's not large enough.  This guarantees termination, and
7794            saves a system call.
7795
7796         * lib/acl-internal.h: Include <limits.h>.
7797         (MIN, SIZE_MAX): New macros.
7798         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7799         a stack-allocated buffer, and use malloc if it does not fit. Don't
7800         use GETACLCNT.
7801         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7802
7803 2012-02-19  Bruno Haible  <bruno@clisp.org>
7804
7805         acl: Fix endless loop on Solaris with vxfs.
7806         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7807         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7808         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7809         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7810         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7811         Reported by Bill Jones in
7812         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7813
7814 2012-02-19  Bruno Haible  <bruno@clisp.org>
7815
7816         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7817         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7818         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7819         that this function returns 0 in some more cases.
7820
7821 2012-02-19  Bruno Haible  <bruno@clisp.org>
7822
7823         acl: Update doc references.
7824         * doc/acl-resources.txt: Update links to Solaris documentation.
7825
7826 2012-02-19  Bruno Haible  <bruno@clisp.org>
7827
7828         Fix test failure in many locales on Solaris 11.
7829         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7830         'tr' arguments.
7831         * tests/test-pipe-filter-ii1.c (main): Likewise.
7832         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7833         expressions in the C locale.
7834         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7835         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7836
7837 2012-02-19  Bruno Haible  <bruno@clisp.org>
7838
7839         gnulib-tool: Improve usage message.
7840         * gnulib-tool (func_usage): Move doc of --help and --version to the
7841         section "Operation modes".
7842
7843 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7844
7845         README-release: make it easier to execute commands
7846         * top/README-release: break commands out on to separate lines.
7847
7848 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7849
7850         GNUmakefile: simplify detection of unconfigured trees
7851         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7852         whether the tree make is being run from is already configured or
7853         not.  Related simplifications.
7854
7855 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7856
7857         * gnulib-tool (func_usage): Document --help and --version.
7858
7859 2012-02-11  Jim Meyering  <meyering@redhat.com>
7860
7861         bootstrap: don't exit 0 upon gnulib-tool failure
7862         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7863         its exit status, not 0.
7864
7865 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7866
7867         README-release: various improvements
7868         * top/README-release: Give a command to push changes for the
7869         release.  Add "distcheck" to list of other pre-release checks.
7870         Fix instance of "make stable" which should be "make TYPE".
7871
7872 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7873
7874         maint: replace FSF snail-mail addresses with URLs
7875         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7876         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7877         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7878         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7879         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7880         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7881         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7882         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7883         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7884         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7885         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7886         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7887         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7888         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7889         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7890         * lib/glthread/thread.c, lib/glthread/thread.h:
7891         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7892         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7893         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7894         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7895         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7896         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7897         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7898         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7899         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7900         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7901         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7902         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7903         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7904         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7905         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7906         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7907         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7908         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7909         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7910         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7911         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7912         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7913         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7914         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7915         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7916         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7917         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7918         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7919         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7920         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7921         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7922         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7923         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7924         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7925         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7926         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7927         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7928         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7929         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7930         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7931         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7932         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7933         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7934         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7935         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7936         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7937         * tests/test-poll.c, tests/test-quotearg-simple.c:
7938         * tests/test-quotearg.c, tests/test-quotearg.h:
7939         * tests/test-round-ieee.c, tests/test-round1.c:
7940         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7941         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7942         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7943         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7944         * tests/test-strerror.c, tests/test-strerror_r.c:
7945         * tests/test-strsignal.c, tests/test-strverscmp.c:
7946         * tests/test-xmemdup0.c:
7947         Replace FSF snail mail addresses with URLs, as per GNU coding
7948         standards.  See glibc bug
7949         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7950
7951 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7952
7953         README-release: capitalize a word and split a line
7954         * top/README-release: Fix punctuation and spacing.
7955
7956 2012-02-08  Akim Demaille  <demaille@gostai.com>
7957
7958         fatal-signal: use C prototypes (with explicit void).
7959         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7960         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7961
7962 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7963
7964         regex: spelling fix
7965         * lib/regexec.c: spelling fix
7966
7967         regex: rely on stdint.h for SIZE_MAX
7968         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7969
7970 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7971
7972         regex: merge glibc changes
7973
7974         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7975         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7976         (init_word_char): Work even if bitset words are not exactly 32 or
7977         64 bits wide.  Don't assume there are no padding bits.
7978         * lib/regex.c [_LIBC]: Do not include <config.h>.
7979         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7980         and -Wtype-limits.
7981         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7982         needless disagreement with glibc.  All uses changed.  Define it to
7983         1 only if _GNU_SOURCE, to match glibc.
7984         (_REG_RM_NAME): Remove; no longer needed, since the names in
7985         question are now all protected by __USE_GNU.
7986         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7987         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7988         * lib/regex_internal.h (MIN): New macro.
7989
7990         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7991         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7992
7993         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7994         * lib/regex_internal.c (re_string_fetch_byte_case):
7995         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7996         is miscompiled, and it turns out it is because of an incorrect
7997         attribute on re_string_fetch_byte_case.  Unlike
7998         re_string_peek_byte_case, this one is really not pure, it modifies
7999         memory (increments pstr->cur_idx), and with the pure attribute GCC
8000         assumed it doesn't and it cached the presumed value of
8001         regexp->cur_idx in a variable across the
8002          for (;; ++i)
8003            {
8004              if (i >= BRACKET_NAME_BUF_SIZE)
8005                return REG_EBRACK;
8006              if (token->type == OP_OPEN_CHAR_CLASS)
8007                ch = re_string_fetch_byte_case (regexp);
8008              else
8009                ch = re_string_fetch_byte (regexp);
8010              if (re_string_eoi(regexp))
8011                return REG_EBRACK;
8012              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8013                break;
8014              elem->opr.name[i] = ch;
8015            }
8016
8017         2011-11-29 Andreas Schwab <schwab@redhat.com>
8018         * lib/regcomp.c (build_equiv_class):
8019         Fix access after end of search string in regex matcher.
8020
8021         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8022         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8023
8024         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8025         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8026
8027         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8028         * lib/regcomp.c (parse_branch, parse_sub_exp):
8029         More regex memory leak fixes and tests.
8030         (parse_sub_exp, parse_bracket_exp):
8031         Fix memory leak for some invalid regular expressions.
8032
8033         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8034         * lib/regex_internal.c, lib/regexec.c:
8035         Fix unnecessary overallocation due to incomplete character.  When
8036         incomplete characters are found at the end of a string the code
8037         ran amok and allocated lots of memory.  Stricter limits are now in
8038         place.
8039
8040         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8041         * lib/regex.h: Update documentation.
8042
8043         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8044         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8045
8046         2010-05-05 Andreas Schwab <schwab@redhat.com>
8047         * lib/regexec.c (find_collation_sequence_value):
8048         Fix lookup of collation sequence value during regexp matching.
8049
8050         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8051         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8052
8053         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8054         * lib/regex.h: Cleanup namespace.
8055
8056         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8057         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8058
8059         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8060         * lib/regex_internal.h: Prevent some declarations and definitions
8061         to be seen when used in tests.
8062
8063         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8064         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8065         __libc_lock_* macros if not _LIBC.
8066         (struct re_dfa_t): Add lock.
8067
8068 2012-02-07  Eric Blake  <eblake@redhat.com>
8069
8070         maint.mk: also prohibit lower-case @var@
8071         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8072         lower case, like @top_srcdir@.
8073
8074 2012-02-04  Eric Blake  <eblake@redhat.com>
8075
8076         canonicalize: avoid uninitialized memory use
8077         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8078         random '/' left in dest.
8079         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8080
8081 2012-02-04  Bruno Haible  <bruno@clisp.org>
8082
8083         isatty: Fix test failure of ptsname_r on native Windows.
8084         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8085         and don't set errno.
8086         (isatty): Test first whether fd is valid. Set errno when returning 0.
8087
8088 2012-02-04  Bruno Haible  <bruno@clisp.org>
8089
8090         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8091         * tests/test-spawn-pipe-main.c: Include progname.h.
8092         (main): Invoke set_program_name.
8093         * modules/spawn-pipe-tests (Depends-on): Add progname.
8094
8095         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8096         * tests/test-nonblocking-socket-main.c: Include progname.h.
8097         (main): Invoke set_program_name.
8098         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8099
8100         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8101         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8102         (main): Invoke set_program_name.
8103         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8104
8105 2012-02-04  Eric Blake  <eblake@redhat.com>
8106
8107         canonicalize-lgpl: fix // handling
8108         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8109
8110         canonicalize: fix // handling
8111         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8112         /// to //, since only // is special.
8113
8114 2012-02-04  Bruno Haible  <bruno@clisp.org>
8115
8116         ioctl: Fix test failure on native Windows.
8117         * lib/ioctl.c: Include msvc-nothrow.h.
8118         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8119
8120 2012-02-04  Bruno Haible  <bruno@clisp.org>
8121
8122         fsync: Avoid test failure on native Windows.
8123         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8124         read-only.
8125
8126 2012-02-04  Bruno Haible  <bruno@clisp.org>
8127
8128         sys_select: Avoid syntax error on OpenBSD 5.0.
8129         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8130         currently being included, just include the system's <sys/select.h>.
8131
8132 2012-02-04  Bruno Haible  <bruno@clisp.org>
8133
8134         sys_select: Avoid syntax error on OpenBSD 5.0.
8135         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8136         <sys/select.h>, not before.
8137         Reported by Jiri B <jirib@devio.us>.
8138
8139 2012-02-04  Bruno Haible  <bruno@clisp.org>
8140
8141         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8142         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8143         global variables.
8144         * tests/test-get-rusage-data.c (main): Likewise.
8145         Reported by Jim Meyering.
8146
8147 2012-02-04  Bruno Haible  <bruno@clisp.org>
8148
8149         stdioext: Fix last commit.
8150         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8151
8152 2012-02-03  Bruno Haible  <bruno@clisp.org>
8153
8154         stdioext: Add tentative support for Plan9.
8155         * lib/stdio-impl.h: Include <errno.h>.
8156         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8157         * lib/freadable.c (freadable): Likewise.
8158         * lib/fwritable.c (fwritable): Likewise.
8159         * lib/fbufmode.c (fbufmode): Likewise.
8160         * lib/freading.c (freading): Likewise.
8161         * lib/fwriting.c (fwriting): Likewise.
8162         * lib/freadptr.c (freadptr): Likewise.
8163         * lib/freadseek.c (freadptrinc): Likewise.
8164         * lib/freadahead.c (freadahead): Likewise.
8165         * lib/fpurge.c (fpurge): Likewise.
8166         * lib/fseeko.c (rpl_fseeko): Likewise.
8167         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8168         Reported by Jens Staal <staal1978@gmail.com>.
8169
8170 2012-02-02  Jim Meyering  <meyering@redhat.com>
8171
8172         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8173         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8174         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8175         not even to try to add the attribute.  Instead, add a pragma to suppress
8176         the suggestion/warning.
8177
8178 2012-01-31  Karl Berry  <karl@gnu.org>
8179
8180         setstate doc: typo.
8181         * doc/posix-functions/setstate.texi (setstate): { not (.
8182
8183 2012-01-31  Bruno Haible  <bruno@clisp.org>
8184
8185         popen: Make more robust on Windows.
8186         * lib/popen.c: On native Windows, use the _popen based code even if
8187         HAVE_POPEN is set.
8188         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8189         environment variable on native Windows.
8190
8191 2012-01-30  Bruno Haible  <bruno@clisp.org>
8192
8193         pclose: Fix typo.
8194         * lib/stdio.in.h (pclose): Fix typo in warning message.
8195
8196 2012-01-30  Bruno Haible  <bruno@clisp.org>
8197
8198         doc about getlogin_r, setstate.
8199         * doc/posix-functions/getlogin_r.texi: List the incompatible
8200         declaration problem under "not fixed by gnulib".
8201         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8202         problem on Solaris 11 and other platforms.
8203
8204 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8205             Bruno Haible  <bruno@clisp.org>
8206
8207         poll tests: Make test more robust.
8208         * tests/test-poll.c: Include macros.h.
8209         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8210         return value of various I/O operations.
8211         * modules/poll-tests (Files): Add tests/macros.h.
8212
8213 2012-01-30  Bruno Haible  <bruno@clisp.org>
8214
8215         sys_stat: Fix support for mingw64 and MSVC.
8216         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8217         header files already do it.
8218         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8219         stat itself.
8220         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8221
8222 2012-01-30  Bruno Haible  <bruno@clisp.org>
8223
8224         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8225         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8226         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8227
8228 2012-01-29  Bruno Haible  <bruno@clisp.org>
8229
8230         quotearg: Fix test failure on MacOS X 10.5.
8231         * tests/test-quotearg-simple.c: Include localcharset.h.
8232         (main): If the locale encoding is not ASCII, bypass the tests of
8233         locale_quoting_style and clocale_quoting_style.
8234         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8235
8236 2012-01-29  Jim Meyering  <meyering@redhat.com>
8237
8238         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8239         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8240         detect uses of canonicalize_file_name.
8241
8242 2012-01-28  Bruno Haible  <bruno@clisp.org>
8243
8244         test-framework-sh: Fix test failure with AIX 7.1 diff.
8245         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8246         in column 1, like 'diff -c' does.
8247         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8248         whether 'diff -u' is used. Instead, test whether the output contains
8249         some '@' character.
8250
8251 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8252
8253         strtoimax: eliminate need for stdint.h, inttypes.h checks
8254         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8255         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8256         the prerequisites for a recently-introduced strtoimax test.
8257         I guess this might cause strtoimax to be replaced when not
8258         strictly necessary on older hosts, but this shouldn't introduce
8259         any bugs and it should make Emacs 'configure' faster on typical
8260         modern hosts.  Problem discovered when importing the latest gnulib
8261         to an Emacs test version.
8262         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8263
8264 2012-01-28  Bruno Haible  <bruno@clisp.org>
8265
8266         sys_time: Override 'struct timeval' on some native Windows platforms.
8267         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8268         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8269         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8270         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8271         needs to be overridden.
8272         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8273         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8274         * tests/test-sys_select.c: Check that the tv_sec member has the same
8275         size as a 'time_t'.
8276         * tests/test-sys_time.c: Likewise.
8277         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8278         is set, set also REPLACE_GETTIMEOFDAY.
8279         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8280         convert the resulting 'struct timeval' before returning.
8281         * lib/select.c: Include <sys/time.h>.
8282         (select, timeval): Undefine at the right place.
8283         * modules/select (Depends-on): Add sys_time.
8284         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8285         some Windows platforms.
8286         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8287
8288 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8289
8290         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8291         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8292         an integer.
8293         * lib/fcntl.c (dupfd): Likewise.
8294         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8295
8296 2012-01-28  Bruno Haible  <bruno@clisp.org>
8297
8298         fcntl: Avoid compilation error on native Windows.
8299         * modules/fcntl (Depends-on): Add 'close'.
8300
8301 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8302
8303         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8304         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8305         pointer to an integer.
8306         * lib/poll.c (IsConsoleHandle): Likewise.
8307         * lib/isatty.c (IsConsoleHandle): Likewise.
8308
8309 2012-01-28  Jim Meyering  <meyering@redhat.com>
8310
8311         doc: clarify README-release
8312         * top/README-release: Clarify: you should make a point to have
8313         the latest stable versions of build tools in your PATH, and the
8314         reference to buildreq is solely for its list of tool names, not
8315         for its minimal-functional version numbers.
8316         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8317
8318         maint.mk: use more readable (yet functionally equivalent) quoting
8319         It is common to quote a single quote in a single quoted string like
8320         this:  '...'\''...'.  Unless you know the idiom, that looks like
8321         gibberish, so prefer to double-quote the string when possible.
8322         Then you can use a more readable, lone single quote: "...'..."
8323         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8324         "don't" is more readable than the equivalent 'don'\''t'.
8325         (sc_cast_of_x_alloc_return_value): Likewise.
8326         (sc_cast_of_alloca_return_value): Likewise.
8327         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8328         rather than '\'':'\''.
8329
8330 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8331
8332         stdalign: relax _Alignof and tighten _Alignas test
8333         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8334         as it was too strict: alignof must divide offsetof, but it need
8335         not equal offsetof.  Inspired by Joseph S. Myers's comment
8336         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8337         Conversely, tighten the _Alignas test a bit, as the resulting
8338         alignment must be exactly 8.
8339
8340 2012-01-27  Bruno Haible  <bruno@clisp.org>
8341
8342         stdalign: Document the last change.
8343         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8344
8345 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8346
8347         stdalign: check that alignof and offsetof are consistent
8348         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8349         Problem reported for gnulib by Richard W.M. Jones in
8350         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8351
8352 2012-01-27  Jim Meyering  <meyering@redhat.com>
8353
8354         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8355         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8356         convert a sequence with gaps to the minimal containing range.
8357         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8358         * tests/test-update-copyright.sh: Test for this.
8359         The FSF confirmed it is ok to do this, assuming there is at
8360         least one significant change per year in the affected range:
8361         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8362
8363 2012-01-26  Bruno Haible  <bruno@clisp.org>
8364
8365         pipe2: refine doc about thread-safety
8366         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8367         multithread-safety problem.
8368         * doc/glibc-functions/accept4.texi: Likewise.
8369
8370 2012-01-26  Bruno Haible  <bruno@clisp.org>
8371
8372         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8373         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8374         In the test program, include <fcntl.h>, for O_RDONLY.
8375
8376 2012-01-26  Eric Blake  <eblake@redhat.com>
8377
8378         pipe2: document lack of thread-safety in replacement
8379         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8380         issue in replacement.
8381         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8382         Based on a report by Eric Wong.
8383
8384 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8385             Bruno Haible  <bruno@clisp.org>
8386
8387         malloca: Avoid warnings on x86_64 mingw64.
8388         * lib/malloca.c: Include <stdint.h>.
8389         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8390         * modules/malloca (Depends-on): Add stdint.
8391         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8392
8393 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8394
8395         obstack: remove __STDC__ conditionals
8396         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8397         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8398         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8399         m4/include_next.m4 as the only gnulib-maintained places that still
8400         refer to __STDC__.
8401
8402 2012-01-24  Bruno Haible  <bruno@clisp.org>
8403
8404         havelib: Modern quoting.
8405         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8406         the recent change to the GNU coding standards.
8407
8408 2012-01-24  Bruno Haible  <bruno@clisp.org>
8409
8410         stdint: Improve support for Android.
8411         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8412         Reported by Simon Josefsson <simon@josefsson.org>.
8413
8414 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8415
8416         doc: omit trailing empty lines from INSTALL etc.
8417         * doc/Makefile (INSTALL): Omit trailing empty lines.
8418         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8419         omit trailing empty lines.  This simplifies the build procedure.
8420
8421 2012-01-23  Jim Meyering  <meyering@redhat.com>
8422
8423         tests: avoid spurious warnings about gl_sockets_startup
8424         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8425         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8426         reporting a "statement with no effect".
8427         * tests/test-accept.c (main): Mark as "(void)".
8428         * tests/test-accept4.c (main): Likewise.
8429         * tests/test-bind.c (main): Likewise.
8430         * tests/test-connect.c (main): Likewise.
8431         * tests/test-getpeername.c (main): Likewise.
8432         * tests/test-getsockname.c (main): Likewise.
8433         * tests/test-getsockopt.c (main): Likewise.
8434         * tests/test-listen.c (main): Likewise.
8435         * tests/test-recv.c (main): Likewise.
8436         * tests/test-recvfrom.c (main): Likewise.
8437         * tests/test-send.c (main): Likewise.
8438         * tests/test-sendto.c (main): Likewise.
8439         * tests/test-setsockopt.c (main): Likewise.
8440         * tests/test-shutdown.c (main): Likewise.
8441
8442 2012-01-21  Bruno Haible  <bruno@clisp.org>
8443
8444         locale-fr.m4: Fix for Android.
8445         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8446         failure of the test program on Bionic libc.
8447
8448 2012-01-21  Jim Meyering  <meyering@redhat.com>
8449
8450         bootstrap: fail when bootstrap_post_import_hook fails
8451         Otherwise, it's far too easy to miss diagnostics emitted
8452         between gnulib-tool's output and that of running configure.
8453         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8454
8455 2012-01-17  Jim Meyering  <meyering@redhat.com>
8456
8457         maint: enable sc_trailing_blank
8458         * build-aux/pmccabe.css: Remove trailing blanks.
8459         * doc/acl-cygwin.txt: Likewise.
8460         * doc/gnu-oids.texi: Likewise
8461         * cfg.mk: Enable sc_trailing_blank.
8462         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8463
8464 2012-01-17  Jim Meyering  <meyering@redhat.com>
8465
8466         maint: enable sc_prohibit_openat_without_use
8467         * cfg.mk: Enable sc_prohibit_openat_without_use.
8468         Exempt lib/selinux-at.c.
8469
8470 2012-01-17  Jim Meyering  <meyering@redhat.com>
8471
8472         maint: enable sc_prohibit_cloexec_without_use
8473         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8474         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8475
8476 2012-01-17  Jim Meyering  <meyering@redhat.com>
8477
8478         maint: enable sc_prohibit_intprops_without_use
8479         * cfg.mk: Enable sc_prohibit_intprops_without_use
8480         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8481
8482 2012-01-17  Jim Meyering  <meyering@redhat.com>
8483
8484         maint: enable sc_prohibit_hash_pjw_without_use
8485         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8486         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8487         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8488         following " (".
8489
8490 2012-01-17  Jim Meyering  <meyering@redhat.com>
8491
8492         maint: enable double-word-prohibiting rule
8493         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8494         Exempt three files.
8495
8496 2012-01-17  Jim Meyering  <meyering@redhat.com>
8497
8498         maint: remove empty lines at EOF, but excluding modules/*
8499         Apply syntax rules at home as well as abroad.  Most changes
8500         were induced by running this:
8501           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8502             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8503             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8504         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8505         Exempt modules/* and two binary files.
8506         Also exempt doc/INSTALL*, per request from Bruno Haible.
8507         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8508         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8509         * doc/Copyright/request-assign.future: Likewise.
8510         * doc/Copyright/request-disclaim.changes: Likewise.
8511         * doc/INSTALL: Likewise.
8512         * doc/INSTALL.ISO: Likewise.
8513         * doc/INSTALL.UTF-8: Likewise.
8514         * doc/acl-cygwin.txt: Likewise.
8515         * doc/acl-resources.txt: Likewise.
8516         * doc/fdl-1.2.texi: Likewise.
8517         * doc/fdl-1.3.texi: Likewise.
8518         * doc/fdl.texi: Likewise.
8519         * lib/argp-pin.c: Likewise.
8520         * lib/round.c: Likewise.
8521         * lib/unicase/u16-totitle.c: Likewise.
8522         * lib/unictype/block_test.c: Likewise.
8523         * lib/uninorm/canonical-decomposition.c: Likewise.
8524         * m4/README: Likewise.
8525         * m4/relocatable-lib.m4: Likewise.
8526         * tests/test-isnand-nolibm.c: Likewise.
8527         * tests/test-isnand.c: Likewise.
8528         * tests/uninorm/NormalizationTest.txt: Likewise.
8529
8530 2012-01-17  Jim Meyering  <meyering@redhat.com>
8531
8532         maint: add framework to run syntax-check rules against gnulib sources
8533         * cfg.mk: New file, to disable all currently-failing tests.
8534         We'll enable them one by one, as they are made to pass.
8535         * Makefile (sc_maint): New rule.
8536
8537 2012-01-21  Bruno Haible  <bruno@clisp.org>
8538
8539         stdint: Add support for Android.
8540         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8541         include the system's <stdint.h>.
8542         Reported by Simon Josefsson <simon@josefsson.org>.
8543
8544 2012-01-19  Jim Meyering  <meyering@redhat.com>
8545
8546         bootstrap: add bootstrap_post_import_hook
8547         Bison does still need something like the gnulib_mk_hook whose
8548         invocation I had to remove along with slurp in commit 767ccd40.
8549         Technically, we could get along without it, but doing so would
8550         have required living with a warning and a mandatory post-bootstrap
8551         automake rerun.
8552         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8553         (bootstrap_post_import_hook): New function.
8554         Invoke it after gnulib-tool --import and before autoreconf.
8555
8556 2012-01-18  Jim Meyering  <meyering@redhat.com>
8557
8558         gitlog-to-changelog: don't use "no_"-prefixed variable name
8559         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8560         to enable both --cluster and --no-cluster.  Change variable name,
8561         s/\$no_cluster/$cluster/, and reverse usage to match.
8562
8563         gitlog-to-changelog: use "||", not "or" in expressions
8564         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8565         expressions.
8566
8567 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8568
8569         gitlog-to-changelog: new option --no-cluster
8570         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8571         clustering of adjacent commit messages.
8572
8573 2012-01-17  Jim Meyering  <meyering@redhat.com>
8574
8575         maint: spell file systems with two words, not one
8576         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8577         two words, not one.
8578
8579 2012-01-16  Jim Meyering  <meyering@redhat.com>
8580
8581         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8582         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8583
8584 2012-01-16  Eric Blake  <eblake@redhat.com>
8585
8586         bootstrap: cater to autoconf 2.59
8587         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8588         is not available.
8589
8590         bootstrap: properly check for libtool
8591         * build-aux/bootstrap (libtoolize): Also run libtool when older
8592         usage is detected.
8593
8594 2012-01-15  Bruno Haible  <bruno@clisp.org>
8595
8596         Improve support for MSVC 9.
8597         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8598         clashes on MSVC.
8599         * lib/fcntl.in.h: Likewise.
8600         * lib/stdlib.in.h: Likewise.
8601         * lib/sys_stat.in.h: Likewise.
8602
8603 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8604
8605         gnupload: we hold the master copy of this script now
8606         For motivation and more information, see:
8607         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8608         * build-aux/gnupload: Make it clear in the heading comments that the
8609         master copy of this file is maintained by gnulib.  Since we are at
8610         it, bump its copyright year and ...
8611         ($scriptversion): ... the date in its version.
8612         ($usage): Patches and bug reports should be sent to the gnulib list,
8613         not the automake one.
8614         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8615         anymore.
8616
8617 2012-01-15  Bruno Haible  <bruno@clisp.org>
8618
8619         Fix module 'random'.
8620         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8621         initstate, setstate are declared.
8622
8623 2012-01-14  Bruno Haible  <bruno@clisp.org>
8624
8625         Tests for module 'random'.
8626         * modules/random-tests: New file.
8627         * tests/test-random.c: New file, based on tests/test-random_r.c.
8628
8629         New module 'random'.
8630         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8631         declarations.
8632         * lib/random.c: New file, based on glibc/stdlib/random.c.
8633         * m4/random.m4: New file.
8634         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8635         HAVE_RANDOM.
8636         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8637         * modules/random: New file.
8638         * config/srclist.txt: Add an entry for random.c.
8639         * doc/posix-functions/random.texi: Mention the 'random' module.
8640         * doc/posix-functions/initstate.texi: Likewise.
8641         * doc/posix-functions/setstate.texi: Likewise.
8642         * doc/posix-functions/srandom.texi: Likewise.
8643
8644 2012-01-12  Bruno Haible  <bruno@clisp.org>
8645
8646         random_r: Use common idioms.
8647         * lib/random_r.c: Include <stdlib.h> first.
8648
8649         random_r: Override incompatible API on AIX, OSF/1.
8650         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8651         Override the system function if REPLACE_RANDOM_R is 1.
8652         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8653         and OSF/1, set REPLACE_RANDOM_R.
8654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8655         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8656         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8657         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8658         * doc/glibc-functions/random_r.texi: Likewise.
8659         * doc/glibc-functions/setstate_r.texi: Likewise.
8660
8661         random_r: Support for MSVC 9.
8662         * lib/random_r.c: Include stdint.h, not inttypes.h.
8663
8664 2012-01-12  Eric Blake  <eblake@redhat.com>
8665
8666         inet_ntop: guard extra work by IF_LINT
8667         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8668         better code generation when not checking for warnings.
8669         Suggested by Paul Eggert and Jim Meyering.
8670
8671         strptime: fix regression on mingw
8672         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8673         Fix regression.  Reported by Bruno Haible.
8674
8675 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8676             Bruno Haible  <bruno@clisp.org>
8677
8678         copy-file: add error-code-returning variant.
8679         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8680         (qcopy_file_preserving): New declaration.
8681         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8682         copy_file_preserving. Change return type to 'int'. Don't emit an error
8683         message here.
8684         (copy_file_preserving): New function.
8685         * tests/test-copy-file.c: Include <stdlib.h>.
8686         (main): Test qcopy_file_preserving if the environment variable
8687         NO_STDERR_OUTPUT is set.
8688         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8689         with NO_STDERR_OUTPUT
8690         * tests/test-copy-file-2.sh: Likewise.
8691
8692 2012-01-10  Bruno Haible  <bruno@clisp.org>
8693
8694         copy-file: Use 'quote' module consistently.
8695         * lib/copy-file.c (copy_file_preserving): Use quote().
8696
8697         copy-file: Refactor.
8698         * lib/copy-file.c: Include quote.h.
8699         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8700         message here.
8701         * modules/copy-file (Depends-on): Add quote.
8702
8703         acl: Export qcopy_acl.
8704         * lib/acl.h (qcopy_acl): New declaration.
8705         * lib/copy-acl.c (qcopy_acl): Make non-static.
8706
8707         acl: Rename a local variable.
8708         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8709
8710         acl: Align return values of copy_acl and qcopy_acl.
8711         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8712         maybe < -1.
8713
8714 2012-01-11  Eric Blake  <eblake@redhat.com>
8715
8716         strptime: silence gcc warnings
8717         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8718         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8719         Reported by Daniel P. Berrange.
8720
8721         inet_ntop: silence gcc warning
8722         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8723         Reported by Daniel P. Berrange.
8724
8725 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8726
8727         getloadavg test: skip the test on GNU/Linux without /proc mounted
8728         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8729         file.  When /proc is not mounted, it always fails with ENOENT.
8730         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8731         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8732
8733 2012-01-10  Bruno Haible  <bruno@clisp.org>
8734
8735         regex: Avoid link error on MSVC 9.
8736         * modules/regex (Depends-on): Add wctype.
8737
8738 2012-01-10  Bruno Haible  <bruno@clisp.org>
8739
8740         doc: Mention --with-tests option.
8741         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8742         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8743         --with-tests.
8744         Reported by Reuben Thomas.
8745
8746 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8747
8748         users.txt: order package names lexicographically.
8749         * users.txt: Order package names lexicographically.
8750
8751 2012-01-10  Jim Meyering  <meyering@redhat.com>
8752
8753         maint.mk: fix description in comment
8754         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8755
8756         ignore-value: remove deprecated ignore_ptr function
8757         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8758         * NEWS: Note this.
8759
8760 2012-01-09  Jim Meyering  <meyering@redhat.com>
8761
8762         test-init.sh: avoid a subshell
8763         * tests/test-init.sh: Remove protective subshell.
8764         Suggested by Bernhard Voelker.  While a subshell is normally
8765         required to protect against older shells (Solaris, FreeBSD) that
8766         warn about a missing program before performing redirection, the
8767         shell-selection tests performed by init.sh probably exclude any
8768         offending shell.
8769
8770 2012-01-08  Bruno Haible  <bruno@clisp.org>
8771
8772         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8773         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8774         variable.
8775
8776 2012-01-08  Bruno Haible  <bruno@clisp.org>
8777
8778         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8779         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8780         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8781         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8782         macro.
8783         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8784         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8785         * lib/spawn_faction_addopen.c: Add workaround implementation if
8786         HAVE_WORKING_POSIX_SPAWN.
8787         * modules/spawn (Makefile): Substitute
8788         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8789         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8790         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8791         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8792         (Depends-on): Update conditions.
8793         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8794         the Solaris 11 bug.
8795
8796 2012-01-08  Bruno Haible  <bruno@clisp.org>
8797
8798         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8799         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8800         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8801         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8802         macro.
8803         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8804         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8805         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8806         HAVE_WORKING_POSIX_SPAWN.
8807         * modules/spawn (Makefile): Substitute
8808         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8809         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8810         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8811         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8812         (Depends-on): Update conditions.
8813         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8814         the Solaris 11 bug.
8815
8816 2012-01-08  Bruno Haible  <bruno@clisp.org>
8817
8818         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8819         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8820         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8821         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8822         HAVE_WORKING_POSIX_SPAWN.
8823         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8824         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8825         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8826         * lib/spawn_faction_addclose.c: Add workaround implementation if
8827         HAVE_WORKING_POSIX_SPAWN.
8828         * modules/spawn (Makefile): Substitute
8829         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8830         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8831         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8832         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8833         (Depends-on): Update conditions.
8834         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8835         the Solaris 11 bug.
8836
8837 2012-01-08  Bruno Haible  <bruno@clisp.org>
8838
8839         doc: Update for Solaris 11 2011-11.
8840         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8841         * m4/printf.m4: Update comments.
8842
8843 2012-01-08  Bruno Haible  <bruno@clisp.org>
8844
8845         mktime: Avoid compilation error on Solaris 11.
8846         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8847
8848 2012-01-08  Bruno Haible  <bruno@clisp.org>
8849
8850         doc: Small fix.
8851         * doc/posix-headers/nl_types.texi: Correct platforms list.
8852
8853 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8854
8855         Add lgpl-3.0 module.
8856         * MODULES.html.sh (Support for building documentation): Add
8857         lgpl-3.0.
8858         * modules/lgpl-3.0: New file.
8859
8860 2012-01-08  Jim Meyering  <meyering@redhat.com>
8861
8862         select.c: indent with spaces, not TABs
8863         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8864
8865 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8866
8867         quotearg: do not use grave accent for left quote
8868         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8869         locale_quoting_style.
8870         (quotearg_buffer_restyled): Fix example.
8871         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8872
8873 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8874
8875         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8876         Most programs do not have translation catalogs for English and much
8877         less separate catalogs for British and American English.  Drop the
8878         suggestion to translators about these two, and provide it
8879         automatically for Unicode locales.  Like most programs, even those
8880         using American English, we use single quotation marks.  This conflicts
8881         with the American typographic convention, but works better when you
8882         cite the entire error message within double quotes.  It also tries not
8883         to clash with established practice and with what non-gnulib programs
8884         will usually do.
8885         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8886         using an UTF-8 or GB-18030 locale.  The list of other locales with
8887         quotes was provided by Bruno Haible.
8888         (quotearg_buffer_restyled): Adjust instructions to translators.
8889         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8890         text, since this would be wrong when using Unicode.
8891         * modules/quotearg: Depend on c-strcaseeq.
8892
8893 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8894
8895         quotearg: fix Wikipedia link
8896         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8897
8898 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8899
8900         Fix for mingw with MSVC9.
8901         * m4/ld-version-script.m4: Check that compiler rejects version
8902         scripts with syntax errors.  Reported by Bruno Haible
8903         <bruno@clisp.org>.
8904
8905 2012-01-06  Bruno Haible  <bruno@clisp.org>
8906
8907         Talk about "native Windows API", not "Woe32".
8908         * lib/accept4.c: Update comments to mention native Windows.
8909         * lib/execute.c: Likewise.
8910         * lib/fatal-signal.c: Likewise.
8911         * lib/localcharset.c: Likewise.
8912         * lib/nanosleep.c: Likewise.
8913         * lib/nl_langinfo.c: Likewise.
8914         * lib/pclose.c: Likewise.
8915         * lib/pipe-filter-gi.c: Likewise.
8916         * lib/pipe-filter-ii.c: Likewise.
8917         * lib/pipe.c: Likewise.
8918         * lib/pipe2.c: Likewise.
8919         * lib/popen.c: Likewise.
8920         * lib/progreloc.c: Likewise.
8921         * lib/relocatable.c: Likewise.
8922         * lib/sigaction.c: Likewise.
8923         * lib/sigprocmask.c: Likewise.
8924         * lib/spawn-pipe.h: Likewise.
8925         * lib/spawn-pipe.c: Likewise.
8926         * lib/spawni.c: Likewise.
8927         * lib/stat-time.h: Likewise.
8928         * lib/w32spawn.h: Likewise.
8929         * tests/test-isatty.c: Likewise.
8930         * lib/config.charset: More comments.
8931         * doc/gnulib-intro.texi: Mention native Windows.
8932         * doc/posix-functions/_Exit_C99.texi: Likewise.
8933         * doc/posix-headers/fcntl.texi: Likewise.
8934
8935 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8936
8937         argp: Avoid crash if translator uses % characters in a translation.
8938         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8939         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8940
8941 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8942
8943         doc: C11 and C++11 are now official
8944         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8945         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8946         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8947         * modules/stdalign:
8948         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8949
8950 2012-01-06  Bruno Haible  <bruno@clisp.org>
8951
8952         uc-is-grapheme-break tests: Tweak.
8953         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8954         message.
8955
8956 2012-01-06  Bruno Haible  <bruno@clisp.org>
8957
8958         test-init.sh: correct the test for diff -u
8959         * tests/test-init.sh: Also redirect stdout to /dev/null.
8960
8961 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8962
8963         Use ', not `, for quoting output.
8964         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8965         (print_changelog_deltas, get_tool_versions, main program):
8966         * build-aux/git-version-gen:
8967         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8968         * build-aux/move-if-change (help):
8969         * build-aux/useless-if-before-free (usage, main program):
8970         * check-module (parse_module_file, usage)
8971         (find_included_lib_files, check_module):
8972         * lib/argmatch.c (main) [TEST]:
8973         * lib/argp-help.c (_help):
8974         * lib/getopt1.c (main) [TEST]:
8975         * lib/git-merge-changelog.c (usage):
8976         * lib/xstrtol-error.c (xstrtol_error):
8977         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8978         * m4/argz.m4 (gl_FUNC_ARGZ):
8979         * m4/bison.m4 (gl_BISON):
8980         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8981         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8982         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8983         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8984         * m4/gc-random.m4 (gl_GC_RANDOM):
8985         * m4/intl.m4 (gt_CHECK_DECL):
8986         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8987         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8988         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8989         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8990         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8991         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8992         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8993         * tests/test-dirname.c (main):
8994         * tests/test-getpass.c (main):
8995         * tests/test-iconvme.c (main):
8996         * tests/test-parse-datetime.c (LOG):
8997         * tests/test-xstrtoimax.sh:
8998         * tests/test-xstrtol.sh:
8999         * tests/test-xstrtoll.sh:
9000         * tests/test-xstrtoumax.sh:
9001         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9002         * top/GNUmakefile (abort-due-to-no-makefile):
9003         Quote 'like this', not `like this', as per the recent change to
9004         the GNU coding standards.
9005
9006 2012-01-05  Bruno Haible  <bruno@clisp.org>
9007
9008         strtoimax: Don't force a replacement on systems where intmax_t is int.
9009         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9010         'intmax_t' is not larger than 'int'.
9011         Reported by Pádraig Brady <P@draigBrady.com>.
9012
9013 2012-01-05  Bruno Haible  <bruno@clisp.org>
9014
9015         doc: Mention NetBSD bugs.
9016         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9017         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9018
9019 2012-01-05  Bruno Haible  <bruno@clisp.org>
9020
9021         strtoumax tests: Enhance tests.
9022         * tests/test-strtoumax.c (main): Add tests for large values.
9023
9024 2012-01-05  Bruno Haible  <bruno@clisp.org>
9025
9026         strtoimax: Work around AIX 5.1 bug.
9027         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9028         definition.
9029         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9030         Set HAVE_STRTOIMAX.
9031         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9032         REPLACE_STRTOIMAX.
9033         * modules/inttypes-incomplete (Makefile.am): Substitute
9034         REPLACE_STRTOIMAX.
9035         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9036         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9037         (Depends-on): Update conditions.
9038         * tests/test-strtoimax.c (main): Add tests for large values.
9039         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9040
9041 2012-01-05  Bruno Haible  <bruno@clisp.org>
9042
9043         inttypes: Modernize.
9044         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9045         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9046         (Makefile.am): Update inttypes.h rule.
9047
9048 2012-01-05  Jim Meyering  <meyering@redhat.com>
9049
9050         init.sh: don't waste a subshell just to redirect stderr
9051         * tests/init.sh: In testing for diff -u and diff -c, use a
9052         stderr-redirecting exec inside `...` rather than a subshell.
9053
9054         test-init.sh: avoid failure on HP-UX 11.00
9055         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9056         resolves to diff -c or cmp.  Reported by Bruno Haible.
9057
9058 2012-01-05  Bruno Haible  <bruno@clisp.org>
9059
9060         Tests for module 'strtoull'.
9061         * modules/strtoull-tests: New file.
9062         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9063
9064 2012-01-05  Bruno Haible  <bruno@clisp.org>
9065
9066         Tests for module 'strtoll'.
9067         * modules/strtoll-tests: New file.
9068         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9069
9070 2012-01-05  Bruno Haible  <bruno@clisp.org>
9071
9072         Tests for module 'strtoul'.
9073         * modules/strtoul-tests: New file.
9074         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9075
9076 2012-01-05  Bruno Haible  <bruno@clisp.org>
9077
9078         Tests for module 'strtol'.
9079         * modules/strtol-tests: New file.
9080         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9081
9082 2012-01-04  Jim Meyering  <meyering@redhat.com>
9083
9084         test-init.sh: accommodate Solaris 5.10's different diff -u output
9085         * tests/test-init.sh: Also exempt @@ lines from the comparison
9086         of diff output, since Solaris 5.10 and GNU diff formats differ.
9087         Reported by Stefano Lattarini.
9088
9089 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9090
9091         test-posixtm: don't assume signed integer wraparound
9092         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9093         after signed integer overflow.  Inspired by (though it may not
9094         fix) Bruno Haible's bug report in
9095         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9096
9097         Spell out "Windows 9x" and "Windows XP".
9098         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9099         "Windows 9x" and "WinXP" with "Windows XP".
9100
9101 2012-01-04  Jim Meyering  <meyering@redhat.com>
9102
9103         test-vc-list-files-cvs.sh: remove obsolete comment
9104         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9105         double exit.  Now that's all encapsulated via skip_ and Exit.
9106
9107 2012-01-04  Bruno Haible  <bruno@clisp.org>
9108
9109         Talk about "native Windows API", not "Win32".
9110         * lib/classpath.c: Update comments to mention native Windows.
9111         * lib/csharpexec.c: Likewise.
9112         * lib/dup2.c: Likewise.
9113         * lib/error.c: Likewise.
9114         * lib/fcntl.c: Likewise.
9115         * lib/filename.h: Likewise.
9116         * lib/findprog.c: Likewise.
9117         * lib/get-rusage-as.c: Likewise.
9118         * lib/get-rusage-data.c: Likewise.
9119         * lib/getpagesize.c: Likewise.
9120         * lib/javaexec.c: Likewise.
9121         * lib/msvc-inval.c: Likewise.
9122         * lib/msvc-nothrow.c: Likewise.
9123         * lib/nanosleep.c: Likewise.
9124         * lib/nonblocking.c: Likewise.
9125         * lib/printf-parse.c: Likewise.
9126         * lib/setlocale.c: Likewise.
9127         * lib/sigaction.c: Likewise.
9128         * lib/strerror_r.c: Likewise.
9129         * lib/tmpdir.c: Likewise.
9130         * lib/vasnprintf.c: Likewise.
9131         * lib/w32spawn.h: Likewise.
9132         * lib/waitpid.c: Likewise.
9133         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9134         * m4/locale-ar.m4: Likewise.
9135         * m4/locale-fr.m4: Likewise.
9136         * m4/locale-ja.m4: Likewise.
9137         * m4/locale-tr.m4: Likewise.
9138         * m4/locale-zh.m4: Likewise.
9139         * m4/printf.m4: Likewise.
9140         * tests/test-cloexec.c: Likewise.
9141         * tests/test-copy-acl.sh: Likewise.
9142         * tests/test-copy-file.sh: Likewise.
9143         * tests/test-file-has-acl.sh: Likewise.
9144         * tests/test-set-mode-acl.sh: Likewise.
9145         * tests/test-dup-safer.c: Likewise.
9146         * tests/test-dup2.c: Likewise.
9147         * tests/test-dup3.c: Likewise.
9148         * tests/test-fcntl.c: Likewise.
9149         * tests/test-nonblocking-pipe.h: Likewise.
9150         * tests/test-nonblocking-socket.h: Likewise.
9151         * tests/test-pipe.c: Likewise.
9152         * tests/test-pipe2.c: Likewise.
9153         * tests/test-spawn-pipe-child.c: Likewise.
9154         * doc/acl-resources.txt: Likewise.
9155         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9156         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9157         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9158         * lib/localcharset.c: Update comments to mention native Windows.
9159         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9160         * lib/localename.c: Likewise.
9161         * lib/progreloc.c: Likewise.
9162         * lib/relocatable.c: Likewise.
9163         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9164         (windows_compute_revents): Renamed from win32_compute_revents.
9165         (windows_compute_revents_socket): Renamed from
9166         win32_compute_revents_socket.
9167         * lib/select.c: Update comments to mention native Windows.
9168         (windows_poll_handle): Renamed from win32_poll_handle.
9169         * m4/threadlib.m4: Update comments to mention native Windows.
9170         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9171         --enable-threads=windows instead of --enable-threads=win32. Set
9172         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9173         * lib/glthread/lock.h: Update comments to mention native Windows.
9174         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9175         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9176         USE_WIN32_THREADS.
9177         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9178         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9179         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9180         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9181         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9182         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9183         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9184         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9185         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9186         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9187         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9188         * tests/test-tls.c: Likewise.
9189         Rationale:
9190         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9191         on both 32-bit and 64-bit Windows systems.
9192         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9193         line of distinction is between "native Windows" on one side and Unix/
9194         POSIX systems on the other side. More details in
9195         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9196         Suggested by Paul Eggert.
9197
9198 2012-01-03  Bruno Haible  <bruno@clisp.org>
9199
9200         isatty: Support for MSVC 9.
9201         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9202         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9203         (_isatty_nothrow): New function.
9204         (isatty): Use it instead of _isatty.
9205         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9206         * lib/poll.c (IsConsoleHandle): Likewise.
9207         * lib/select.c (IsConsoleHandle): Likewise.
9208         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9209         (gl_PREREQ_ISATTY): New macro.
9210         * modules/isatty (Depends-on): Add msvc-inval.
9211         (configure.ac): Invoke gl_PREREQ_ISATTY.
9212
9213 2012-01-03  Jim Meyering  <meyering@redhat.com>
9214
9215         maint.mk: remove temporary transition aid from over 1.5 years ago
9216         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9217         purpose was to aid in the transition (avoiding silent malfunction)
9218         from that old name to the new _sc_search_regexp.  This shim was
9219         added by commit 219c504b.
9220
9221         init.sh: do not try to accommodate compare arguments starting with "-"
9222         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9223         compare arguments that start with "-".  Besides, we do not worry
9224         about this when invoking diff or cmp; why start now with sed?
9225         Using "--" to separate options from argument would trigger sed
9226         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9227         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9228
9229 2012-01-02  Bruno Haible  <bruno@clisp.org>
9230
9231         Enhance tests for module 'isatty'.
9232         * modules/isatty-tests (Depends-on): Add pipe-posix.
9233         * tests/test-isatty.c: Include <fcntl.h>.
9234         (DEV_NULL): New macro.
9235         (main): Test the resut of isatty() also on regular files, pipes, and
9236         /dev/null.
9237
9238         New module 'isatty'.
9239         * lib/unistd.in.h (isatty): New declaration.
9240         * lib/isatty.c: New file, based on an idea of
9241         Bastien Roucariès <roucaries.bastien@gmail.com>.
9242         * m4/isatty.m4: New file.
9243         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9244         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9245         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9246         REPLACE_ISATTY.
9247         * modules/isatty: New file.
9248         * doc/posix-functions/isatty.texi: Mention the new module.
9249         Suggested by Paolo Bonzini.
9250
9251 2012-01-02  Bruno Haible  <bruno@clisp.org>
9252
9253         canonicalize: Tweak 2011-12-29 commit.
9254         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9255         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9256
9257 2012-01-02  Jim Meyering  <meyering@redhat.com>
9258
9259         gitlog-to-changelog: describe input syntax in --help output
9260         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9261
9262         gitlog-to-changelog: fix typo in --help: show backslash before email @
9263         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9264         in sources, but not in actual output.
9265
9266 2011-12-30  Jim Meyering  <meyering@redhat.com>
9267
9268         gitlog-to-changelog: don't malfunction when name contains %-directive
9269         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9270         in a name string cause trouble.  E.g., with a user name of "%s",
9271         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9272
9273 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9274
9275         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9276         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9277         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9278         the "  (tiny change)" notation that is appended to the standard
9279         ChangeLog "date  name  email" header line.
9280
9281 2012-01-01  Jim Meyering  <meyering@redhat.com>
9282
9283         test-framework-sh: init.sh: fix "make dist" failure
9284         When using gnulib-tool's --with-tests option and any module that
9285         depends on test-framework-sh, "make dist" would fail due to the
9286         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9287         in the gltests directory, and not in the gllib/ directory.
9288         One way to work around that is to move the EXTRA_DIST += init.sh
9289         from the primary module to the -tests one:
9290         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9291         * modules/test-framework-sh (Makefile.am): ...not here.
9292         Reported by Tom G. Christensen in
9293         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9294
9295         version-etc: update copyright year reported by --version
9296         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9297
9298 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9299
9300         canonicalize: only stat() if required
9301         * lib/canonicalize.c (canonicalize_filename_mode):
9302         Avoid calling l?stat() when both CAN_MISSING,
9303         and CAN_NOLINKS are set, as we neither need
9304         to resolve symlinks or test component existence.
9305
9306 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9307
9308         doc: cover st_ino issues once; add OpenVMS etc.
9309         * doc/posix-functions/stat.texi (stat):
9310         * doc/posix-functions/lstat.texi (lstat):
9311         * doc/posix-functions/fstatat.texi (fstatat):
9312         * doc/posix-functions/fstat.texi (fstat):
9313         Move general 'struct stat' stuff to sys_stat.texi,
9314         leaving behind a pointer.
9315         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9316         Merge duplicate info about 'struct stat' problems into here.
9317         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9318         and suggest partial workarounds.
9319
9320         same-inode: port to OpenVMS
9321         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9322         three st_ino values.
9323
9324 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9325
9326         canonicalize: fix references to stat() and lstat()
9327         * lib/canonicalize.c (canonicalize_filename_mode):
9328         Ensure references always resolve to a replacement
9329         function if required (even via a macro).
9330
9331 2011-12-30  Jim Meyering  <meyering@redhat.com>
9332
9333         gitlog-to-changelog: remove a little duplication
9334         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9335         rather than twice.
9336
9337 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9338
9339         canonicalize: add support for not resolving symlinks
9340         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9341         indicate we don't want to follow symlinks.  Also
9342         provide CAN_MODE_MASK to aid setting these existing
9343         mutually exclusive values.
9344         * lib/canonicalize.c (canonicalize_filename_mode):
9345         Extract the flags from can_mode parameter, which
9346         are currently just used to select between stat()
9347         and lstat().  Also ensure that mutually exclusive
9348         values are flagged immediately as invalid.
9349         * tests/test-canonicalize.c: Verify symlinks are
9350         not followed, and that invalid flag combinations
9351         are diagnosed.
9352
9353 2011-12-25  Jim Meyering  <meyering@redhat.com>
9354
9355         gitlog-to-changelog: do not clump multi-paragraph entries
9356         Identical header lines (date,name,email+coauthors) are suppressed,
9357         thus putting all entries with those same characteristics under
9358         a single header.  However, when a log entry consists of two or
9359         more paragraphs, it may not be clear where it starts and ends.
9360         This change makes it so that such an entry is always separated
9361         from others by a header line, even when that header would
9362         otherwise be suppressed.
9363         * build-aux/gitlog-to-changelog: Implement the above.
9364         Inspired by a related request from Stefano Lattarini in
9365         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9366
9367 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9368
9369         announce-gen: fix `cmd' typo in diagnostic
9370         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9371         diagnostic: a missing '$' meant that the command was not output.
9372
9373 2011-12-23  Jim Meyering  <meyering@redhat.com>
9374
9375         test-framework-sh: distribute init.sh
9376         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9377         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9378         fail due to the lack of init.sh.
9379
9380         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9381         * modules/atexit-tests: Rather than listing tests/init.sh,
9382         now that there's a module for it, simply depend on that new module.
9383         * modules/closein-tests: Likewise.
9384         * modules/exclude-tests: Likewise.
9385         * modules/getcwd-tests: Likewise.
9386         * modules/perror-tests: Likewise.
9387         * modules/pread-tests: Likewise.
9388         * modules/pwrite-tests: Likewise.
9389         * modules/vc-list-files-tests: Likewise.
9390         * modules/verify-tests: Likewise.
9391         * modules/xalloc-die-tests: Likewise.
9392         * modules/xstrtoimax-tests: Likewise.
9393         * modules/xstrtol-tests: Likewise.
9394         * modules/xstrtoll-tests: Likewise.
9395         * modules/xstrtoumax-tests: Likewise.
9396         * modules/yesno-tests: Likewise.
9397
9398 2011-12-22  Jim Meyering  <meyering@redhat.com>
9399
9400         test-framework-sh: add minimal tests of init.sh's compare function
9401         * modules/test-framework-sh-tests: New file.
9402         * tests/test-init.sh: New file.
9403
9404         test-framework-sh: new module
9405         * modules/test-framework-sh: New file.
9406         * MODULES.html.sh (Support for maintaining and releasing projects):
9407         List it.
9408
9409         init.sh: do not emit simulated diff output to stderr
9410         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9411
9412 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9413
9414         .gitignore: ignore gnulib.dvi and regex.info
9415         * doc/.gitignore:add gnulib.dvi and regex.info
9416
9417 2011-12-22  Jim Meyering  <meyering@redhat.com>
9418
9419         init.sh: correct previous change
9420         * tests/init.sh (compare): My previous change was wrong.
9421         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9422
9423         init.sh: avoid unwarranted test failure when using "set -e"
9424         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9425         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9426         a use like "compare exp out" would get evoke an unconditional failure.
9427
9428 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9429
9430         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9431         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9432         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9433         autoreconf that did not.
9434         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9435         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9436
9437 2011-12-17  Jim Meyering  <meyering@redhat.com>
9438
9439         bootstrap: remove some now-unneeded code
9440         This script arose back when gnulib-tool was young.
9441         Since then, it has seen improvements that render much of this
9442         script unnecessary.  In particular, it can now make symlinks
9443         to the files it uses.  Also, I no longer see as much value in
9444         marking files as read-only via comments.
9445         If you relied on the symlink-creation feature of the preceding
9446         version of this script, you can get most of that functionality
9447         by adding the --symlink option to the definition of
9448         gnulib_tool_option_extras in your bootstrap.conf file.
9449         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9450         Run autopoint and libtoolize *before* gnulib-tool.
9451         After it, run an abbreviated autoreconf, rather than a loop around
9452         all tools.
9453         (slirp, bt_mark_as_generated): Remove functions.
9454
9455 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9456
9457         ftoastr: fix typo
9458         * lib/ftoastr.h: Fix misspelling in comment.
9459
9460 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9461
9462         * top/README-release: fix punctuation.
9463
9464 2011-12-17  Jim Meyering  <meyering@redhat.com>
9465
9466         bootstrap: correct the recent buildreq change
9467         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9468         had no effect.
9469         * build-aux/bootstrap (buildreq): Bracket each search term with
9470         "*...*", so that the shell "case" statement works as intended.
9471         Add comments.
9472
9473 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9474
9475         build: let bootstrap resort to wget when downloading .po files
9476         * build-aux/bootstrap (download_po_files): Fallback to wget when
9477         downloading the .po files via rsync fails.  This is necessary to
9478         bootstrap from behind a strict firewall.
9479
9480 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9481
9482         stdint: don't assume C++11 when compiling with g++
9483         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9484         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9485         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9486         work also in C++ before C++11, as that improperly inhibits
9487         generating a substitute stdint.h for that case.
9488
9489 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9490
9491         alloca: protect comment from gnulib-tool
9492         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9493         that gnulib-tool doesn't think it's a license, and munge it to
9494         say "GCC version 3".
9495
9496 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9497
9498         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9499         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9500         $(abs_top_builddir) instead of $(top_builddir).
9501
9502 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9503
9504         strftime-tests: also test nanoseconds
9505         * tests/test-strftime.c (T): Add a test of %N.
9506
9507 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9508
9509         inttypes, stdint: add C++11 support
9510         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9511         when including inttypes.h and stdint.h.  Support this change to
9512         the standard.
9513         * doc/posix-headers/inttypes.texi (inttypes.h):
9514         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9515         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9516         Define if not defined already, for the benefit of pre-C++11 hosts.
9517         Define the standard format macros (e.g., PRId8) always.
9518         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9519         Likewise, if __cpluspus.  Define the standard constant and limit
9520         macros (e.g., INT8_C, INT8_MAX) always.
9521         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9522         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9523         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9524         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9525         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9526         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9527         Likewise.
9528
9529 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9530
9531         nonblocking tests: Fix test failure on Linux/PPC.
9532         Suggested by Prerna Saxena in
9533         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9534         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9535         Set to 1100000.
9536
9537 2011-12-12  Jim Meyering  <meyering@redhat.com>
9538
9539         argmatch: don't hard-code `' when listing valid option arguments
9540         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9541         use the quote function to add quotes.  Use fputs rather than
9542         fprintf for the format string with no format directive.
9543
9544 2011-12-07  Eric Blake  <eblake@redhat.com>
9545
9546         bootstrap: detect tools required by gnulib-tool
9547         * build-aux/bootstrap (buildreq): Provide minimum implicit
9548         dependencies.
9549         * DEPENDENCIES: Mention patch as a prereq.
9550
9551 2011-12-04  Bruno Haible  <bruno@clisp.org>
9552
9553         sethostname: Port to Windows platforms.
9554         * lib/sethostname.c: Provide an alternate implementation for Windows
9555         platforms.
9556         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9557         (main): Skip the test if sethostname() fails with EPERM. On Windows
9558         platforms, don't check the result of gethostname().
9559
9560 2011-12-04  Bruno Haible  <bruno@clisp.org>
9561             Jim Meyering  <meyering@redhat.com>
9562
9563         tests: Avoid spurious error message on platforms without mktemp program.
9564         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9565
9566 2011-12-04  Bruno Haible  <bruno@clisp.org>
9567
9568         sethostname: Fix documentation.
9569         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9570         "not fixed" section.
9571
9572 2011-12-03  Bruno Haible  <bruno@clisp.org>
9573
9574         gnulib-tool: Verify that the License field is present and non-empty.
9575         * gnulib-tool (func_get_license_raw): New function, extracted from
9576         func_get_license.
9577         (func_get_license): Use it. Warn if the module is not a test module and
9578         has no license.
9579         Suggested by Jim Meyering.
9580
9581 2011-12-03  Bruno Haible  <bruno@clisp.org>
9582
9583         sethostname tests: Fix link error on mingw.
9584         * tests/test-sethostname1.c: New file, extracted from
9585         tests/test-sethostname.c.
9586         * tests/test-sethostname2.c: New file, extracted from
9587         tests/test-sethostname.c.
9588         * tests/test-sethostname.c: Remove file.
9589         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9590         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9591         (Depends-on): Add gethostname.
9592         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9593         Link the latter with $(GETHOSTNAME_LIB).
9594
9595         sethostname tests: Fix compilation error on mingw.
9596         * tests/test-sethostname.c: Don't include <sys/types.h>.
9597         (geteuid): Use a dummy value without uid_t.
9598         * modules/sethostname-tests (Depends-on): Remove sys_types.
9599
9600         sethostname tests: Avoid a gcc warning.
9601         * tests/test-sethostname.c (main): Remove an unused variable.
9602
9603         Tweak last commit.
9604         * modules/sethostname-tests (Files): Sort by decreasing importance.
9605         (configure.ac): Check for geteuid.
9606         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9607         the test when there's nothing to test. Drop an unnecessary cast.
9608         Improve an error message. Verify that the final sethostname() call
9609         succeeds.
9610
9611 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9612
9613         Add a test suite for the sethostname module.
9614         * modules/sethostname-tests: New file.  A test program
9615         for the sethostname module.
9616         * tests/test-sethostname.c: Likewise.
9617
9618 2011-12-03  Bruno Haible  <bruno@clisp.org>
9619
9620         Tweak last commit.
9621         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9622         Fix preprocessor directives indentation. Fix typos.
9623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9624         * modules/unistd (Makefile): Likewise.
9625
9626 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9627
9628         Integrate the sethostname module into unistd.
9629         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9630         into the unistd.h header.
9631         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9632         preprocessor directives.
9633         * modules/unistd: Setup the Makefile substitutions of the
9634         SETHOSTNAME preprocessor directives.
9635
9636 2011-12-03  Bruno Haible  <bruno@clisp.org>
9637
9638         Tweak last commit.
9639         * lib/sethostname.c: Don't include <string.h>.
9640         (sethostname): No need to copy the argument string to the stack. Don't
9641         call clearerr. Preserve errno when fprintf failed.
9642         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9643         Don't invoke AC_REPLACE_FUNCS.
9644         * modules/sethostname (Link): Remove empty section.
9645         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9646         failure problem.
9647
9648 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9649
9650         New module 'sethostname'.
9651         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9652         for systems that lack it.
9653         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9654         sethostname declaration and function.
9655         * modules/sethostname: New file.  Define the sethostname module.
9656
9657 2011-12-03  Bruno Haible  <bruno@clisp.org>
9658
9659         Tweak last commit.
9660         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9661
9662 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9663
9664         Split the HOST_NAME_MAX detection into a separate m4 macro.
9665         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9666         macro so it can be used by the pending sethostname module.
9667
9668 2011-12-03  Bruno Haible  <bruno@clisp.org>
9669
9670         Fix module descriptions syntax.
9671         * modules/argv-iter (License): Fix syntax.
9672         * modules/di-set (License): Likewise.
9673         * modules/ino-map (License): Likewise.
9674         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9675
9676 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9677
9678         stdalign: port to Clang 3.0
9679         Problem reported by Simon Josefsson in
9680         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9681         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9682         which has <stdalign.h> but which does not define alignof.
9683         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9684
9685 2011-12-01  Eric Blake  <eblake@redhat.com>
9686
9687         mktempd: silence dd usage
9688         * build-aux/mktempd (rand_bytes): Silence dd.
9689
9690 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9691
9692         manywarnings: Don't mention gcc version in docstring.
9693         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9694         Jim Meyering <meyering@redhat.com>.
9695
9696 2011-11-30  Jim Meyering  <meyering@redhat.com>
9697
9698         hash: mark a few floating point constants with "f" suffix
9699         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9700         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9701         floating point constants with "f", since they're destined to be
9702         saved/used as "float"s.
9703
9704 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9705
9706         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9707         * tests/test-float.c (test_long_double): Correct and re-enable the
9708         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9709
9710 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9711
9712         Avoid subtracting two pointers that don't point into the same block.
9713         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9714         only pointers into the same memory block are subtracted. We cannot
9715         assume that sizeof (ptrdiff_t) == sizeof (void *).
9716
9717 2011-11-29  Eric Blake  <eblake@redhat.com>
9718
9719         maint.mk: add syntax check for use of compare from init.sh
9720         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9721         moved here from coreutils.
9722
9723         manywarnings: drop -Wunsuffixed-float-constants
9724         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9725         '1.0D', which is the only way to silence this warning for 'double'.
9726
9727 2011-11-29  Jim Meyering  <meyering@redhat.com>
9728
9729         hash: mark compute_bucket_size with the pure attribute
9730         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9731
9732         quotearg, propername: correct pragma guard expression
9733         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9734         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9735
9736 2011-11-28  Jim Meyering  <meyering@redhat.com>
9737
9738         propername: do not mark proper_name with the const attribute
9739         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9740         since it examines data pointed to by its parameter.
9741         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9742         the suggestion from -Wsuggest-attribute=const.
9743
9744         propername: mark one more function as const
9745         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9746
9747 2011-11-27  Jim Meyering  <meyering@redhat.com>
9748
9749         mark functions with const and pure attributes
9750
9751         Mark functions per suggestions from gcc-4.6 when using these options:
9752         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9753         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9754         Follow these guidelines: when possible, apply the attribute to
9755         an extern declaration, not to its definition.  Apply it to the
9756         definition only when the definition is static.
9757         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9758         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9759         * lib/base64.h (isbase64): Likewise.
9760         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9761         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9762         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9763         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9764         (c_tolower, c_toupper): Likewise.
9765         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9766         * lib/chdir-long.c (find_non_slash): Likewise.
9767         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9768         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9769         * lib/file-type.h (file_type): Likewise.
9770         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9771         * lib/filevercmp.c (verrevcmp): Likewise.
9772         * lib/freadahead.h (freadahead): Likewise.
9773         * lib/fts.c (fts_maxarglen): Likewise.
9774         * lib/hash-pjw.h (hash_pjw): Likewise.
9775         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9776         * lib/hash.c (is_prime, next_prime): Likewise.
9777         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9778         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9779         (hash_table_ok, hash_get_first, hash_string): Likewise.
9780         (compute_bucket_size): Likewise.
9781         * lib/i-ring.h (i_ring_empty): Likewise.
9782         * lib/isnan.c (isnanl): Likewise.
9783         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9784         * lib/memcasecmp.h (memcasecmp): Likewise.
9785         * lib/memchr2.h (memchr2): Likewise.
9786         * lib/memcmp2.h (memcmp2): Likewise.
9787         * lib/parse-datetime.y (lookup_zone): Likewise.
9788         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9789         [!WINDOWS_SOCKETS]: Likewise.
9790         * lib/strnlen1.h (strnlen1): Likewise.
9791         * lib/uniwidth.in.h (uc_width): Likewise.
9792         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9793         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9794         (quoting_options_from_style): Add a comment.
9795         * lib/propername.h (proper_name): Add a comment.
9796
9797 2011-11-27  Bruno Haible  <bruno@clisp.org>
9798
9799         Remove unused macros from !_LIBC code in glibc-borrowed files.
9800         * lib/fnmatch.c (STRCOLL): Remove macro.
9801         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9802         * lib/glob.c (__stat, __readdir64): Remove macros.
9803         * lib/tempname.c (__open64, __xstat64): Remove macros.
9804         Suggested by Paul Eggert.
9805
9806 2011-11-27  Bruno Haible  <bruno@clisp.org>
9807
9808         getcwd: Fix link error on MSVC 9.
9809         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9810
9811 2011-11-27  Bruno Haible  <bruno@clisp.org>
9812
9813         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9814         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9815         HAVE_OPENDIR is 0.
9816         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9817         HAVE_CLOSEDIR is 0.
9818         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9819         is 0.
9820         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9821
9822 2011-11-27  Bruno Haible  <bruno@clisp.org>
9823
9824         getcwd: Fix bug from 2011-08-17.
9825         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9826         platforms that need it.
9827         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9828         code of 4 to be a failure, not a success. This ensures that
9829         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9830
9831 2011-11-27  Bruno Haible  <bruno@clisp.org>
9832
9833         binary-io tests: Avoid test failure on mingw when libtool is used.
9834         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9835         Don't verify the size of t-bin-out1.tmp here.
9836         * tests/test-binary-io.sh: Verify it here.
9837         Reported by Simon Josefsson.
9838
9839 2011-11-26  Bruno Haible  <bruno@clisp.org>
9840
9841         Fix conflict between two instantiations of module 'unistd'.
9842         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9843         ${include_guard_prefix} also in the autoconf snippet.
9844         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9846         GNULIB_UNISTD_H_GETOPT.
9847         * modules/getopt-posix (configure.ac): Set the
9848         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9849         * modules/getopt-gnu (configure.ac): Likewise.
9850         * modules/unistd (Makefile.am): Change the substitution value of
9851         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9852         Reported by Simon Josefsson.
9853
9854 2011-11-25  Bruno Haible  <bruno@clisp.org>
9855
9856         pagealign_alloc: Doc and comments.
9857         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9858         module.
9859         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9860
9861 2011-11-25  Jim Meyering  <meyering@redhat.com>
9862
9863         test-update-copyright.sh: avoid false-positive failure
9864         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9865         around false positive failure on Cygwin/Windows.  The latter was
9866         matching erroneously-created files with names like
9867         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9868
9869 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9870
9871         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9872         * m4/valgrind-tests.m4: Check that the parameters that will be
9873         used works, not just a subset of them.  Reported by Bruno Haible
9874         <bruno@clisp.org>.
9875
9876 2011-11-24  Jim Meyering  <meyering@redhat.com>
9877
9878         test-stdalign.c: comment out long double tests
9879         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9880         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9881         error: '_Alignas' specifiers cannot reduce alignment of \
9882         'static_longdouble_alignas'.
9883
9884 2011-11-22  Jim Meyering  <meyering@redhat.com>
9885
9886         init.sh: make "compare /dev/null FILE" output more readable
9887         * tests/init.sh (compare_): Document the preferred order of arguments.
9888         (emit_diff_u_header_): New function.
9889         (compare_dev_null_): Emit a simulated diff, rather than just the
9890         contents of the unexpected file.  Suggestion from Bruno Haible.
9891
9892 2011-11-21  Jim Meyering  <meyering@redhat.com>
9893             Eric Blake  <eblake@redhat.com>
9894
9895         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9896         * tests/init.sh: Make our compare function slightly more portable.
9897         Reported by Bruno Haible in
9898         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9899
9900 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9901
9902         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9903         before using it, in code that ends up in config.h.
9904
9905 2011-11-20  Bruno Haible  <bruno@clisp.org>
9906
9907         getcwd: Work around getcwd bug on AIX 5..7.
9908         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9909         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9910         Use a different value for gl_cv_func_getcwd_path_max. Move the
9911         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9912         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9913         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9914         Define HAVE_MINIMALLY_WORKING_GETCWD.
9915         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9916         where it is not even minimally working, that is, on AIX.
9917         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9918         m4/getcwd-path-max.m4.
9919         (main): Update exit code computation.
9920         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9921         getcwd does not handle long file names.
9922
9923 2011-11-20  Bruno Haible  <bruno@clisp.org>
9924
9925         getcwd: Fix bug from 2009-09-10.
9926         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9927         like "no".
9928
9929 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9930
9931         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9932
9933 2011-11-20  Bruno Haible  <bruno@clisp.org>
9934
9935         fma tests: Avoid shadowing local variables.
9936         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9937         expected.
9938
9939 2011-11-20  Bruno Haible  <bruno@clisp.org>
9940
9941         copysignf tests: Fix.
9942         * tests/test-copysignf.c: Fix signature check.
9943
9944 2011-11-20  Bruno Haible  <bruno@clisp.org>
9945
9946         fma: Remove unused code.
9947         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9948         unused macros.
9949
9950 2011-11-20  Bruno Haible  <bruno@clisp.org>
9951
9952         sethostname: Fix doc about AIX.
9953         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9954         sethostname; it has it.
9955
9956         sethostname: Mention more portability problems.
9957         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9958         problem.
9959         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9960
9961 2011-11-19  Bruno Haible  <bruno@clisp.org>
9962
9963         Depend on module fcntl-h when AT_FDCWD is used.
9964         * modules/utimens (Depends-on): Add fcntl-h.
9965         * modules/areadlinkat (Depends-on): Likewise.
9966         * modules/areadlinkat-with-size (Depends-on): Likewise.
9967         * modules/faccessat (Depends-on): Likewise.
9968         * modules/fchmodat (Depends-on): Likewise.
9969         * modules/fchownat (Depends-on): Likewise.
9970         * modules/getcwd (Depends-on): Likewise.
9971         * modules/mkdirat (Depends-on): Likewise.
9972         * modules/mkfifoat (Depends-on): Likewise.
9973         * modules/readlinkat (Depends-on): Likewise.
9974         * modules/symlinkat (Depends-on): Likewise.
9975         * modules/dup2-tests (Depends-on): Likewise.
9976         * modules/fdutimensat-tests (Depends-on): Likewise.
9977         * modules/futimens-tests (Depends-on): Likewise.
9978
9979 2011-11-19  Bruno Haible  <bruno@clisp.org>
9980
9981         euidaccess: Update a comment.
9982         * lib/euidaccess.c: Update comment about platforms with faccessat.
9983
9984 2011-11-19  Bruno Haible  <bruno@clisp.org>
9985
9986         openat: Fix file list.
9987         * modules/openat (Files): Remove lib/at-func.c.
9988
9989 2011-11-19  Bruno Haible  <bruno@clisp.org>
9990
9991         fstatat: Simplify.
9992         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9993         gnulib should define rpl_fstatat, there is a
9994         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9995
9996 2011-11-19  Bruno Haible  <bruno@clisp.org>
9997
9998         Ensure 'inline' can be used in tests/test-utimens-common.h.
9999         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10000         * modules/futimens-tests (configure.ac): Likewise.
10001         * modules/utimens-tests (configure.ac): Likewise.
10002         * modules/utimensat-tests (configure.ac): Likewise.
10003
10004 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10005
10006         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10007         not hash_insert0.
10008         (hash_insert_if_absent): Doc fix.
10009
10010 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10011
10012         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10013
10014 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10015
10016         test-getcwd: disambiguate exit status
10017         * tests/test-getcwd.c (test_long_name): Return 0..7.
10018         (main): Exit with an unambiguous exit status.  The old
10019         code yielded a mysterious mixture of two failure codes.
10020
10021         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10022         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10023         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10024         rpl_fstatat or fstatat.  This should fix the other problem
10025         reported by Kai Habel in
10026         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10027         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10028         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10029         and I reproduced it on a Solaris 8 host we still have in production.
10030
10031 2011-11-18  Jim Meyering  <meyering@redhat.com>
10032
10033         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10034         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10035         Add a sentence to the comment.
10036         (hash_insert0): New function that simply calls hash_insert_if_absent.
10037         * lib/hash.h (hash_insert_if_absent): Declare it.
10038         (hash_insert0): Add deprecation attribute.
10039         (_GL_ATTRIBUTE_DEPRECATED): Define.
10040         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10041         not hash_insert0.
10042         * NEWS: Mention it, even though it's not really an incompatible change.
10043
10044 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10045
10046         openat: avoid compilation failure due to lack of <errno.h> inclusion
10047         * lib/openat.c: Include <errno.h>.
10048
10049 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10050
10051         * modules/getcwd (Depends-on): Add fdopendir.
10052         This fixes one of the two problems reported by Kai Habel in
10053         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10054
10055         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10056         stdalign problem reported by Ian Beckwith in
10057         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10058         * modules/crypto/gc-arcfour (Depends-on):
10059         Depend conditionally on crypto/arcfour.
10060         * modules/crypto/gc-arctwo (Depends-on):
10061         Depend conditionally on crypto/arctwo.
10062         * modules/crypto/gc-des (Depends-on):
10063         Depend conditionally on crypto/des.
10064         * modules/crypto/gc-hmac-md5 (Depends-on):
10065         Depend conditionally on crypto/hmac-md5.
10066         * modules/crypto/gc-hmac-sha1 (Depends-on):
10067         Depend conditionally on crypto/hmac-sha1.
10068         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10069         * modules/crypto/gc-md4 (Depends-on):
10070         Depend conditionally on crypto/md4.
10071         * modules/crypto/gc-md5 (Depends-on):
10072         Depend conditionally on crypto/md5.
10073         * modules/crypto/gc-rijndael (Depends-on):
10074         Depend conditionally on crypto/rijndael.
10075         * modules/crypto/gc-sha1 (Depends-on):
10076         Depend conditionally on crypto/sha1.
10077         * modules/crypto/gc-arcfour:
10078         * modules/crypto/gc-arctwo:
10079         * modules/crypto/gc-des:
10080         * modules/crypto/gc-hmac-md5:
10081         * modules/crypto/gc-hmac-sha1:
10082         * modules/crypto/gc-md2:
10083         * modules/crypto/gc-md4:
10084         * modules/crypto/gc-md5:
10085         * modules/crypto/gc-rijndael:
10086         * modules/crypto/gc-sha1:
10087         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10088         now that the conditional dependencies do the work for us.
10089
10090 2011-11-17  Jim Meyering  <meyering@redhat.com>
10091
10092         tests: factor st_ctime-comparison out of two headers
10093         * tests/test-utimens-common.h (ctime_compare): Define.
10094         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10095         * tests/test-lutimens.h (test_lutimens): Likewise.
10096         * tests/test-utimens.h (test_utimens): Likewise.
10097
10098         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10099         Invoke the test program via an init.sh-using wrapper.
10100         * tests/test-getcwd.sh: New file.
10101         * modules/getcwd-tests (Files): Add it.
10102         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10103
10104 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10105
10106         gitlog-to-changelog: support multi-author commits.
10107         The FSF cares about keeping track of all authors of patches to its
10108         projects, but Git doesn't provide obvious support for multi-author
10109         changesets. Consensus seems to be forming around the use of extra
10110         Signed-off-by inspired lines in the log message formatted as
10111         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10112         multi-author commits between version control systems.
10113         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10114         log message and output in standard ChangeLog multi-author format.
10115         Reported by Peter Rosin <peda@lysator.liu.se>
10116
10117 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10118             Bruno Haible  <bruno@clisp.org>
10119
10120         Fix some modules' file list.
10121         * modules/fstatat (Files): Add m4/lstat.m4.
10122         * modules/openat (Files): Likewise.
10123         * modules/unlinkat (Files): Likewise.
10124
10125 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10126
10127         maint.mk: fix tight-scope.mk generation in VPATH builds.
10128         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10129         reference with $(srcdir) so that the file is found correctly even
10130         when running `make syntax-check' in a VPATH build.
10131
10132 2011-11-13  Bruno Haible  <bruno@clisp.org>
10133             Jim Meyering  <meyering@redhat.com>
10134
10135         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10136         * tests/init.sh (compare): Remove "No differences encountered" or
10137         synonymous output from the 'diff' program.
10138
10139 2011-11-13  Bruno Haible  <bruno@clisp.org>
10140
10141         Makefile: Tweak indentation.
10142         * Makefile: Use tab as first character in every line that contains rule
10143         commands.
10144
10145 2011-11-13  Bruno Haible  <bruno@clisp.org>
10146
10147         Syntax check for copyright statements.
10148         * check-copyright: New file.
10149         * Makefile (sc_check_copyright): New rule.
10150
10151 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10152
10153         * build-aux/git-version-gen: Add --prefix to configure the tag
10154         match string.
10155
10156 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10157
10158         * build-aux/git-version-gen: Add --help and --version.
10159
10160 2011-11-12  Jim Meyering  <meyering@redhat.com>
10161
10162         revamp the other test-exclude?.sh scripts to use init.sh, too
10163         * tests/test-exclude1.sh: Use init.sh.
10164         * tests/test-exclude2.sh: Likewise.
10165         * tests/test-exclude3.sh: Likewise.
10166         * tests/test-exclude4.sh: Likewise.
10167         * tests/test-exclude5.sh: Likewise.
10168         * tests/test-exclude6.sh: Likewise.
10169         * tests/test-exclude7.sh: Likewise.
10170         * tests/test-exclude8.sh: Likewise.
10171         * modules/exclude-tests (Files): List init.sh.
10172
10173         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10174         These shell scripts ignored failure of the binary test-exclude,
10175         so making the latter return 77 didn't cause them to be skipped.
10176         * tests/test-exclude5.sh: Exit with test-exclude's error status
10177         when that program fails.  Revamp to use init.sh.
10178         * tests/test-exclude2.sh: Likewise.
10179
10180         test-exclude: fix a typo
10181         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10182
10183 2011-11-11  Bruno Haible  <bruno@clisp.org>
10184
10185         obstack: Fix compilation error on MSVC 9.
10186         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10187
10188 2011-11-11  Jim Meyering  <meyering@redhat.com>
10189
10190         test-exclude: skip tests rather than failing on deficient systems
10191         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10192         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10193         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10194         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10195
10196 2011-11-10  Bruno Haible  <bruno@clisp.org>
10197
10198         ptsname_r test: Avoid gcc warning on glibc systems.
10199         * tests/test-ptsname_r.c (null_ptr): New function.
10200         (test_errors): Use it.
10201
10202 2011-11-10  Bruno Haible  <bruno@clisp.org>
10203
10204         ptsname_r: Avoid compilation error on OSF/1 5.1.
10205         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10206         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10207         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10208         function is not declared or incompatibly declared.
10209         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10210         * modules/ptsname_r (Depends-on, configure.ac): Update.
10211         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10212
10213 2011-11-10  Bruno Haible  <bruno@clisp.org>
10214
10215         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10216         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10217         When cross-compiling, guess yes on all platforms except AIX.
10218         Reported by Ludovic Courtès <ludo@gnu.org>.
10219
10220 2011-11-09  Bruno Haible  <bruno@clisp.org>
10221
10222         ptsname_r tests: Fix bugs.
10223         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10224         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10225
10226 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10227
10228         fstatat: work with cross-compilation
10229         Problem reported by Ludovic Courtès in
10230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10231         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10232         "cross-compiling" and assume the bug is present.  Replace
10233         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10234         an inverted sense, to be more conservative about our assumptions.
10235         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10236
10237 2011-11-09  Bruno Haible  <bruno@clisp.org>
10238
10239         Improve MODULES.html output.
10240         * modules/mkfifoat (Description): Use the word "function".
10241         * modules/readlinkat (Description): Likewise.
10242         * modules/symlinkat (Description): Likewise.
10243
10244 2011-11-09  Eric Blake  <eblake@redhat.com>
10245
10246         ptsname_r-tests: new test module
10247         * modules/ptsname_r-tests: New module.
10248         * tests/test-ptsname_r.c: New file.
10249
10250         ptsname_r: new module
10251         * modules/ptsname_r: New module.
10252         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10253         * lib/ptsname.c (__ptsname_r): Split...
10254         * lib/ptsname_r.c: ...into new file.
10255         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10256         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10257         * modules/stdlib (Makefile.am): Substitute witnesses.
10258         * lib/stdlib.in.h (ptsname_r): Declare it.
10259         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10260         * MODULES.html.sh (Misc): Likewise.
10261         * modules/ptsname (Depends-on): Alter dependency.
10262         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10263
10264 2011-11-09  Jim Meyering  <meyering@redhat.com>
10265
10266         announce-gen: be more concise when there's only one URL+tarball
10267         * build-aux/announce-gen (get_tool_versions): When you distribute
10268         only one type of tarball, combine the first two "Here are..."
10269         sections and make the key-checking grammar independent of
10270         how many tarballs there are.
10271
10272 2011-11-09  Eric Blake  <eblake@redhat.com>
10273
10274         openpty: provide a stub on mingw
10275         * lib/pty.in.h (includes): Provide forward declarations.
10276         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10277
10278         raise: fix mingw handling of SIGPIPE
10279         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10280
10281 2011-11-08  Bruno Haible  <bruno@clisp.org>
10282
10283         More conditional dependencies.
10284         * modules/faccessat (Depends-on): Add conditions.
10285         * modules/fchmodat (Depends-on): Likewise.
10286         * modules/fchownat (Depends-on): Likewise.
10287         * modules/fstatat (Depends-on): Likewise.
10288         * modules/mkfifoat (Depends-on): Likewise.
10289         * modules/readlinkat (Depends-on): Likewise.
10290         * modules/symlinkat (Depends-on): Likewise.
10291         * modules/unlinkat (Depends-on): Likewise.
10292         * modules/utimensat (Depends-on): Likewise.
10293         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10294         * modules/linkat (Depends-on): Refine the conditions.
10295         * modules/renameat (Depends-on): Likewise.
10296
10297 2011-11-08  Bruno Haible  <bruno@clisp.org>
10298
10299         faccessat: Move AC_LIBOBJ invocation to module description.
10300         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10301         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10302         invocation from here...
10303         * modules/faccessat (configure.ac): ... to here. Invoke
10304         gl_PREREQ_FACCESSAT.
10305
10306 2011-11-08  Bruno Haible  <bruno@clisp.org>
10307
10308         faccessat: Simplify autoconf macro.
10309         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10310         gl_FUNC_EUIDACCESS.
10311
10312 2011-11-08  Bruno Haible  <bruno@clisp.org>
10313
10314         renameat: Fix dependencies.
10315         * modules/renameat (Depends-on): Add stdbool.
10316
10317 2011-11-08  Bruno Haible  <bruno@clisp.org>
10318
10319         mkfifoat: Fix module description.
10320         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10321         not gl_UNISTD_MODULE_INDICATOR.
10322
10323 2011-11-08  Bruno Haible  <bruno@clisp.org>
10324
10325         fstatat: Remove unused dependency.
10326         * modules/fstatat (Depends-on): Remove fstat.
10327
10328 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10329
10330         GNUmakefile: behave when Makefile is missing.
10331         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10332
10333 2011-11-08  Bruno Haible  <bruno@clisp.org>
10334
10335         openat: Conditionalize dependencies.
10336         * lib/openat.c: Reduce the scope of some #includes.
10337         * modules/openat (Depends-on): Add conditions.
10338
10339 2011-11-07  Jim Meyering  <meyering@redhat.com>
10340
10341         maint.mk: extract GPG key ID without using a temporary file
10342         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10343         without using a temporary file.  Based on a suggestion from Werner Koch
10344         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10345
10346 2011-11-07  Eric Blake  <eblake@redhat.com>
10347
10348         grantpt: fix typo
10349         * lib/stdlib.in.h (grantpt): Check correct function.
10350
10351         maint.mk: silence new syntax check
10352         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10353
10354 2011-11-06  Bruno Haible  <bruno@clisp.org>
10355
10356         Doc about floating-point and math API.
10357         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10358         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10359
10360 2011-11-06  Bruno Haible  <bruno@clisp.org>
10361
10362         stdalign tests: Skip the test when compiled by Sun C.
10363         * tests/test-stdalign.c (main): Skip the test on Sun C.
10364
10365 2011-11-06  Bruno Haible  <bruno@clisp.org>
10366
10367         ansi-c++-opt: Complete the 2011-06-05 change.
10368         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10369         does not support namespaces, set the variable to "no", not to ":".
10370
10371 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10372
10373         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10374
10375 2011-11-06  Bruno Haible  <bruno@clisp.org>
10376
10377         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10378         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10379         (minus_zerol) [HP-UX]: New macro.
10380         (unary_minus) [HP-UX]: New function.
10381         (copysignl) [HP-UX]: Use unary_minus function.
10382
10383 2011-11-06  Bruno Haible  <bruno@clisp.org>
10384
10385         ldexp, ldexpf, ldexpl: Enhance tests.
10386         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10387         and tests/test-ldexpl.c.
10388         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10389         LDEXP, MIN_EXP, MAX_EXP): New macros.
10390         Include test-ldexp.h.
10391         (main): Just call test_function.
10392         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10393         infinity.h, nan.h.
10394         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10395         MAX_EXP): New macros.
10396         Include test-ldexp.h.
10397         (x, y): Remove variables.
10398         (main): Just call test_function.
10399         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10400         infinity.h, nan.h.
10401         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10402         MAX_EXP): New macros.
10403         Include test-ldexp.h.
10404         (x, y): Remove variables.
10405         (main): Just call test_function.
10406         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10407         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10408         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10409         (Depends-on): Add isnand-nolibm, signbit, float.
10410         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10411         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10412         (Depends-on): Add isnanf-nolibm, signbit, float.
10413
10414 2011-11-06  Bruno Haible  <bruno@clisp.org>
10415
10416         math tests: Cosmetics.
10417         * tests/test-math-c++.cc: Reorder declarations.
10418
10419 2011-11-05  Bruno Haible  <bruno@clisp.org>
10420
10421         fma*: Simplify test.
10422         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10423         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10424
10425         Tests for module 'fmal'.
10426         * modules/fmal-tests: New file.
10427         * tests/test-fmal1.c: New file.
10428         * tests/test-fmal2.c: New file.
10429
10430         New module 'fmal'.
10431         * lib/math.in.h (fmal): New declaration.
10432         * lib/fmal.c: New file.
10433         * m4/fmal.m4: New file.
10434         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10436         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10437         REPLACE_FMAL.
10438         * modules/fmal: New file.
10439         * doc/posix-functions/fmal.texi: Mention the new module and the various
10440         bugs.
10441
10442         Tests for module 'fmaf'.
10443         * modules/fmaf-tests: New file.
10444         * tests/test-fmaf1.c: New file.
10445         * tests/test-fmaf2.c: New file.
10446
10447         New module 'fmaf'.
10448         * lib/math.in.h (fmaf): New declaration.
10449         * lib/fmaf.c: New file.
10450         * m4/fmaf.m4: New file.
10451         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10452         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10453         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10454         REPLACE_FMAF.
10455         * modules/fmaf: New file.
10456         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10457         bugs.
10458
10459         Tests for module 'fma'.
10460         * modules/fma-tests: New file.
10461         * tests/test-fma1.c: New file.
10462         * tests/test-fma1.h: New file.
10463         * tests/test-fma2.c: New file.
10464         * tests/test-fma2.h: New file.
10465
10466         New module 'fma'.
10467         * lib/math.in.h (fma): New declaration.
10468         * lib/fma.c: New file.
10469         * m4/fma.m4: New file.
10470         * m4/fegetround.m4: New file.
10471         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10473         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10474         REPLACE_FMA.
10475         * modules/fma: New file.
10476         * doc/posix-functions/fma.texi: Mention the new module and the various
10477         bugs.
10478
10479         Extend gl_MATHFUNC.
10480         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10481         Support 'void' as argument type.
10482         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10483
10484 2011-11-05  Jim Meyering  <meyering@redhat.com>
10485
10486         maint.mk: also prohibit inclusion of dirent.h without use
10487         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10488
10489 2011-11-05  Bruno Haible  <bruno@clisp.org>
10490
10491         ldexpl tests: Avoid test failure on MSVC 9.
10492         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10493         value. Needed in order to enforce the conversion from a value greater
10494         than LDBL_MAX to Infinity.
10495
10496 2011-11-05  Bruno Haible  <bruno@clisp.org>
10497
10498         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10499         * modules/at-internal: New file, extracted from modules/openat.
10500         * modules/openat-h: New file.
10501         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10502         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10503         * modules/openat (Description): Add reference to POSIX function.
10504         (Files): Remove lib/openat.h, lib/openat-proc.c.
10505         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10506         intprops, unistd.
10507         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10508         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10509         gl_FCNTL_MODULE_INDICATOR.
10510         (Include): Remove unistd.h, openat.h.
10511         * modules/areadlinkat (Files): Add lib/at-func.c.
10512         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10513         openat-die, openat-h, save-cwd.
10514         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10515         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10516         openat-die, openat-h, save-cwd, unistd.
10517         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10518         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10519         openat-h, save-cwd. Remove fcntl-h, openat.
10520         * modules/fchmodat (Files): Remove lib/openat.h.
10521         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10522         openat, stdbool, unistd.
10523         * modules/fchownat (Files): Remove lib/openat.h.
10524         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10525         openat, stdbool, sys_stat.
10526         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10527         lib/openat-proc.c.
10528         (Depends-on): Add at-internal.
10529         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10530         * modules/fstatat (Files): Remove lib/openat.h.
10531         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10532         stdbool, unistd.
10533         * modules/fts (Depends-on): Add openat-h.
10534         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10535         openat.
10536         * modules/mkdirat (Files): Remove lib/openat.h.
10537         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10538         openat, stdbool, sys_stat.
10539         * modules/mkfifoat (Files): Add lib/at-func.c.
10540         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10541         openat-h, save-cwd. Remove fcntl-h, openat.
10542         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10543         * modules/readlinkat (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/renameat (Depends-on): Add at-internal, openat-h. Remove
10547         openat.
10548         * modules/selinux-at (Files): Add lib/at-func.c.
10549         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10550         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10551         * modules/symlinkat (Files): Add lib/at-func.c.
10552         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10553         openat-h, save-cwd. Remove fcntl-h, openat.
10554         * modules/unlinkat (Files): Remove lib/openat.h.
10555         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10556         stdbool.
10557         * modules/utimensat (Files): Add lib/at-func.c.
10558         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10559         openat-die, openat-h, save-cwd.
10560         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10561         * modules/fdutimensat-tests (Depends-on): Add openat.
10562         * modules/fstatat-tests (Depends-on): Add openat-h.
10563         * modules/readlinkat-tests (Depends-on): Add openat.
10564         * modules/symlinkat-tests (Depends-on): Add openat.
10565
10566 2011-11-05  Bruno Haible  <bruno@clisp.org>
10567
10568         openat: Include <stdbool.h>.
10569         * lib/openat.c: Include <stdbool.h>.
10570
10571 2011-11-04  Bruno Haible  <bruno@clisp.org>
10572
10573         fchownat, renameat, unlinkat: Fix dependencies.
10574         * modules/fchownat (Depends-on): Add fstatat.
10575         * modules/renameat (Depends-on): Likewise.
10576         * modules/unlinkat (Depends-on): Likewise.
10577
10578 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10579
10580         openat: remove direct dependency on dirent
10581         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10582         and hasn't been needed ever since fdopendir was split into its own
10583         module on 2009-08-31.
10584         * modules/openat (Depends-on): Remove dirent.
10585
10586 2011-11-04  Bruno Haible  <bruno@clisp.org>
10587
10588         renameat: Optimize code size.
10589         * modules/renameat (configure.ac): Don't compile at-func2.c if
10590         REPLACE_RENAMEAT is 1.
10591
10592 2011-11-04  Bruno Haible  <bruno@clisp.org>
10593
10594         openat tests: Fix file list.
10595         * modules/openat-tests (Files): Add tests/test-open.h.
10596
10597 2011-11-04  Bruno Haible  <bruno@clisp.org>
10598
10599         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10600         * modules/fchmodat (Depends-on): Add openat-die.
10601         * modules/fchownat (Depends-on): Likewise.
10602         * modules/linkat (Depends-on): Likewise.
10603         * modules/renameat (Depends-on): Likewise.
10604         * modules/openat (Depends-on): Add dirent.
10605
10606 2011-11-04  Jim Meyering  <meyering@redhat.com>
10607
10608         at-func*.c: fix comments
10609         * lib/at-func2.c: Correct/improve first-line comment.
10610         * lib/at-func.c: Correct grammar in first-line comment.
10611
10612 2011-11-04  Bruno Haible  <bruno@clisp.org>
10613
10614         New module 'mkdirat', split off from module 'openat'.
10615         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10616         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10617         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10618         * modules/mkdirat: New file, extracted from modules/openat.
10619         * modules/openat (Files): Remove lib/mkdirat.c.
10620         (Depends-on): Remove mkdir.
10621         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10622         (Include): Remove <sys/stat.h>.
10623         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10624         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10625         tests/test-mkdir.h.
10626         (Depends-on): Remove ignore-value.
10627         (Makefile.am): Remove rules for test-mkdirat.
10628         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10629         of module 'openat'.
10630         * NEWS: Mention the change.
10631
10632 2011-11-04  Bruno Haible  <bruno@clisp.org>
10633
10634         closedir: Avoid warning on mingw.
10635         * lib/closedir.c: Include <unistd.h>.
10636
10637 2011-11-04  Bruno Haible  <bruno@clisp.org>
10638
10639         New module 'fstatat', split off from module 'openat'.
10640         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10641         defined.
10642         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10643         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10644         gl_FUNC_FSTATAT.
10645         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10646         * modules/fstatat: New file, extracted from modules/openat.
10647         * modules/openat (Files): Remove lib/fstatat.c.
10648         (Depends-on): Remove lstat.
10649         (configure.ac): Remove AC_LIBOBJ of fstatat.
10650         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10651         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10652         tests/test-lstat.h, tests/test-stat.h.
10653         (Depends-on): Remove getcwd-lgpl.
10654         (Makefile.am): Remove rules for test-fstatat.
10655         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10656         of module 'openat'.
10657         * NEWS: Mention the change.
10658         * modules/getcwd (Depends-on): Add fstatat.
10659         * modules/linkat (Depends-on): Likewise.
10660         * modules/mkfifoat-tests (Depends-on): Likewise.
10661         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10662
10663 2011-11-03  Bruno Haible  <bruno@clisp.org>
10664
10665         New module 'unlinkat', split off from module 'openat'.
10666         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10667         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10668         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10669         * modules/unlinkat: New file, extracted from modules/openat. Correct
10670         the dependency conditions.
10671         * modules/openat (Files): Remove lib/unlinkat.c.
10672         (Depends-on): Remove rmdir, unlink.
10673         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10674         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10675         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10676         tests/test-rmdir.h, tests/test-unlink.h.
10677         (Depends-on): Remove unlinkdir.
10678         (Makefile.am): Remove rules for test-unlinkat.
10679         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10680         of module 'openat'.
10681         * NEWS: Mention the change.
10682         * modules/linkat-tests (Depends-on): Add unlinkat.
10683         * modules/mkfifoat-tests (Depends-on): Likewise.
10684         * modules/readlinkat-tests (Depends-on): Likewise.
10685
10686 2011-11-02  Bruno Haible  <bruno@clisp.org>
10687
10688         New module 'fchmodat', split off from module 'openat'.
10689         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10690         defined.
10691         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10692         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10693         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10694         * modules/fchmodat: New file, extracted from modules/openat.
10695         * modules/openat (Files): Remove lib/fchmodat.c.
10696         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10697         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10698         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10699         (Makefile.am): Remove rules for test-fchmodat.
10700         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10701         of module 'openat'.
10702         * NEWS: Mention the change.
10703
10704 2011-11-02  Jim Meyering  <meyering@redhat.com>
10705
10706         putenv: indent #definition of "environ" to placate cppi
10707         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10708
10709         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10710         Git logs are often treated as immutable, because editing them
10711         changes the SHA1 checksums of all descendants.  Thus, errors in
10712         git logs tend to stay there forever.  However, when we generate
10713         a ChangeLog file -- typically for distribution -- from that git log,
10714         we can actually make corrections in the generated file.  The key
10715         lies in recording in machine-readable/applicable form the desired
10716         corrections.  See --help for description and an example.
10717         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10718         (usage): Describe it; alphabetize option descriptions.
10719         (main): Honor the new option, carefully.
10720
10721 2011-11-01  Jim Meyering  <meyering@redhat.com>
10722
10723         gitlog-to-changelog: avoid an infloop
10724         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10725         that ends up being empty.
10726
10727 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10728
10729         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10730         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10731         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10732         contains (possibly-quoted) backslashes.  This should avoid
10733         all-too-common shell bugs if COMPLICATED contains backslashes in
10734         the "wrong" places.  Reported by David Evans in
10735         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10736         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10737         because we want ASCII ranges.  Is there some reason we don't use
10738         the C locale everywhere in this script?
10739         (func_module, top level): Avoid unwanted pathname expansion when
10740         $repo_url_prefix or $repo_url_suffix_repl contain shell
10741         metacharacters like '?' and '*'.
10742
10743 2011-11-01  Bruno Haible  <bruno@clisp.org>
10744
10745         fchownat: Improve description.
10746         * modules/fchownat (Description): Add link to function.
10747
10748 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10749
10750         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10751         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10752         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10753         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10754
10755 2011-11-01  Bruno Haible  <bruno@clisp.org>
10756
10757         alignof: Avoid collision with stdalign module.
10758         * lib/alignof.h (alignof): Remove macro.
10759         * NEWS: Mention the change.
10760         Reported by Paul Eggert.
10761
10762 2011-11-01  Bruno Haible  <bruno@clisp.org>
10763
10764         New module 'fchownat', split off from module 'openat'.
10765         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10766         defined.
10767         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10768         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10769         invoke gl_FUNC_FCHOWNAT.
10770         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10771         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10772         * modules/fchownat: New file, extracted from modules/openat.
10773         * modules/openat (Files): Remove lib/fchownat.c.
10774         (Depends-on): Remove lchown.
10775         (configure.ac): Remove AC_LIBOBJ of fchownat.
10776         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10777         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10778         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10779         (Depends-on): Remove mgetgroups, usleep, stat-time.
10780         (configure.ac): Remove test for getegid.
10781         (Makefile.am): Remove rules for test-fchownat.
10782         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10783         of module 'openat'.
10784         * NEWS: Mention the change.
10785
10786 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10787
10788         stdalign: port better to MSVC and to Sun C 5.11
10789         This fixes some of the problems reported by Bruno Haible in
10790         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10791         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10792         shortcomings of MSVC and of Sun C 5.11.
10793         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10794         around __declspec arg.
10795         * modules/stdalign-tests (Files): Add tests/macros.h.
10796         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10797         Include macros.h, for ASSERT.
10798         (DECLARE_ALIGNED): Remove.
10799         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10800         to catch bug), and to 1 if not (simplifies the rest of the code).
10801         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10802         (CHECK_AUTO): Remove.
10803         (CHECK_ALIGNED): Check only the alignment of the static vars,
10804         since auto var alignment isn't supported by Sun C 5.11.
10805         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10806         ASSERT failures are easier to diagnose.
10807
10808 2011-10-31  Bruno Haible  <bruno@clisp.org>
10809
10810         doc about some IRIX 5.3 problems.
10811         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10812         on IRIX 5.3.
10813         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10814         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10815         5.3.
10816         * doc/posix-functions/grantpt.texi: Likewise.
10817         * doc/posix-functions/unlockpt.texi: Likewise.
10818         * doc/posix-functions/lgamma.texi: Likewise.
10819         * doc/posix-functions/nextafter.texi: Likewise.
10820         * doc/posix-functions/remainder.texi: Likewise.
10821         * doc/posix-functions/select.texi: Mention misplaced declaration on
10822         IRIX 5.3.
10823         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10824
10825 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10826
10827         gitlog-to-changelog: fix git-log invocation.
10828         git-log mishandles date strings before 1970-01-01 UTC, and there is
10829         no use to specify --since=1970-01-01 by default anyway.
10830         * build-aux/gitlog-to-changelog: By default, when no --since option
10831         was given, do not specify explicit --since option to git-log.
10832
10833 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10834
10835         gitlog-to-changelog: new option --append-dot.
10836         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10837         first non-blank line of each commit message terminated with a dot.
10838
10839 2011-10-30  Bruno Haible  <bruno@clisp.org>
10840
10841         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10842         * lib/ffsl.h: Include <config.h>.
10843         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10844
10845 2011-10-30  Jim Meyering  <meyering@redhat.com>
10846
10847         GNUmakefile: reenable "make syntax-check" for most projects
10848         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10849         build-aux variable", "syntax-check" would do nothing but succeed with
10850         the "No version control files detected..." diagnostic (unless you
10851         happened to override _build-aux via cfg.mk).
10852         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10853         to precede inclusion of maint.mk.  Otherwise, these variables would
10854         be used undefined in any project that does not override the default.
10855
10856 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10857
10858         gitlog-to-changelog: treat a message with only blank lines as empty.
10859         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10860         trailing blank lines before the code that issues a warning about an
10861         empty commit message.
10862
10863 2011-10-30  Jim Meyering  <meyering@redhat.com>
10864
10865         test-parse-datetime.c: avoid new DST-related false positive test failure
10866         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10867         based on the time/date we'll convert, not the current time.
10868         Otherwise, the moment we cross a DST boundary like today's in
10869         Europe, (CEST to CET), that offset ends up being one hour off.
10870
10871 2011-10-27  Bruno Haible  <bruno@clisp.org>
10872
10873         fstat: Tweak documentation.
10874         * modules/fstat (Description): More precise description.
10875
10876 2011-10-27  Bruno Haible  <bruno@clisp.org>
10877
10878         Update documentation regarding 'largefile' module.
10879         * doc/posix-functions/fstat.texi: Tweak wording.
10880         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10881         problems with huge directories and/or small ino_t types.
10882         * doc/posix-functions/readdir.texi: Likewise.
10883         * doc/posix-functions/rewinddir.texi: Likewise.
10884
10885 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10886
10887         maint.mk: don't maintain a second build-aux variable.
10888         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10889         depends on GNUmakefile, which already maintains a cfg.mk
10890         overridable $(_build-aux) for projects with a non-standard
10891         build-aux directory location, although without the $(srcdir)
10892         prefix.  Use that variable consistently instead of introducing a
10893         second one.  Adjust all call sites.
10894
10895 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10896
10897         Add stdalign module and use it in other modules.
10898         This is based on a previous proposal by Bruno Haible
10899         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10900
10901         stdalign: new module
10902         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10903         * modules/stdalign: New files.
10904         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10905         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10906
10907         stdalign-tests: new module
10908         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10909
10910         argp: use stdalign
10911         * lib/argp-parse.c: Include <stdalign.h>.
10912         (alignof): Remove.
10913         * modules/argp (Depends-on): Add stdalign.
10914
10915         crypto libraries: use stdalign
10916         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10917         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10918         Do not include <stdlib.h> twice, in md4.c.
10919         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10920         because we are accessing a pointer's bit-pattern, not a size.
10921         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10922         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10923         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10924         * modules/crypto/sha512: Likewise.
10925
10926         sys_socket: use stdalign, not alignof
10927         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10928         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10929
10930 2011-10-27  Bruno Haible  <bruno@clisp.org>
10931
10932         raise test: Avoid a test failure on Linux/MIPS.
10933         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10934         because 99 is a valid signal on Linux/MIPS.
10935
10936 2011-10-27  Bruno Haible  <bruno@clisp.org>
10937
10938         nonblocking tests: Fix test failure on Linux/MIPS.
10939         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10940         Set to 270000.
10941
10942 2011-10-27  Bruno Haible  <bruno@clisp.org>
10943
10944         utimensat: Work around problem on Linux/hppa.
10945         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10946         values.
10947         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10948
10949 2011-10-25  Jim Meyering  <meyering@redhat.com>
10950
10951         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10952         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10953         after symbols like NULL, size_t, etc.
10954         Reported by Alfred M. Szmidt.
10955
10956         maint.mk: exempt ENODATA from a syntax-check rule
10957         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10958         from the sc_prohibit_always-defined_macros syntax-check rule.
10959         Add a comment.  See this for more details:
10960         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10961
10962 2011-10-23  Jim Meyering  <meyering@redhat.com>
10963
10964         fts: close parent dir FD before returning from post-traversal fts_read
10965         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10966         unlink A, even though an FD open on A remained.  This is suboptimal
10967         (holding a file descriptor open longer than needed), but otherwise not
10968         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10969         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10970         that represents a real problem: it causes the removal of A to fail
10971         with e.g., "rm: cannot remove `A': Device or resource busy"
10972
10973         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10974         directory file descriptors.  After completing the final, FTS_DP,
10975         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10976         cache, but then proceeded to add a new FD to it via the subsequent
10977         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10978         final file descriptor would be closed only via fts_close's call to
10979         fd_ring_clear.  Now, it is usually closed earlier, via the final
10980         FTS_DP-returning fts_read call.
10981         * lib/fts.c (restore_initial_cwd): New function, converted from
10982         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10983         Update callers.
10984         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10985         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10986
10987 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10988             Bruno Haible  <bruno@clisp.org>
10989             Jim Meyering  <jim@meyering.net>
10990
10991         readme-release: improve safety of release prep instructions.
10992         * README-release: Don't git pull all branches when only master
10993         is needed for the release process.
10994         Run make maintainer-clean before changing trees and merging.
10995         Don't try to run ./configure right after git pull in case files
10996         that influence the bootstrap process have changed, move the
10997         ./configure step to after running ./bootstrap.
10998         Don't bootstrap "one last time"... it's the first time!
10999
11000 2011-10-22  Bruno Haible  <bruno@clisp.org>
11001
11002         errno, strerror-override: Support for MSVC 10.
11003         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11004         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11005         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11006         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11007         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11008         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11009         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11010         Assign values compatible with MSVC 10.
11011         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11012         New macros.
11013         (GNULIB_defined_EWINSOCK): New macro.
11014         * lib/strerror-override.c (strerror_override): Update accordingly.
11015         * lib/strerror-override.h: Likewise.
11016         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11017         longer equal to the corresponding errno value.
11018         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11019
11020 2011-10-22  Bruno Haible  <bruno@clisp.org>
11021
11022         perror: Recognize when test program crashes.
11023         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11024         strerror, set gl_cv_func_perror_works to no.
11025         Reported by Daniel Richard G. <skunk@iskunk.org>.
11026
11027         perror: Fix indentation.
11028         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11029
11030 2011-10-22  Bruno Haible  <bruno@clisp.org>
11031
11032         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11033         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11034         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11035         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11036         functions, not as a macro.
11037         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11038         macros.
11039         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11040         absence of macro.
11041         Suggested by Eric Blake.
11042         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11043
11044 2011-10-21  Bruno Haible  <bruno@clisp.org>
11045
11046         relocatable-prog-wrapper: Don't leave object files behind.
11047         * build-aux/install-reloc: Re-synchronize list of .o files to be
11048         removed with list of compilation units.
11049
11050 2011-10-20  Bruno Haible  <bruno@clisp.org>
11051
11052         openpty, posix_openpt: Remove code duplication.
11053         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11054         * lib/openpty.c: Include <stdlib.h>.
11055         (openpty): Use posix_openpt on all platforms except IRIX.
11056         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11057
11058 2011-10-20  Bruno Haible  <bruno@clisp.org>
11059
11060         unlockpt: Detect invalid argument.
11061         * lib/unlockpt.c: Include <fcntl.h>.
11062         (unlockpt): Check whether fd is valid, using fcntl().
11063         * modules/unlockpt (Depends-on): Add fcntl-h.
11064
11065 2011-10-20  Bruno Haible  <bruno@clisp.org>
11066
11067         openpty: Avoid compilation error on AIX 6.1.
11068         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11069
11070 2011-10-20  Bruno Haible  <bruno@clisp.org>
11071
11072         posix_openpt: Support for OpenBSD.
11073         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11074         (posix_openpt) [OpenBSD]: New code.
11075         * lib/grantpt.c: Include <fcntl.h>.
11076         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11077         * modules/grantpt (Depends-on): Add fcntl-h.
11078
11079 2011-10-20  Bruno Haible  <bruno@clisp.org>
11080
11081         posix_openpt test: Coding style.
11082         * tests/test-posix_openpt.c: Use GNU coding style.
11083
11084 2011-10-20  Bruno Haible  <bruno@clisp.org>
11085
11086         grantpt: Support --avoid=pt_chown.
11087         * modules/grantpt (Files): Add lib/pty-private.h.
11088
11089 2011-10-20  Bruno Haible  <bruno@clisp.org>
11090
11091         posix_openpt: Fix autoconf macro.
11092         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11093         unneeded check for _getpty.
11094
11095 2011-10-20  Bruno Haible  <bruno@clisp.org>
11096
11097         openpty: Update comments.
11098         * lib/openpty.c: Add comments about Minix.
11099
11100 2011-10-19  Eric Blake  <eblake@redhat.com>
11101
11102         openpty: relax license
11103         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11104
11105         pt_chown: use configmake to simplify build
11106         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11107
11108         ptsname and others: relax license
11109         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11110         * modules/unlockpt (License): Likewise.
11111         * modules/pt_chown (License): Likewise.
11112         * modules/ptsname (License): Likewise.
11113         * modules/ttyname_r (License): Likewise.
11114
11115 2011-10-19  Jim Meyering  <meyering@redhat.com>
11116
11117         posix_openpt: remove spurious #endif
11118         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11119
11120 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11121
11122         maint.mk: Respect $(build_aux) in web-manual rule.
11123         * top/maint.mk (web-manual): Find gen-announce script in user's
11124         $(build_aux) directory instead of hard-coding 'build-aux'.
11125
11126 2011-10-19  Bruno Haible  <bruno@clisp.org>
11127
11128         posix_openpt: Fix compilation error.
11129         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11130         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11131         Mention the openpty module as an alternative.
11132
11133 2011-10-19  Bruno Haible  <bruno@clisp.org>
11134
11135         Support for old NeXTstep 3.3 frexp().
11136         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11137         execution time of the test to 5 seconds.
11138         Reported by Daniel Richard G. <skunk@iskunk.org>.
11139
11140 2011-10-19  Bruno Haible  <bruno@clisp.org>
11141
11142         Support for old NeXTstep 3.3 sed.
11143         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11144         part, use /.../, not \|...|. Escape periods in the header file name.
11145         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11146         Reported by Daniel Richard G. <skunk@iskunk.org>.
11147
11148 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11149
11150         Support for old NeXTstep 3.3 gcc.
11151         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11152         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11153         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11154         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11155         * lib/regex.h (_Restrict_arr_): Likewise.
11156         * lib/regex_internal.h (re_token_t): Likewise.
11157         * lib/regexec.c (check_node_accept_bytes): Likewise.
11158         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11159
11160 2011-10-18  Eric Blake  <eblake@redhat.com>
11161
11162         posix_openpt: new module
11163         * modules/posix_openpt: New module.
11164         * m4/posix_openpt.m4: New file.
11165         * lib/posix_openpt.c: Likewise.
11166         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11167         (gl_STDLIB_H_DEFAULTS): Set defaults.
11168         * modules/stdlib (Makefile.am): Substitute macros.
11169         * lib/stdlib.in.h (posix_openpt): Declare.
11170         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11171         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11172         * modules/posix_openpt-tests: New test module.
11173         * tests/test-posix_openpt.c: New test.
11174
11175 2011-10-15  Bruno Haible  <bruno@clisp.org>
11176
11177         xstrtoll: Fix compilation failure.
11178         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11179         from lib/strtol.c.
11180         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11181         some platforms.
11182         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11183
11184 2011-10-15  Bruno Haible  <bruno@clisp.org>
11185
11186         vasnprintf: Optimize bit search operation.
11187         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11188         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11189         gl_DOUBLE_EXPONENT_LOCATION.
11190         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11191         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11192         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11193         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11194         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11195         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11196         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11197         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11198         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11199
11200 2011-10-15  Bruno Haible  <bruno@clisp.org>
11201
11202         vasnprintf: Fix comments.
11203         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11204
11205 2011-10-14  Bruno Haible  <bruno@clisp.org>
11206
11207         Tests for module 'integer_length_ll'.
11208         * modules/integer_length_ll-tests: New file.
11209         * tests/test-integer_length_ll.c: New file.
11210
11211         New module 'integer_length_ll'.
11212         * lib/integer_length_ll.c: New file.
11213         * modules/integer_length_ll: New file.
11214
11215 2011-10-14  Bruno Haible  <bruno@clisp.org>
11216
11217         Tests for module 'integer_length_l'.
11218         * modules/integer_length_l-tests: New file.
11219         * tests/test-integer_length_l.c: New file.
11220
11221         New module 'integer_length_l'.
11222         * lib/integer_length_l.c: New file.
11223         * modules/integer_length_l: New file.
11224
11225 2011-10-14  Bruno Haible  <bruno@clisp.org>
11226
11227         Tests for module 'integer_length'.
11228         * modules/integer_length-tests: New file.
11229         * tests/test-integer_length.c: New file.
11230
11231         New module 'integer_length'.
11232         * lib/integer_length.h: New file.
11233         * lib/integer_length.c: New file.
11234         * modules/integer_length: New file.
11235
11236 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11237
11238         popen: Fix dependency conditions.
11239         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11240
11241 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11242
11243         perror: Fix autoconf test.
11244         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11245         <stdlib.h> and <string.h>.
11246
11247 2011-10-14  Bruno Haible  <bruno@clisp.org>
11248
11249         ffsl: Optimize on 64-bit platforms.
11250         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11251         unrolling.
11252
11253 2011-10-13  Bruno Haible  <bruno@clisp.org>
11254
11255         ffsl: Optimize on 32-bit platforms.
11256         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11257         use ffs() without a loop.
11258
11259         ffsl, ffsll: Optimize for GCC.
11260         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11261         * lib/ffsl.c (GCC_BUILTIN): New macro.
11262         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11263
11264 2011-10-13  Bruno Haible  <bruno@clisp.org>
11265
11266         ffs, bcopy, memset: Support symbol renaming via config.h.
11267         * lib/ffs.c: Include <config.h>.
11268         * lib/bcopy.c: Likewise.
11269         * lib/memset.c: Likewise.
11270
11271 2011-10-10  Bruno Haible  <bruno@clisp.org>
11272
11273         atanl: Simplify for platforms where 'long double' == 'double'.
11274         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11275         alternative implementation.
11276         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11277         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11278         * modules/atanl (Depends-on): Add atan. Update conditions.
11279
11280 2011-10-10  Bruno Haible  <bruno@clisp.org>
11281
11282         acosl: Simplify for platforms where 'long double' == 'double'.
11283         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11284         alternative implementation.
11285         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11286         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11287         * modules/acosl (Depends-on): Add acos. Update conditions.
11288
11289 2011-10-10  Bruno Haible  <bruno@clisp.org>
11290
11291         asinl: Simplify for platforms where 'long double' == 'double'.
11292         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11293         alternative implementation.
11294         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11295         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11296         * modules/asinl (Depends-on): Add asin. Update conditions.
11297
11298 2011-10-10  Bruno Haible  <bruno@clisp.org>
11299
11300         tanl: Simplify for platforms where 'long double' == 'double'.
11301         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11302         implementation.
11303         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11304         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11305         * modules/tanl (Depends-on): Add tan. Update conditions.
11306         (configure.ac): Don't compile trigl.c if
11307         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11308
11309 2011-10-10  Bruno Haible  <bruno@clisp.org>
11310
11311         cosl: Simplify for platforms where 'long double' == 'double'.
11312         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11313         implementation.
11314         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11315         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11316         * modules/cosl (Depends-on): Add cos. Update conditions.
11317         (configure.ac): Don't compile sincosl.c and trigl.c if
11318         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11319
11320 2011-10-10  Bruno Haible  <bruno@clisp.org>
11321
11322         sinl: Simplify for platforms where 'long double' == 'double'.
11323         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11324         implementation.
11325         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11326         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11327         * modules/sinl (Depends-on): Add sin. Update conditions.
11328         (configure.ac): Don't compile sincosl.c and trigl.c if
11329         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11330
11331 2011-10-10  Bruno Haible  <bruno@clisp.org>
11332
11333         logl: Simplify for platforms where 'long double' == 'double'.
11334         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11335         implementation.
11336         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11337         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11338         * modules/logl (Depends-on): Add log. Update conditions.
11339
11340 2011-10-10  Bruno Haible  <bruno@clisp.org>
11341
11342         expl: Simplify for platforms where 'long double' == 'double'.
11343         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11344         implementation.
11345         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11346         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11347         * modules/expl (Depends-on): Add exp. Update conditions.
11348
11349 2011-10-10  Bruno Haible  <bruno@clisp.org>
11350
11351         sqrtl: Simplify for platforms where 'long double' == 'double'.
11352         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11353         alternative implementation.
11354         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11355         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11356         * modules/sqrtl (Depends-on): Update conditions.
11357
11358 2011-10-10  Bruno Haible  <bruno@clisp.org>
11359
11360         ldexpl: Simplify for platforms where 'long double' == 'double'.
11361         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11362         alternative implementation.
11363         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11364         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11365         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11366
11367 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11368
11369         ffsll: set correct witness
11370         * modules/ffsll (configure.ac): Fix typo.
11371
11372 2011-10-10  Bruno Haible  <bruno@clisp.org>
11373
11374         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11375         * lib/printf-frexpl.c: Include <config.h>.
11376         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11377         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11378         second time.
11379         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11380         gl_LONG_DOUBLE_VS_DOUBLE.
11381         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11382         conditions.
11383
11384 2011-10-10  Bruno Haible  <bruno@clisp.org>
11385
11386         frexpl: Simplify for platforms where 'long double' == 'double'.
11387         * lib/frexpl.c: Include <config.h>.
11388         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11389         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11390         time.
11391         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11392         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11393         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11394         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11395         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11396         conditions.
11397
11398 2011-10-10  Jim Meyering  <meyering@redhat.com>
11399
11400         test-renameat: don't leave behind a temporary file
11401         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11402           ERROR: files left in build directory after distclean:
11403           ./gltests/test-renameat.too
11404           make[1]: *** [distcleancheck] Error 1
11405         Reported by Tom G. Christensen.
11406
11407 2011-10-09  Bruno Haible  <bruno@clisp.org>
11408
11409         rint: Determine RINT_LIBM correctly on AIX 7.
11410         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11411         directly, not only through a function pointer. Also accept an optional
11412         4th argument with extra code.
11413         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11414         rintf() call by gcc when optimizing.
11415
11416         mathfunc.m4: Refactor.
11417         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11418         m4 variable.
11419
11420 2011-10-09  Bruno Haible  <bruno@clisp.org>
11421
11422         rintl: Simplify for platforms where 'long double' == 'double'.
11423         * lib/rintl.c: Include <config.h>.
11424         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11425         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11426         time.
11427         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11428         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11429         * modules/rintl (Depends-on): Add rint. Update conditions.
11430
11431 2011-10-09  Bruno Haible  <bruno@clisp.org>
11432
11433         roundl: Simplify for platforms where 'long double' == 'double'.
11434         * lib/roundl.c: Include <config.h>.
11435         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11436         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11437         time.
11438         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11439         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11440         * modules/roundl (Depends-on): Add round. Update conditions.
11441
11442 2011-10-09  Bruno Haible  <bruno@clisp.org>
11443
11444         truncl: Simplify for platforms where 'long double' == 'double'.
11445         * lib/truncl.c: Include <config.h>.
11446         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11447         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11448         time.
11449         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11450         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11451         * modules/truncl (Depends-on): Add trunc. Update conditions.
11452
11453 2011-10-09  Bruno Haible  <bruno@clisp.org>
11454
11455         ceill: Simplify for platforms where 'long double' == 'double'.
11456         * lib/ceill.c: Include <config.h>.
11457         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11458         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11459         time.
11460         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11461         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11462         * modules/ceill (Depends-on): Add ceil. Update conditions.
11463
11464 2011-10-09  Bruno Haible  <bruno@clisp.org>
11465
11466         floorl: Simplify for platforms where 'long double' == 'double'.
11467         * lib/floorl.c: Include <config.h>.
11468         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11469         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11470         time.
11471         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11472         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11473         * modules/floorl (Depends-on): Add floor. Update conditions.
11474
11475 2011-10-09  Bruno Haible  <bruno@clisp.org>
11476
11477         rint: Fix ordering constraints.
11478         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11479         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11480         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11481
11482 2011-10-09  Bruno Haible  <bruno@clisp.org>
11483
11484         copysignl: Simplify for platforms where 'long double' == 'double'.
11485         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11486         alternative.
11487         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11488         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11489         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11490
11491 2011-10-09  Bruno Haible  <bruno@clisp.org>
11492
11493         Tests for module 'rintl'.
11494         * modules/rintl-tests: New file.
11495         * tests/test-rintl.c: New file.
11496
11497         New module 'rintl'.
11498         * lib/math.in.h (rintl): New declaration.
11499         * lib/rintl.c: New file.
11500         * m4/rintl.m4: New file.
11501         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11502         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11503         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11504         * modules/rintl: New file.
11505         * tests/test-math-c++.cc: Check the declaration of rintl.
11506         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11507         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11508         * doc/posix-functions/rintl.texi: Mention the new module.
11509
11510 2011-10-09  Bruno Haible  <bruno@clisp.org>
11511
11512         Tests for module 'rintf'.
11513         * modules/rintf-tests: New file.
11514         * tests/test-rintf.c: New file.
11515
11516         New module 'rintf'.
11517         * lib/math.in.h (rintf): New declaration.
11518         * lib/rintf.c: New file.
11519         * m4/rintf.m4: New file.
11520         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11522         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11523         * modules/rintf: New file.
11524         * tests/test-math-c++.cc: Check the declaration of rintf.
11525         * doc/posix-functions/rintf.texi: Mention the new module.
11526
11527 2011-10-09  Bruno Haible  <bruno@clisp.org>
11528
11529         rint: Support for MSVC.
11530         * lib/math.in.h (rint): New declaration.
11531         * lib/rint.c: New file.
11532         * m4/rint.m4: New file.
11533         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11534         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11535         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11536         * modules/rint (Description): Fix.
11537         (Files): Add lib/rint.c, m4/rint.m4.
11538         (Depends-on): Add math.
11539         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11540         gl_MATH_MODULE_INDICATOR.
11541         * tests/test-math-c++.cc: Check the declaration of rint.
11542         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11543         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11544         * doc/posix-functions/rint.texi: Mention the replacement provided by
11545         the module.
11546
11547         rint tests: More tests.
11548         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11549         minus-zero.h, infinity.h, nan.h.
11550         (main): Skip the test if the current rounding mode is not standard. Add
11551         tests for negative numbers, minus zero, infinity, NaN.
11552         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11553         tests/nan.h.
11554         (Depends-on): Add isnand-nolibm.
11555
11556 2011-10-09  Bruno Haible  <bruno@clisp.org>
11557
11558         Tests for module 'copysignl'.
11559         * modules/copysignl-tests: New file.
11560         * tests/test-copysignl.c: New file.
11561
11562         New module 'copysignl'.
11563         * lib/math.in.h (copysignl): New declaration.
11564         * lib/copysignl.c: New file.
11565         * m4/copysignl.m4: New file.
11566         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11568         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11569         HAVE_COPYSIGNL.
11570         * modules/copysignl: New file.
11571         * tests/test-math-c++.cc: Check the declaration of copysignl.
11572         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11573         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11574         * doc/posix-functions/copysignl.texi: Mention the new module.
11575
11576 2011-10-09  Bruno Haible  <bruno@clisp.org>
11577
11578         Tests for module 'copysignf'.
11579         * modules/copysignf-tests: New file.
11580         * tests/test-copysignf.c: New file.
11581
11582         New module 'copysignf'.
11583         * lib/math.in.h (copysignf): New declaration.
11584         * lib/copysignf.c: New file.
11585         * m4/copysignf.m4: New file.
11586         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11587         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11588         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11589         HAVE_COPYSIGNF.
11590         * modules/copysignf: New file.
11591         * tests/test-math-c++.cc: Check the declaration of copysignf.
11592         * doc/posix-functions/copysignf.texi: Mention the new module.
11593
11594 2011-10-09  Bruno Haible  <bruno@clisp.org>
11595
11596         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11597         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11598         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11599         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11600         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11601         gl_SIGNAL_H_DEFAULTS.
11602
11603 2011-10-09  Bruno Haible  <bruno@clisp.org>
11604
11605         poll: Make macro safer.
11606         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11607         ac_cv_header_poll_h is not set.
11608
11609 2011-10-09  Bruno Haible  <bruno@clisp.org>
11610
11611         copysign: Provide replacement.
11612         * lib/math.in.h (copysign): New declaration.
11613         * lib/copysign.c: New file.
11614         * m4/copysign.m4: New file.
11615         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11616         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11617         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11618         HAVE_COPYSIGN.
11619         * modules/copysign (Description): Clarify.
11620         (Files): Add lib/copysign.c, m4/copysign.m4.
11621         (Depends-on): Add math, signbit.
11622         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11623         gl_MATH_MODULE_INDICATOR.
11624         * tests/test-math-c++.cc: Check the declaration of copysign.
11625         * doc/posix-functions/copysign.texi: Mention the effects of the module
11626         on Minix and MSVC.
11627
11628 2011-10-09  Bruno Haible  <bruno@clisp.org>
11629
11630         isinf: Ensure macro on AIX 5.1.
11631         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11632         macro.
11633         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11634
11635 2011-10-09  Bruno Haible  <bruno@clisp.org>
11636
11637         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11638         * modules/snprintf-posix-tests (configure.ac): Require
11639         gl_LONG_DOUBLE_VS_DOUBLE.
11640         * modules/sprintf-posix-tests (configure.ac): Likewise.
11641         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11642         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11643         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11644         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11645         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11646         tests on platforms where 'long double' is the same as 'double'.
11647         * tests/test-sprintf-posix.h (test_function): Likewise.
11648         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11649         * tests/test-vasprintf-posix.c (test_function): Likewise.
11650
11651         *printf: Fix for platforms where 'long double' == 'double'.
11652         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11653         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11654         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11655         * modules/fprintf-posix (Files): Likewise.
11656         * modules/obstack-printf-posix (Files): Likewise.
11657         * modules/snprintf-posix (Files): Likewise.
11658         * modules/sprintf-posix (Files): Likewise.
11659         * modules/vasnprintf (Files): Likewise.
11660         * modules/vasnprintf-posix (Files): Likewise.
11661         * modules/vasprintf-posix (Files): Likewise.
11662         * modules/vdprintf-posix (Files): Likewise.
11663         * modules/vfprintf-posix (Files): Likewise.
11664         * modules/vsnprintf-posix (Files): Likewise.
11665         * modules/vsprintf-posix (Files): Likewise.
11666         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11667         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11668         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11669         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11670         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11671         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11672         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11673
11674         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11675         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11676         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11677         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11678         'long double'.
11679         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11680
11681         isinf: Fix for platforms where 'long double' == 'double'.
11682         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11683         Don't blindly assume 80-bit 'long double'.
11684
11685         isfinite: Fix for platforms where 'long double' == 'double'.
11686         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11687         Don't blindly assume 80-bit 'long double'.
11688
11689         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11690         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11691         * modules/isfinite-tests (configure.ac): Require
11692         gl_LONG_DOUBLE_VS_DOUBLE.
11693         * modules/isinf-tests (configure.ac): Likewise.
11694         * modules/isnan-tests (configure.ac): Likewise.
11695         * modules/isnanl-tests (configure.ac): Likewise.
11696         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11697         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11698         tests on platforms where 'long double' is the same as 'double'.
11699         * tests/test-isinf.c (test_isinfl): Likewise.
11700         * tests/test-isnan.c (test_long_double): Likewise.
11701         * tests/test-isnanl.h (main): Likewise.
11702
11703 2011-10-08  Bruno Haible  <bruno@clisp.org>
11704
11705         Tests for module 'tanhf'.
11706         * modules/tanhf-tests: New file.
11707         * tests/test-tanhf.c: New file.
11708
11709         New module 'tanhf'.
11710         * lib/math.in.h (tanhf): New declaration.
11711         * lib/tanhf.c: New file.
11712         * m4/tanhf.m4: New file.
11713         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11714         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11715         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11716         * modules/tanhf: New file.
11717         * tests/test-math-c++.cc: Check the declaration of tanhf.
11718         * doc/posix-functions/tanhf.texi: Mention the new module.
11719
11720         tanh: Use a .m4 file.
11721         * m4/tanh.m4: New file.
11722         * modules/tanh (Files): Add it.
11723         (configure.ac): Just invoke gl_FUNC_TANH.
11724
11725 2011-10-08  Bruno Haible  <bruno@clisp.org>
11726
11727         Tests for module 'coshf'.
11728         * modules/coshf-tests: New file.
11729         * tests/test-coshf.c: New file.
11730
11731         New module 'coshf'.
11732         * lib/math.in.h (coshf): New declaration.
11733         * lib/coshf.c: New file.
11734         * m4/coshf.m4: New file.
11735         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11736         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11737         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11738         * modules/coshf: New file.
11739         * tests/test-math-c++.cc: Check the declaration of coshf.
11740         * doc/posix-functions/coshf.texi: Mention the new module.
11741
11742         cosh: Use a .m4 file.
11743         * m4/cosh.m4: New file.
11744         * modules/cosh (Files): Add it.
11745         (configure.ac): Just invoke gl_FUNC_COSH.
11746
11747 2011-10-08  Bruno Haible  <bruno@clisp.org>
11748
11749         Tests for module 'sinhf'.
11750         * modules/sinhf-tests: New file.
11751         * tests/test-sinhf.c: New file.
11752
11753         New module 'sinhf'.
11754         * lib/math.in.h (sinhf): New declaration.
11755         * lib/sinhf.c: New file.
11756         * m4/sinhf.m4: New file.
11757         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11758         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11759         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11760         * modules/sinhf: New file.
11761         * tests/test-math-c++.cc: Check the declaration of sinhf.
11762         * doc/posix-functions/sinhf.texi: Mention the new module.
11763
11764         sinh: Use a .m4 file.
11765         * m4/sinh.m4: New file.
11766         * modules/sinh (Files): Add it.
11767         (configure.ac): Just invoke gl_FUNC_SINH.
11768
11769 2011-10-08  Bruno Haible  <bruno@clisp.org>
11770
11771         Tests for module 'atan2f'.
11772         * modules/atan2f-tests: New file.
11773         * tests/test-atan2f.c: New file.
11774
11775         New module 'atan2f'.
11776         * lib/math.in.h (atan2f): New declaration.
11777         * lib/atan2f.c: New file.
11778         * m4/atan2f.m4: New file.
11779         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11780         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11781         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11782         * modules/atan2f: New file.
11783         * tests/test-math-c++.cc: Check the declaration of atan2f.
11784         * doc/posix-functions/atan2f.texi: Mention the new module.
11785
11786         atan2: Use a .m4 file.
11787         * m4/atan2.m4: New file.
11788         * modules/atan2 (Files): Add it.
11789         (configure.ac): Just invoke gl_FUNC_ATAN2.
11790
11791 2011-10-08  Bruno Haible  <bruno@clisp.org>
11792
11793         Tests for module 'atanf'.
11794         * modules/atanf-tests: New file.
11795         * tests/test-atanf.c: New file.
11796
11797         New module 'atanf'.
11798         * lib/math.in.h (atanf): New declaration.
11799         * lib/atanf.c: New file.
11800         * m4/atanf.m4: New file.
11801         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11802         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11803         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11804         * modules/atanf: New file.
11805         * tests/test-math-c++.cc: Check the declaration of atanf.
11806         * doc/posix-functions/atanf.texi: Mention the new module.
11807
11808         atan: Use a .m4 file.
11809         * m4/atan.m4: New file.
11810         * modules/atan (Files): Add it.
11811         (configure.ac): Just invoke gl_FUNC_ATAN.
11812
11813 2011-10-08  Bruno Haible  <bruno@clisp.org>
11814
11815         Tests for module 'acosf'.
11816         * modules/acosf-tests: New file.
11817         * tests/test-acosf.c: New file.
11818
11819         New module 'acosf'.
11820         * lib/math.in.h (acosf): New declaration.
11821         * lib/acosf.c: New file.
11822         * m4/acosf.m4: New file.
11823         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11824         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11825         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11826         * modules/acosf: New file.
11827         * tests/test-math-c++.cc: Check the declaration of acosf.
11828         * doc/posix-functions/acosf.texi: Mention the new module.
11829
11830         acos: Use a .m4 file.
11831         * m4/acos.m4: New file.
11832         * modules/acos (Files): Add it.
11833         (configure.ac): Just invoke gl_FUNC_ACOS.
11834
11835 2011-10-08  Bruno Haible  <bruno@clisp.org>
11836
11837         Tests for module 'asinf'.
11838         * modules/asinf-tests: New file.
11839         * tests/test-asinf.c: New file.
11840
11841         New module 'asinf'.
11842         * lib/math.in.h (asinf): New declaration.
11843         * lib/asinf.c: New file.
11844         * m4/asinf.m4: New file.
11845         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11847         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11848         * modules/asinf: New file.
11849         * tests/test-math-c++.cc: Check the declaration of asinf.
11850         * doc/posix-functions/asinf.texi: Mention the new module.
11851
11852         asin: Use a .m4 file.
11853         * m4/asin.m4: New file.
11854         * modules/asin (Files): Add it.
11855         (configure.ac): Just invoke gl_FUNC_ASIN.
11856
11857 2011-10-08  Bruno Haible  <bruno@clisp.org>
11858
11859         Tests for module 'tanf'.
11860         * modules/tanf-tests: New file.
11861         * tests/test-tanf.c: New file.
11862
11863         New module 'tanf'.
11864         * lib/math.in.h (tanf): New declaration.
11865         * lib/tanf.c: New file.
11866         * m4/tanf.m4: New file.
11867         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11868         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11869         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11870         * modules/tanf: New file.
11871         * tests/test-math-c++.cc: Check the declaration of tanf.
11872         * doc/posix-functions/tanf.texi: Mention the new module.
11873
11874         tan: Use a .m4 file.
11875         * m4/tan.m4: New file.
11876         * modules/tan (Files): Add it.
11877         (configure.ac): Just invoke gl_FUNC_TAN.
11878
11879 2011-10-08  Bruno Haible  <bruno@clisp.org>
11880
11881         Tests for module 'cosf'.
11882         * modules/cosf-tests: New file.
11883         * tests/test-cosf.c: New file.
11884
11885         New module 'cosf'.
11886         * lib/math.in.h (cosf): New declaration.
11887         * lib/cosf.c: New file.
11888         * m4/cosf.m4: New file.
11889         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11890         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11891         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11892         * modules/cosf: New file.
11893         * tests/test-math-c++.cc: Check the declaration of cosf.
11894         * doc/posix-functions/cosf.texi: Mention the new module.
11895
11896         cos: Use a .m4 file.
11897         * m4/cos.m4: New file.
11898         * modules/cos (Files): Add it.
11899         (configure.ac): Just invoke gl_FUNC_COS.
11900
11901 2011-10-08  Bruno Haible  <bruno@clisp.org>
11902
11903         Tests for module 'sinf'.
11904         * modules/sinf-tests: New file.
11905         * tests/test-sinf.c: New file.
11906
11907         New module 'sinf'.
11908         * lib/math.in.h (sinf): New declaration.
11909         * lib/sinf.c: New file.
11910         * m4/sinf.m4: New file.
11911         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11913         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11914         * modules/sinf: New file.
11915         * tests/test-math-c++.cc: Check the declaration of sinf.
11916         * doc/posix-functions/sinf.texi: Mention the new module.
11917
11918         sin: Use a .m4 file.
11919         * m4/sin.m4: New file.
11920         * modules/sin (Files): Add it.
11921         (configure.ac): Just invoke gl_FUNC_SIN.
11922
11923 2011-10-08  Bruno Haible  <bruno@clisp.org>
11924
11925         Tests for module 'powf'.
11926         * modules/powf-tests: New file.
11927         * tests/test-powf.c: New file.
11928
11929         New module 'powf'.
11930         * lib/math.in.h (powf): New declaration.
11931         * lib/powf.c: New file.
11932         * m4/powf.m4: New file.
11933         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11934         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11935         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11936         * modules/powf: New file.
11937         * tests/test-math-c++.cc: Check the declaration of powf.
11938         * doc/posix-functions/powf.texi: Mention the new module.
11939
11940         pow: Use a .m4 file.
11941         * m4/pow.m4: New file.
11942         * modules/pow (Files): Add it.
11943         (configure.ac): Just invoke gl_FUNC_POW.
11944
11945 2011-10-08  Bruno Haible  <bruno@clisp.org>
11946
11947         Tests for module 'log10f'.
11948         * modules/log10f-tests: New file.
11949         * tests/test-log10f.c: New file.
11950
11951         New module 'log10f'.
11952         * lib/math.in.h (log10f): New declaration.
11953         * lib/log10f.c: New file.
11954         * m4/log10f.m4: New file.
11955         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11956         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11957         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11958         * modules/log10f: New file.
11959         * tests/test-math-c++.cc: Check the declaration of log10f.
11960         * doc/posix-functions/log10f.texi: Mention the new module.
11961
11962         log10: Use a .m4 file.
11963         * m4/log10.m4: New file.
11964         * modules/log10 (Files): Add it.
11965         (configure.ac): Just invoke gl_FUNC_LOG10.
11966
11967 2011-10-08  Bruno Haible  <bruno@clisp.org>
11968
11969         Tests for module 'logf'.
11970         * modules/logf-tests: New file.
11971         * tests/test-logf.c: New file.
11972
11973         New module 'logf'.
11974         * lib/math.in.h (logf): New declaration.
11975         * lib/logf.c: New file.
11976         * m4/logf.m4: New file.
11977         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11978         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11979         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11980         * modules/logf: New file.
11981         * tests/test-math-c++.cc: Check the declaration of logf.
11982         * doc/posix-functions/logf.texi: Mention the new module.
11983
11984         log: Use a .m4 file.
11985         * m4/log.m4: New file.
11986         * modules/log (Files): Add it.
11987         (configure.ac): Just invoke gl_FUNC_LOG.
11988
11989 2011-10-08  Bruno Haible  <bruno@clisp.org>
11990
11991         Tests for module 'expf'.
11992         * modules/expf-tests: New file.
11993         * tests/test-expf.c: New file.
11994
11995         New module 'expf'.
11996         * lib/math.in.h (expf): New declaration.
11997         * lib/expf.c: New file.
11998         * m4/expf.m4: New file.
11999         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12000         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12001         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12002         * modules/expf: New file.
12003         * tests/test-math-c++.cc: Check the declaration of expf.
12004         * doc/posix-functions/expf.texi: Mention the new module.
12005
12006         exp: Use a .m4 file.
12007         * m4/exp.m4: New file.
12008         * modules/exp (Files): Add it.
12009         (configure.ac): Just invoke gl_FUNC_EXP.
12010
12011 2011-10-08  Bruno Haible  <bruno@clisp.org>
12012
12013         Tests for module 'sqrtf'.
12014         * modules/sqrtf-tests: New file.
12015         * tests/test-sqrtf.c: New file.
12016
12017         New module 'sqrtf'.
12018         * lib/math.in.h (sqrtf): New declaration.
12019         * lib/sqrtf.c: New file.
12020         * m4/sqrtf.m4: New file.
12021         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12022         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12023         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12024         * modules/sqrtf: New file.
12025         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12026         * doc/posix-functions/sqrtf.texi: Mention the new module.
12027
12028 2011-10-08  Bruno Haible  <bruno@clisp.org>
12029
12030         Tests: Avoid link failures w.r.t. libintl.
12031         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12032         $(LIBINTL).
12033         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12034         $(LIBINTL).
12035         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12036         against $(LIBINTL).
12037         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12038         $(LIBINTL).
12039         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12040         $(LIBINTL).
12041         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12042
12043 2011-10-08  Bruno Haible  <bruno@clisp.org>
12044
12045         pow tests: Defeat compiler optimizations.
12046         * tests/test-pow.c (main): Assign arguments to x and y before use.
12047
12048 2011-10-08  Bruno Haible  <bruno@clisp.org>
12049
12050         gnulib-tool: Improve last commit.
12051         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12052         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12053         ignore dependencies that are not among the modules list.
12054
12055 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12056
12057         gnulib-tool: don't follow dependencies to avoided modules
12058         This fixes a bug that is related to the previous one.
12059         * gnulib-tool (func_modules_transitive_closure)
12060         (func_emit_autoconf_snippets):
12061         Check whether a dependency is acceptable before using it.
12062         (--extract-dependencies): Report an error if --avoid is also used,
12063         since this combination of options is not yet supported.
12064
12065         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12066         Problem reported by Peter Dyballa in
12067         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12068         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12069         when echoing "$condition".
12070
12071 2011-10-07  Bruno Haible  <bruno@clisp.org>
12072
12073         Fix documentation about math functions on MacOS X.
12074         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12075         MacOS X 10.5.
12076         * doc/posix-functions/fdim.texi: Likewise.
12077         * doc/posix-functions/feclearexcept.texi: Likewise.
12078         * doc/posix-functions/fegetenv.texi: Likewise.
12079         * doc/posix-functions/fegetround.texi: Likewise.
12080         * doc/posix-functions/feholdexcept.texi: Likewise.
12081         * doc/posix-functions/feraiseexcept.texi: Likewise.
12082         * doc/posix-functions/fesetenv.texi: Likewise.
12083         * doc/posix-functions/fesetround.texi: Likewise.
12084         * doc/posix-functions/fetestexcept.texi: Likewise.
12085         * doc/posix-functions/feupdateenv.texi: Likewise.
12086         * doc/posix-functions/fmax.texi: Likewise.
12087         * doc/posix-functions/fmin.texi: Likewise.
12088         * doc/posix-functions/log2.texi: Likewise.
12089         * doc/posix-functions/modff.texi: Likewise.
12090         * doc/posix-functions/nan.texi: Likewise.
12091         * doc/posix-functions/nanf.texi: Likewise.
12092         * doc/posix-functions/nextafterf.texi: Likewise.
12093         * doc/posix-functions/remquo.texi: Likewise.
12094
12095 2011-10-07  Bruno Haible  <bruno@clisp.org>
12096
12097         modff: Drop assumption about library that defines modff.
12098         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12099         AC_CHECK_FUNCS.
12100         * modules/modff (Files): Add m4/mathfunc.m4.
12101
12102 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12103
12104         raise tests: Avoid a GCC warning.
12105         * tests/test-raise.c (handler): Use _Noreturn.
12106
12107 2011-10-07  Bruno Haible  <bruno@clisp.org>
12108
12109         Tests for module 'ldexpf'.
12110         * modules/ldexpf-tests: New file.
12111         * tests/test-ldexpf.c: New file.
12112
12113         New module 'ldexpf'.
12114         * lib/math.in.h (ldexpf): New declaration.
12115         * lib/ldexpf.c: New file.
12116         * m4/ldexpf.m4: New file.
12117         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12118         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12119         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12120         * modules/ldexpf: New file.
12121         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12122         * doc/posix-functions/ldexpf.texi: Mention the new module.
12123
12124 2011-10-06  Bruno Haible  <bruno@clisp.org>
12125
12126         frexpf: Work around problems on IRIX and mingw.
12127         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12129         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12130         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12131         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12132         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12133         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12134
12135 2011-10-06  Bruno Haible  <bruno@clisp.org>
12136
12137         fabsf: Drop assumption about library that defines fabsf.
12138         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12139         AC_CHECK_FUNCS.
12140         * modules/fabsf (Files): Add m4/mathfunc.m4.
12141
12142 2011-10-06  Bruno Haible  <bruno@clisp.org>
12143
12144         frexpf: Drop assumption about library that defines frexpf.
12145         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12146         'int *', 'float *', 'long double *', 'float', 'long double'.
12147         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12148         AC_CHECK_FUNCS.
12149         * modules/frexpf (Files): Add m4/mathfunc.m4.
12150
12151         Tests for module 'frexpf'.
12152         * modules/frexpf-tests: New file.
12153         * tests/test-frexpf.c: New file.
12154
12155         New module 'frexpf'.
12156         * lib/math.in.h (frexpf): New declaration.
12157         * lib/frexpf.c: New file.
12158         * m4/frexpf.m4: New file.
12159         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12160         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12161         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12162         * modules/frexpf: New file.
12163         * tests/test-math-c++.cc: Check the declaration of frexpf.
12164         * doc/posix-functions/frexpf.texi: Mention the new module.
12165
12166 2011-10-06  Bruno Haible  <bruno@clisp.org>
12167
12168         math: Sort function declarations of math.in.h.
12169         * lib/math.in.h (frexp, logb): Move declarations.
12170
12171 2011-10-05  Bruno Haible  <bruno@clisp.org>
12172
12173         Tests for module 'modff'.
12174         * modules/modff-tests: New file.
12175         * tests/test-modff.c: New file.
12176
12177         New module 'modff'.
12178         * lib/math.in.h (modff): New declaration.
12179         * lib/modff.c: New file.
12180         * m4/modff.m4: New file.
12181         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12182         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12183         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12184         * modules/modff: New file.
12185         * tests/test-math-c++.cc: Check the declaration of modff.
12186         * doc/posix-functions/modff.texi: Mention the new module.
12187
12188         modf tests: Make test sharper.
12189         * tests/test-modf.c (main): Strengthen upper bound.
12190
12191         modf: Use a .m4 file.
12192         * m4/modf.m4: New file.
12193         * modules/modf (Files): Add it.
12194         (configure.ac): Just invoke gl_FUNC_MODF.
12195
12196 2011-10-05  Bruno Haible  <bruno@clisp.org>
12197
12198         Tests for module 'fmodf'.
12199         * modules/fmodf-tests: New file.
12200         * tests/test-fmodf.c: New file.
12201
12202         New module 'fmodf'.
12203         * lib/math.in.h (fmodf): New declaration.
12204         * lib/fmodf.c: New file.
12205         * m4/fmodf.m4: New file.
12206         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12207         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12208         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12209         * modules/fmodf: New file.
12210         * tests/test-math-c++.cc: Check the declaration of fmodf.
12211         * doc/posix-functions/fmodf.texi: Mention the new module.
12212
12213         fmod: Use a .m4 file.
12214         * m4/fmod.m4: New file.
12215         * modules/fmod (Files): Add it.
12216         (configure.ac): Just invoke gl_FUNC_FMOD.
12217
12218 2011-10-05  Bruno Haible  <bruno@clisp.org>
12219
12220         Tests for module 'fabsf'.
12221         * modules/fabsf-tests: New file.
12222         * tests/test-fabsf.c: New file.
12223
12224         New module 'fabsf'.
12225         * lib/math.in.h (fabsf): New declaration.
12226         * lib/fabsf.c: New file.
12227         * m4/fabsf.m4: New file.
12228         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12229         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12230         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12231         * modules/fabsf: New file.
12232         * tests/test-math-c++.cc: Check the declaration of fabsf.
12233         * doc/posix-functions/fabsf.texi: Mention the new module.
12234
12235         fabs: Use a .m4 file.
12236         * m4/fabs.m4: New file.
12237         * modules/fabs (Files): Add it.
12238         (configure.ac): Just invoke gl_FUNC_FABS.
12239
12240 2011-10-05  Jim Meyering  <meyering@redhat.com>
12241
12242         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12243         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12244         ls -lL regression introduced in coreutils-8.12, it does so at the
12245         cost of an additional stat call in the common case.  Besides, now
12246         that the kernel change that prompted commit 95f7c57f has been reverted
12247         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12248         we have no use for commit 95f7c57f, "file-has-acl: use
12249         acl_extended_file_nofollow if available".
12250
12251 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12252
12253         file-has-acl: revert unintended change in behavior of ls -L
12254         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12255         derived from...
12256         (file_has_acl): ...code here.  Call it.
12257         This problem was introduced with 2011-07-22 commit 95f7c57f,
12258         "file-has-acl: use acl_extended_file_nofollow if available".
12259         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12260
12261 2011-10-03  Bruno Haible  <bruno@clisp.org>
12262
12263         poll: Avoid link errors on MSVC.
12264         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12265         * modules/poll (Depends-on): Add sockets.
12266         (Link): New section.
12267         * NEWS: Mention the change.
12268         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12269         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12270         $(LIB_POLL) instead of $(LIBSOCKET).
12271
12272 2011-10-03  Bruno Haible  <bruno@clisp.org>
12273
12274         sys_select tests: Fix link error on MSVC 9.
12275         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12276         with $(LIB_SELECT) instead of $(LIBSOCKET).
12277
12278 2011-10-03  Bruno Haible  <bruno@clisp.org>
12279
12280         sys_select: Fix compilation error on mingw.
12281         * lib/sys_select.in.h: On native Windows, include <io.h>.
12282
12283 2011-10-03  Bruno Haible  <bruno@clisp.org>
12284
12285         wmemset: Support for MSVC.
12286         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12287         whether wmemset() exists.
12288
12289 2011-10-03  Bruno Haible  <bruno@clisp.org>
12290
12291         wmemmove: Support for MSVC.
12292         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12293         whether wmemmove() exists.
12294
12295 2011-10-03  Bruno Haible  <bruno@clisp.org>
12296
12297         wmemcpy: Support for MSVC.
12298         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12299         whether wmemcpy() exists.
12300
12301 2011-10-03  Bruno Haible  <bruno@clisp.org>
12302
12303         wmemcmp: Support for MSVC.
12304         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12305         whether wmemcmp() exists.
12306
12307 2011-10-03  Bruno Haible  <bruno@clisp.org>
12308
12309         wmemchr: Support for MSVC.
12310         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12311         whether wmemchr() exists.
12312
12313 2011-10-03  Bruno Haible  <bruno@clisp.org>
12314
12315         glthread/*, strsignal: Support for MSVC.
12316         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12317         including <winsock.h> on MSVC 9.
12318         * lib/glthread/lock.h: Likewise.
12319         * lib/glthread/thread.h: Likewise.
12320         * lib/glthread/tls.h: Likewise.
12321         * lib/glthread/yield.h: Likewise.
12322         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12323         if HAVE_UNISTD_H is false.
12324         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12325
12326 2011-10-03  Bruno Haible  <bruno@clisp.org>
12327
12328         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12329         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12330         Set to 100000.
12331
12332 2011-10-03  Bruno Haible  <bruno@clisp.org>
12333
12334         acl: Fix specification.
12335         * lib/file-has-acl.c (file_has_acl): Fix specification.
12336
12337 2011-10-03  Bruno Haible  <bruno@clisp.org>
12338
12339         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12340         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12341         (compute_curr_prefix, shared_library_fullname,
12342         find_shared_library_fullname, get_shared_library_fullname, relocate):
12343         Use it together with PIC && INSTALLDIR.
12344         Reported by <jojelino@gmail.com>
12345         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12346
12347 2011-10-01  Jim Meyering  <meyering@redhat.com>
12348
12349         maint.mk: adjust a release-related rule not to require use of gzip
12350         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12351         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12352         projects that build only .tar.xz files.  Also fix an erroneous test.
12353
12354         test-linkat: don't leave behind a temporary file
12355         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12356         Otherwise, coreutils' "make distcheck" would fail with this:
12357           Only in /c/cu/tests/torture/coreutils/test/\
12358             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12359           make[2]: *** [my-distcheck] Error 1
12360
12361         float, math: add omitted file
12362         * lib/itold.c: Add file, required for yesterday's float change.
12363
12364 2011-10-01  Bruno Haible  <bruno@clisp.org>
12365
12366         isinf: Fix for OpenBSD/x86.
12367         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12368         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12369         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12370
12371 2011-10-01  Bruno Haible  <bruno@clisp.org>
12372
12373         isfinite: Fix syntax error in configure test.
12374         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12375
12376         isfinite: Fix typo.
12377         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12378         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12379
12380 2011-10-01  Bruno Haible  <bruno@clisp.org>
12381
12382         nonblocking tests: Fix test failure on Linux/IA-64.
12383         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12384         Set to 270000.
12385
12386 2011-10-01  Bruno Haible  <bruno@clisp.org>
12387
12388         mkfifoat tests: Fix a test failure on mingw.
12389         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12390         with error ENOSYS.
12391
12392 2011-09-30  Bruno Haible  <bruno@clisp.org>
12393
12394         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12395         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12396         'long double'. Set REPLACE_ITOLD.
12397         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12398         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12399         * lib/itold.c: New file.
12400         * modules/float (Files): Add lib/itold.c.
12401         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12402         (Makefile.am): Substitute REPLACE_ITOLD.
12403         * modules/math (Depends-on): Add float.
12404         (Makefile.am): Substitute REPLACE_ITOLD.
12405         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12406         * doc/posix-headers/math.texi: Likewise.
12407         * doc/posix-functions/logl.texi: Likewise.
12408
12409 2011-09-30  Bruno Haible  <bruno@clisp.org>
12410
12411         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12412         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12413         Set to 140000.
12414
12415 2011-09-30  Bruno Haible  <bruno@clisp.org>
12416
12417         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12418         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12419         invocation, say "right after AC_PROG_CC_STDC", not "right after
12420         AC_PROG_CC".
12421         Reported by Gary V. Vaughan <gary@gnu.org>.
12422
12423 2011-09-30  Bruno Haible  <bruno@clisp.org>
12424
12425         Centralize C99 requirement.
12426         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12427         * modules/stdarg (configure.ac-early): Invoke it instead of
12428         AC_PROG_CC_STDC.
12429         Reported by Gary V. Vaughan and Paul Eggert.
12430
12431 2011-09-29  Bruno Haible  <bruno@clisp.org>
12432
12433         float: Fix LDBL_MAX value on Linux/PowerPC.
12434         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12435         on Linux/PowerPC.
12436         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12437         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12438         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12439         platform.
12440         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12441
12442 2011-09-29  Bruno Haible  <bruno@clisp.org>
12443
12444         doc: Improve doc about gl_EARLY.
12445         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12446         AC_PROG_CC_STDC invocation.
12447         Reported by Gary V. Vaughan <gary@gnu.org>.
12448
12449 2011-09-28  Bruno Haible  <bruno@clisp.org>
12450
12451         fgetc, fputc, fread, fwrite tests: Fix link error.
12452         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12453         on non-MSVC platforms.
12454         * tests/test-fputc.c (main): Likewise.
12455         * tests/test-fread.c (main): Likewise.
12456         * tests/test-fwrite.c (main): Likewise.
12457         Reported by Jim Meyering.
12458
12459 2011-09-27  Bruno Haible  <bruno@clisp.org>
12460
12461         fputc, fwrite tests: Avoid test failure on MSVC.
12462         * tests/test-fgetc.c: Include msvc-inval.h.
12463         (main): Invoke gl_msvc_inval_ensure_handler.
12464         * tests/test-fputc.c: Include msvc-inval.h.
12465         (main): Invoke gl_msvc_inval_ensure_handler.
12466         * tests/test-fread.c: Include msvc-inval.h.
12467         (main): Invoke gl_msvc_inval_ensure_handler.
12468         * tests/test-fwrite.c: Include msvc-inval.h.
12469         (main): Invoke gl_msvc_inval_ensure_handler.
12470         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12471         * modules/fputc-tests (Depends-on): Likewise.
12472         * modules/fread-tests (Depends-on): Likewise.
12473         * modules/fwrite-tests (Depends-on): Likewise.
12474
12475 2011-09-27  Bruno Haible  <bruno@clisp.org>
12476
12477         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12478         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12479         (raise): Remove older, duplicated declaration.
12480         (_gl_raise_SIGPIPE): New declaration.
12481         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12482         (rpl_raise): Remove function.
12483         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12484         a gnulib-defined SIGPIPE here.
12485         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12486         'sigprocmask' has detected missing signal-blocking and the module
12487         'sigpipe' is enabled.
12488         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12489
12490 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12491
12492         base64-tests: avoid memory leak
12493         * tests/test-base64.c (main): Plug memory leak.
12494
12495         base32: new module
12496         * modules/base32: New module.
12497         * lib/base32.c: New file.
12498         * lib/base32.h: Likewise.
12499         * m4/base32.m4: Likewise.
12500         * modules/base32-tests: New test.
12501         * tests/test-base32.c: Likewise.
12502         * MODULES.html.sh (Misc): Mention it.
12503
12504 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12505
12506         gnulib: use more-standard license notice wording
12507         * gnulib-tool (func_emit_copyright_notice): When emitting a
12508         license notice into a file, use the standard wording as suggested
12509         by the current information for GNU maintainers, except say "file"
12510         rather than "program".  The new wording gives a license version
12511         number, which addresses an issue raised by Glenn Morris in
12512         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12513         * m4/onceonly.m4: Use that same wording here, too.
12514
12515         dup2: minor simplification
12516         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12517         as lib/dup2.c no longer uses 'inline'.
12518
12519 2011-09-25  Bruno Haible  <bruno@clisp.org>
12520
12521         strings: Fix compilation error on MSVC.
12522         * lib/strings.in.h: Include <stddef.h> for size_t.
12523
12524 2011-09-25  Bruno Haible  <bruno@clisp.org>
12525
12526         fflush et al.: Document limitation on MSVC.
12527         * doc/posix-functions/fflush.texi: Document possible crash in handling
12528         mode other than DEFAULT_HANDLING.
12529         * doc/posix-functions/fgetc.texi: Likewise.
12530         * doc/posix-functions/fputc.texi: Likewise.
12531         * doc/posix-functions/fread.texi: Likewise.
12532         * doc/posix-functions/fwrite.texi: Likewise.
12533
12534 2011-09-25  Bruno Haible  <bruno@clisp.org>
12535
12536         msvc-inval: Allow three invalid parameter handling modes.
12537         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12538         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12539         macros.
12540         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12541         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12542         SANE_LIBRARY_HANDLING as a no-op.
12543         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12544         <stdlib.h>.
12545         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12546
12547 2011-09-25  Bruno Haible  <bruno@clisp.org>
12548
12549         msvc-inval: Make handler multithread-safe.
12550         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12551         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12552         declarations.
12553         (gl_msvc_inval_current): New declaration.
12554         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12555         Operate on the structure returned by gl_msvc_inval_current().
12556         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12557         Remove varaiables.
12558         (tls_index, tls_initialized): New variables.
12559         (not_per_thread): New variable.
12560         (gl_msvc_inval_current): New function.
12561         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12562         returned by gl_msvc_inval_current().
12563
12564 2011-09-25  Bruno Haible  <bruno@clisp.org>
12565
12566         msvc-inval: Install handler globally.
12567         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12568         !_MSC_VER.
12569         (gl_msvc_invalid_parameter_handler): Remove declaration.
12570         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12571         declarations.
12572         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12573         Install the handler globally, don't uninstall it.
12574         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12575         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12576         currently valid, call RaiseException instead.
12577         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12578         for !_MSC_VER.
12579
12580 2011-09-25  Bruno Haible  <bruno@clisp.org>
12581
12582         strerror_r-posix: Fix for MSVC 9.
12583         * lib/strerror_r.c (local_snprintf): New function.
12584         (snprintf): Define to local_snprintf, not to _snprintf.
12585
12586 2011-09-25  Bruno Haible  <bruno@clisp.org>
12587
12588         ftruncate: Support for MSVC 9.
12589         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12590         (chsize_nothrow): New function.
12591         (chsize): Redefine as a macro.
12592         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12593         * modules/ftruncate (Depends-on): Add msvc-inval.
12594
12595 2011-09-25  Bruno Haible  <bruno@clisp.org>
12596
12597         New module 'fstat'.
12598         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12599         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12600         * lib/fchdir.c (rpl_fstat): Remove function.
12601         * m4/fstat.m4: New file.
12602         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12603         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12604         declared.
12605         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12606         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12607         * modules/fstat: New file.
12608         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12609         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12610         is set.
12611         * doc/posix-functions/fstat.texi: Mention the new module and the
12612         problem on MSVC.
12613         * NEWS: Mention the change.
12614         * modules/acl (Depends-on): Add fstat.
12615         * modules/chdir-safer (Depends-on): Likewise.
12616         * modules/chown (Depends-on): Likewise.
12617         * modules/copy-file (Depends-on): Likewise.
12618         * modules/fchdir (Depends-on): Likewise.
12619         * modules/fdopendir (Depends-on): Likewise.
12620         * modules/fopen (Depends-on): Likewise.
12621         * modules/fts (Depends-on): Likewise.
12622         * modules/getcwd (Depends-on): Likewise.
12623         * modules/isapipe (Depends-on): Likewise.
12624         * modules/linkat (Depends-on): Likewise.
12625         * modules/lseek (Depends-on): Likewise.
12626         * modules/mkdir-p (Depends-on): Likewise.
12627         * modules/open (Depends-on): Likewise.
12628         * modules/openat (Depends-on): Likewise.
12629         * modules/read-file (Depends-on): Likewise.
12630         * modules/renameat (Depends-on): Likewise.
12631         * modules/utimens (Depends-on): Likewise.
12632
12633 2011-09-25  Bruno Haible  <bruno@clisp.org>
12634
12635         linkat: Fix compilation on MSVC 9.
12636         * lib/linkat.c: Don't include <stdint.h>.
12637
12638 2011-09-25  Bruno Haible  <bruno@clisp.org>
12639
12640         fclose: Support for MSVC 9.
12641         * lib/fclose.c: Include msvc-inval.h.
12642         (fclose_nothrow): New function.
12643         (rpl_fclose): Use it.
12644         * modules/fclose (Depends-on): Add msvc-inval.
12645         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12646
12647 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12648
12649         dup2: minor simplifications
12650         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12651         that it's a performance win.
12652         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12653         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12654
12655 2011-09-24  Jim Meyering  <meyering@redhat.com>
12656
12657         test-futimens: avoid a warning from gcc -Wshadow
12658         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12659         to avoid a shadowing warning.
12660
12661 2011-09-24  Bruno Haible  <bruno@clisp.org>
12662
12663         fdopen: Support for MSVC 9.
12664         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12665         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12666         * lib/fdopen.c: Include msvc-inval.h.
12667         (fdopen_nothrow): New function.
12668         (rpl_fdopen): Use it.
12669         * modules/fdopen (Depends-on): Add msvc-inval.
12670         * modules/fclose-tests (Depends-on): Add fdopen.
12671         * modules/fflush-tests (Depends-on): Likewise.
12672         * modules/fgetc-tests (Depends-on): Likewise.
12673         * modules/fputc-tests (Depends-on): Likewise.
12674         * modules/fread-tests (Depends-on): Likewise.
12675         * modules/freopen-tests (Depends-on): Likewise.
12676         * modules/fseeko-tests (Depends-on): Likewise.
12677         * modules/ftello-tests (Depends-on): Likewise.
12678         * modules/fwrite-tests  (Depends-on): Likewise.
12679         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12680
12681 2011-09-24  Bruno Haible  <bruno@clisp.org>
12682
12683         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12684         * modules/fgetc-tests (Depends-on): Add unistd.
12685         * modules/fputc-tests (Depends-on): Likewise.
12686         * modules/fread-tests (Depends-on): Likewise.
12687         * modules/fwrite-tests (Depends-on): Likewise.
12688
12689 2011-09-24  Bruno Haible  <bruno@clisp.org>
12690
12691         dup: Simplify autoconf test.
12692         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12693         on gl_MSVC_INVAL's result.
12694
12695 2011-09-24  Bruno Haible  <bruno@clisp.org>
12696
12697         Tests for function fwrite().
12698         * modules/fwrite-tests: New file.
12699         * tests/test-fwrite.c: New file.
12700         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12701
12702         Tests for function fread().
12703         * modules/fread-tests: New file.
12704         * tests/test-fread.c: New file.
12705         * modules/stdio-tests (Depends-on): Add fread-tests.
12706
12707         Activate fputc tests.
12708         * modules/stdio-tests (Depends-on): Add fputc-tests.
12709
12710         Enhance fgetc, fputc tests.
12711         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12712         * tests/test-fputc.c (main): Likewise.
12713
12714 2011-09-24  Bruno Haible  <bruno@clisp.org>
12715
12716         write: Support for MSVC 9.
12717         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12718         is not 1.
12719         * lib/write.c (write_nothrow): New function.
12720         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12721         not 1. Use write_nothrow.
12722         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12723         invalid parameter handler.
12724         (gl_PREREQ_WRITE): New macro.
12725         * modules/write (Depends-on): Add msvc-inval.
12726         (configure.ac): Invoke gl_PREREQ_WRITE.
12727         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12728
12729 2011-09-24  Bruno Haible  <bruno@clisp.org>
12730
12731         read: Fix last commit.
12732         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12733
12734 2011-09-24  Bruno Haible  <bruno@clisp.org>
12735
12736         dup2: Fix last commit.
12737         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12738         (rpl_dup2): Disable fcntl workaround on native Windows.
12739
12740         sigprocmask: Make code safer.
12741         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12742         section that changes macro definitions for this compilation unit.
12743
12744 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12745
12746         dup2: clarify by coalescing Windows-specific material
12747         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12748         "msvc-nothrow.h"' to the Windows-specific section, so that the
12749         Emacs source need not contain these include files.
12750         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12751         Windows-specific fixes into this function rather than just the
12752         nothrow fix, as this shortens and clarifies the code.  Always
12753         define as a function, as that's a bit cleaner than having it be
12754         sometimes a function and sometimes a macro.
12755         (rpl_dup2): Move the Windows-specific stuff out of here and into
12756         ms_windows_dup2.  Don't protect the Haiku-related fix with
12757         "#if !defined __linux__", as the same code also works around
12758         a Linux kernel bug, and it doesn't add any system calls on any
12759         platform.  Add comment about FreeBSD 6.1.
12760
12761         sigprocmask: move #include directive
12762         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12763         Windows-specific section, so that the Emacs source need not
12764         contain msvc-inval.h.
12765
12766 2011-09-23  Bruno Haible  <bruno@clisp.org>
12767
12768         read: Support for MSVC 9.
12769         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12770         is not 1.
12771         * lib/read.c (read_nothrow): New function.
12772         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12773         read_nothrow.
12774         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12775         invalid parameter handler.
12776         (gl_PREREQ_READ): New macro.
12777         * modules/read (Depends-on): Add msvc-inval.
12778         (configure.ac): Invoke gl_PREREQ_READ.
12779         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12780
12781 2011-09-23  Bruno Haible  <bruno@clisp.org>
12782
12783         close: Support for MSVC 9.
12784         * lib/close.c: Include <errno.h>, msvc-inval.h.
12785         (close_nothrow): New function.
12786         (rpl_close): Use it.
12787         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12788         invalid parameter handler.
12789         * modules/close (Depends-on): Add msvc-inval.
12790         * modules/dup2-tests (Depends-on): Add close.
12791         * modules/dup3-tests (Depends-on): Likewise.
12792         * modules/fcntl-tests (Depends-on): Likewise.
12793         * modules/spawn-pipe-tests (Depends-on): Likewise.
12794         * modules/unistd-safer-tests (Depends-on): Likewise.
12795         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12796
12797 2011-09-23  Bruno Haible  <bruno@clisp.org>
12798
12799         New module 'dup'.
12800         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12801         Allow replacement.
12802         * lib/dup.c: New file.
12803         * lib/fchdir.c (rpl_dup): Remove function.
12804         * m4/dup.m4: New file.
12805         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12806         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12807         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12808         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12809         * modules/dup: New file.
12810         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12811         'dup' module is in use.
12812         * modules/fdopendir (Depends-on): Add dup.
12813         * modules/fdutimensat-tests (Depends-on): Likewise.
12814         * modules/fts (Depends-on): Likewise.
12815         * modules/futimens-tests (Depends-on): Likewise.
12816         * modules/posix_spawnp-tests (Depends-on): Likewise.
12817         * modules/unistd-safer-tests (Depends-on): Likewise.
12818         * modules/utimens-tests (Depends-on): Likewise.
12819         * doc/posix-functions/dup.texi: Mention the new module and the problem
12820         on MSVC.
12821
12822 2011-09-23  Bruno Haible  <bruno@clisp.org>
12823
12824         getdtablesize: Support for MSVC 9.
12825         * lib/getdtablesize.c: Include msvc-inval.h.
12826         (_setmaxstdio_nothrow): New function.
12827         (_setmaxstdio): Redefine it.
12828         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12829         * modules/getdtablesize (Depends-on): Add msvc-inval.
12830         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12831
12832 2011-09-23  Bruno Haible  <bruno@clisp.org>
12833
12834         signal-h: Rename from signal.
12835         * modules/signal-h: Renamed from modules/signal.
12836         * modules/pthread_sigmask (Depends-on): Update.
12837         * modules/raise (Depends-on): Likewise.
12838         * modules/sigaction (Depends-on): Likewise.
12839         * modules/sigpipe (Depends-on): Likewise.
12840         * modules/sigprocmask (Depends-on): Likewise.
12841         * modules/sys_select (Depends-on): Likewise.
12842         * modules/signal-h-tests: Renamed from modules/signal-tests.
12843         (Files, Depends-on, Makefile.am): Update.
12844         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12845         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12846         (Files, Makefile.am): Update.
12847         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12848         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12849         * modules/signal: New placeholder file.
12850         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12851         * doc/posix-headers/signal.texi: Update.
12852         * NEWS: Mention the change.
12853
12854 2011-09-23  Bruno Haible  <bruno@clisp.org>
12855
12856         sigprocmask: Avoid crashes through signal() on MSVC 9.
12857         * lib/sigprocmask.c: Include msvc-inval.h.
12858         (signal_nothrow): New function.
12859         (signal): Redefine it.
12860         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12861         * modules/sigprocmask (Depends-on): Add msvc-inval.
12862         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12863
12864 2011-09-23  Bruno Haible  <bruno@clisp.org>
12865
12866         Tests for module 'raise'.
12867         * modules/raise-tests: New file.
12868         * tests/test-raise.c: New file.
12869
12870         raise: Support for MSVC.
12871         * lib/signal.in.h (raise): New declaration.
12872         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12873         for native Windows platforms.
12874         * m4/raise.m4: New file.
12875         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12876         HAVE_RAISE, REPLACE_RAISE.
12877         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12878         REPLACE_RAISE.
12879         * modules/raise (Status, Notice): Remove fields.
12880         (Files): Add m4/raise.m4.
12881         (Depends-on): Add signal, msvc-inval.
12882         (configure.ac): Use the common idioms.
12883         (Maintainer): Add me.
12884         * tests/test-signal-c++.cc: Check the signature of raise.
12885         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12886
12887 2011-09-23  Bruno Haible  <bruno@clisp.org>
12888
12889         pipe2: Fix compilation on pre-C99 compilers.
12890         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12891
12892 2011-09-23  Bruno Haible  <bruno@clisp.org>
12893
12894         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12895         * lib/msvc-nothrow.h: New file.
12896         * lib/msvc-nothrow.c: New file.
12897         * m4/msvc-nothrow.m4: New file.
12898         * modules/msvc-nothrow: New file.
12899         * lib/dup2.c: Include msvc-nothrow.h.
12900         (rpl_dup2): No need to protect _get_osfhandle call here.
12901         * lib/accept4.c: Include msvc-nothrow.h.
12902         * lib/error.c: Likewise.
12903         * lib/fcntl.c: Likewise.
12904         * lib/lseek.c: Likewise.
12905         * lib/nonblocking.c: Likewise.
12906         * lib/poll.c: Likewise.
12907         * lib/read.c: Likewise.
12908         * lib/select.c: Likewise.
12909         * lib/sockets.h: Likewise.
12910         * lib/sockets.c: Likewise.
12911         * lib/stdio-read.c: Likewise.
12912         * lib/stdio-write.c: Likewise.
12913         * lib/write.c: Likewise.
12914         * lib/w32sock.h: Likewise.
12915         * lib/w32spawn.h: Likewise.
12916         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12917         * lib/fsync.c: Likewise.
12918         * lib/isapipe.c: Likewise.
12919         * modules/dup2 (Depends-on): Add msvc-nothrow.
12920         * modules/accept4 (Depends-on): Likewise.
12921         * modules/error (Depends-on): Likewise.
12922         * modules/fcntl (Depends-on): Likewise.
12923         * modules/lseek (Depends-on): Likewise.
12924         * modules/nonblocking (Depends-on): Likewise.
12925         * modules/poll (Depends-on): Likewise.
12926         * modules/read (Depends-on): Likewise.
12927         * modules/select (Depends-on): Likewise.
12928         * modules/sockets (Depends-on): Likewise.
12929         * modules/sigpipe (Depends-on): Likewise.
12930         * modules/write (Depends-on): Likewise.
12931         * modules/accept (Depends-on): Likewise.
12932         * modules/bind (Depends-on): Likewise.
12933         * modules/connect (Depends-on): Likewise.
12934         * modules/gethostname (Depends-on): Likewise.
12935         * modules/getpeername (Depends-on): Likewise.
12936         * modules/getsockname (Depends-on): Likewise.
12937         * modules/getsockopt (Depends-on): Likewise.
12938         * modules/ioctl (Depends-on): Likewise.
12939         * modules/listen (Depends-on): Likewise.
12940         * modules/recv (Depends-on): Likewise.
12941         * modules/recvfrom (Depends-on): Likewise.
12942         * modules/send (Depends-on): Likewise.
12943         * modules/sendto (Depends-on): Likewise.
12944         * modules/setsockopt (Depends-on): Likewise.
12945         * modules/shutdown (Depends-on): Likewise.
12946         * modules/socket (Depends-on): Likewise.
12947         * modules/execute (Depends-on): Likewise.
12948         * modules/spawn-pipe (Depends-on): Likewise.
12949         * modules/flock (Depends-on): Likewise.
12950         * modules/fsync (Depends-on): Likewise.
12951         * modules/isapipe (Depends-on): Likewise.
12952         * tests/test-cloexec.c: Include msvc-nothrow.h.
12953         * tests/test-dup-safer.c: Likewise.
12954         * tests/test-dup2.c: Likewise.
12955         * tests/test-dup3.c: Likewise.
12956         * tests/test-fcntl.c: Likewise.
12957         * tests/test-pipe.c: Likewise.
12958         * tests/test-pipe2.c: Likewise.
12959         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12960         * modules/unistd-safer-tests (Depends-on): Likewise.
12961         * modules/dup2-tests (Depends-on): Likewise.
12962         * modules/dup3-tests (Depends-on): Likewise.
12963         * modules/fcntl-tests (Depends-on): Likewise.
12964         * modules/pipe-posix-tests (Depends-on): Likewise.
12965         * modules/pipe2-tests (Depends-on): Likewise.
12966
12967 2011-09-23  Bruno Haible  <bruno@clisp.org>
12968
12969         dup2: Make code more maintainable.
12970         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12971         (rpl_dup2): Use it.
12972         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12973         * modules/dup2 (configure.ac): Invoke it.
12974         Reported by Paul Eggert.
12975
12976 2011-09-23  Bruno Haible  <bruno@clisp.org>
12977
12978         msvc-inval: Fix compilation error.
12979         * lib/msvc-inval.h: Include <excpt.h>.
12980
12981 2011-09-23  Bruno Haible  <bruno@clisp.org>
12982
12983         mkdir: Tweak for MSVC 9.
12984         * lib/sys_stat.in.h: Update comments.
12985         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12986
12987         Tests for module 'chdir'.
12988         * modules/chdir-tests: New file.
12989         * tests/test-chdir.c: New file.
12990
12991         New module 'chdir'.
12992         * modules/chdir: New file.
12993         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12994         (chdir): New declaration.
12995         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12996         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12997         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12998         * tests/test-unistd-c++.cc: Check signature of chdir.
12999         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13000         * modules/chdir-long (Depends-on): Add chdir.
13001         * modules/fchdir (Depends-on): Likewise.
13002         * modules/rename (Depends-on): Likewise.
13003         * modules/savewd (Depends-on): Likewise.
13004
13005         rmdir: Support for mingw, MSVC 9.
13006         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13007         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13008
13009         getcwd: Tweak for MSVC 9.
13010         * lib/unistd.in.h: Update comments.
13011         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13012
13013 2011-09-22  Bruno Haible  <bruno@clisp.org>
13014
13015         strerror_r-posix: Avoid a link error on MSVC.
13016         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13017         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13018
13019 2011-09-22  Bruno Haible  <bruno@clisp.org>
13020
13021         select: Avoid link errors on MSVC.
13022         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13023         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13024         * modules/pselect (Link): Likewise.
13025         * NEWS: Mention the change.
13026         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13027         test-select-stdin against $(LIB_SELECT).
13028         * modules/pselect-tests (Makefile.am): Link test-pselect against
13029         $(LIB_SELECT).
13030
13031 2011-09-22  Bruno Haible  <bruno@clisp.org>
13032
13033         select: Avoid compilation error on MSVC.
13034         * lib/select.c: Don't include <stdbool.h>.
13035
13036 2011-09-21  Bruno Haible  <bruno@clisp.org>
13037
13038         Consolidate all uses of PATH_MAX in *.m4 files.
13039         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13040         macros.
13041         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13042         and gl_PATHMAX_SNIPPET.
13043         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13044         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13045         * modules/chdir-long (Files): Add m4/pathmax.m4.
13046         * modules/getcwd (Files): Likewise.
13047
13048 2011-09-21  Bruno Haible  <bruno@clisp.org>
13049
13050         ftruncate: Un-deprecate, concentrate on Win32 support.
13051         * modules/ftruncate (Status, Notice): Remove sections.
13052         (Depends-on): Add largefile.
13053         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13054         non-mingw platforms.
13055         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13056         include <io.h>.
13057         * modules/perror-tests (Depends-on): Add ftruncate.
13058         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13059         'ftruncate' module.
13060
13061 2011-09-21  Bruno Haible  <bruno@clisp.org>
13062
13063         Add dependencies to new dirent related modules.
13064         * modules/opendir (Depends-on): Add closedir.
13065         * modules/getcwd (Depends-on): Add opendir, closedir.
13066         * modules/dirent-safer-tests (Depends-on): Likewise.
13067         * modules/fdopendir-tests (Depends-on): Likewise.
13068         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13069         * modules/renameat-tests (Depends-on): Likewise.
13070
13071 2011-09-21  Bruno Haible  <bruno@clisp.org>
13072
13073         opendir: Avoid compilation error on mingw.
13074         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13075         * modules/opendir (Depends-on): Add unistd.
13076
13077 2011-09-21  Bruno Haible  <bruno@clisp.org>
13078
13079         ftruncate tests: Avoid a test failure on mingw.
13080         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13081
13082 2011-09-21  Bruno Haible  <bruno@clisp.org>
13083
13084         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13085         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13086         native Windows.
13087
13088 2011-09-21  Bruno Haible  <bruno@clisp.org>
13089
13090         New module 'fdopen'.
13091         * lib/stdio.in.h (fdopen): New declaration.
13092         * lib/fdopen.c: New file.
13093         * m4/fdopen.m4: New file.
13094         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13095         REPLACE_FDOPEN.
13096         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13097         REPLACE_FDOPEN.
13098         * modules/fdopen: New file.
13099         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13100         * tests/test-stdio-c++.cc: Check signature of fdopen.
13101         * doc/posix-functions/fdopen.texi: Mention the new module.
13102
13103 2011-09-21  Bruno Haible  <bruno@clisp.org>
13104
13105         unlockpt tests: Avoid test failure on NetBSD 5.1.
13106         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13107         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13108
13109 2011-09-21  Bruno Haible  <bruno@clisp.org>
13110
13111         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13112         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13113         * tests/test-getlogin_r.c (main): Likewise.
13114
13115 2011-09-20  Bruno Haible  <bruno@clisp.org>
13116
13117         time tests: Don't require pid_t.
13118         * doc/posix-headers/time.texi: Revert last change.
13119         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13120         * tests/test-time.c: Comment out the check for pid_t.
13121
13122 2011-09-20  Bruno Haible  <bruno@clisp.org>
13123
13124         fsync tests: Avoid a test failure on mingw.
13125         * tests/test-fsync.c (main): Allow a failure with EIO.
13126
13127 2011-09-20  Bruno Haible  <bruno@clisp.org>
13128
13129         euidaccess: Update comments.
13130         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13131
13132 2011-09-20  Bruno Haible  <bruno@clisp.org>
13133
13134         Ensure EBADF returns for socket functions on mingw.
13135         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13136         descriptor is invalid.
13137         * lib/bind.c (rpl_bind): Likewise.
13138         * lib/connect.c (rpl_connect): Likewise.
13139         * lib/getpeername.c (rpl_getpeername): Likewise.
13140         * lib/getsockname.c (rpl_getsockname): Likewise.
13141         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13142         * lib/listen.c (rpl_listen): Likewise.
13143         * lib/recv.c (rpl_recv): Likewise.
13144         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13145         * lib/send.c (rpl_send): Likewise.
13146         * lib/sendto.c (rpl_sendto): Likewise.
13147         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13148         * lib/shutdown.c (rpl_shutdown): Likewise.
13149
13150 2011-09-20  Bruno Haible  <bruno@clisp.org>
13151
13152         select tests: EBADF tests.
13153         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13154         test_bad_fd): New functions.
13155         (test_function): Invoke also test_bad_fd.
13156
13157 2011-09-20  Bruno Haible  <bruno@clisp.org>
13158
13159         Tests for module 'posix_spawn_file_actions_addopen.
13160         * modules/posix_spawn_file_actions_addopen-tests: New file.
13161         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13162
13163         Tests for module 'posix_spawn_file_actions_adddup2'.
13164         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13165         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13166
13167         Tests for module 'posix_spawn_file_actions_addclose'.
13168         * modules/posix_spawn_file_actions_addclose-tests: New file.
13169         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13170
13171 2011-09-20  Bruno Haible  <bruno@clisp.org>
13172
13173         Tests for module 'unlockpt'.
13174         * modules/unlockpt-tests: New file.
13175         * tests/test-unlockpt.c: New file.
13176         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13177
13178         Tests for module 'grantpt'.
13179         * modules/grantpt-tests: New file.
13180         * tests/test-grantpt.c: New file.
13181         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13182
13183 2011-09-20  Bruno Haible  <bruno@clisp.org>
13184
13185         freopen tests: EBADF tests.
13186         * tests/test-freopen.c: Include errno.h, unistd.h.
13187         (main): Add tests for EBADF, commented out for the moment.
13188
13189         fclose tests: EBADF tests.
13190         * tests/test-fclose.c (main): Add tests for EBADF.
13191
13192         fflush tests: EBADF tests.
13193         * tests/test-fflush.c: Include errno.h, macros.h.
13194         (main): Add tests for EBADF.
13195
13196         ftello tests: EBADF tests.
13197         * tests/test-ftello4.sh: New file.
13198         * tests/test-ftello4.c: New file.
13199         * modules/ftello-tests (Files): Add them.
13200         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13201
13202         fseeko tests: EBADF tests.
13203         * tests/test-fseeko4.sh: New file.
13204         * tests/test-fseeko4.c: New file.
13205         * modules/fseeko-tests (Files): Add them.
13206         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13207
13208         Tests for function fputc().
13209         * modules/fputc-tests: New file.
13210         * tests/test-fputc.c: New file.
13211         * modules/stdio-tests (Depends-on): Add fputc-tests.
13212
13213         Tests for function fgetc().
13214         * modules/fgetc-tests: New file.
13215         * tests/test-fgetc.c: New file.
13216         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13217
13218         Tests for function fdopen().
13219         * modules/fdopen-tests: New file.
13220         * tests/test-fdopen.c: New file.
13221         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13222
13223         Tests for module 'vdprintf'.
13224         * modules/vdprintf-tests: New file.
13225         * tests/test-vdprintf.c: New file.
13226
13227         Tests for module 'dprintf'.
13228         * modules/dprintf-tests: New file.
13229         * tests/test-dprintf.c: New file.
13230
13231 2011-09-20  Bruno Haible  <bruno@clisp.org>
13232
13233         Tests for module 'ioctl'.
13234         * modules/ioctl-tests: New file.
13235         * tests/test-ioctl.c: New file.
13236
13237 2011-09-20  Bruno Haible  <bruno@clisp.org>
13238
13239         fcntl tests: EBADF tests.
13240         * tests/test-fcntl.c (main): Add more tests for EBADF.
13241
13242 2011-09-20  Bruno Haible  <bruno@clisp.org>
13243
13244         utimensat tests: EBADF tests.
13245         * tests/test-utimensat.c (main): Add tests for EBADF.
13246
13247         renameat tests: EBADF tests.
13248         * tests/test-renameat.c (main): Add tests for EBADF.
13249
13250         mkfifoat tests: EBADF tests.
13251         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13252
13253         readlinkat tests: EBADF tests.
13254         * tests/test-readlinkat.c (main): Add tests for EBADF.
13255
13256         symlinkat tests: EBADF tests.
13257         * tests/test-symlinkat.c (main): Add tests for EBADF.
13258
13259         linkat tests: EBADF tests.
13260         * tests/test-linkat.c (main): Add tests for EBADF.
13261
13262         Tests for module 'faccessat'.
13263         * modules/faccessat-tests: New file.
13264         * tests/test-faccessat.c: New file.
13265
13266         fdopendir tests: EBADF tests.
13267         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13268
13269         openat tests: EBADF tests.
13270         * tests/test-fchownat.c (main): Add tests for EBADF.
13271         * tests/test-fstatat.c (main): Likewise.
13272         * tests/test-mkdirat.c (main): Likewise.
13273         * tests/test-openat.c (main): Likewise.
13274         * tests/test-unlinkat.c (main): Likewise.
13275         * tests/test-fchmodat.c: New file.
13276         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13277         (Makefile.am): Also run 'test-fchmodat'.
13278
13279 2011-09-20  Bruno Haible  <bruno@clisp.org>
13280
13281         utimens, futimens, fdutimensat tests: EBADF tests.
13282         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13283
13284         Tests for function fstat().
13285         * modules/fstat-tests: New file.
13286         * tests/test-fstat.c: New file.
13287         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13288
13289 2011-09-20  Bruno Haible  <bruno@clisp.org>
13290
13291         test-ttyname_r tests: EBADF tests.
13292         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13293
13294         Tests for module 'isatty'.
13295         * modules/isatty-tests: New file.
13296         * tests/test-isatty.c: New file.
13297
13298         Tests for module 'write'.
13299         * modules/write-tests: New file.
13300         * tests/test-write.c: New file.
13301
13302         Tests for module 'read'.
13303         * modules/read-tests: New file.
13304         * tests/test-read.c: New file.
13305
13306         pwrite tests: EBADF tests.
13307         * tests/test-pwrite.c (main): Add tests for EBADF.
13308
13309         pread tests: EBADF tests.
13310         * tests/test-pread.c (main): Add tests for EBADF.
13311
13312         lseek tests: EBADF tests.
13313         * tests/test-lseek.c (main): Add more tests for EBADF.
13314
13315         Tests for module 'ftruncate'.
13316         * modules/ftruncate-tests: New file.
13317         * tests/test-ftruncate.sh: New file.
13318         * tests/test-ftruncate.c: New file.
13319
13320         fsync tests: EBADF tests.
13321         * tests/test-fsync.c (main): Add more tests for EBADF.
13322
13323         fdatasync tests: EBADF tests.
13324         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13325
13326         Tests for module 'fchown'.
13327         * modules/fchown-tests: New file.
13328         * tests/test-fchown.c: New file.
13329
13330         Tests for module 'fchmod'.
13331         * modules/fchmod-tests: New file.
13332         * tests/test-fchmod.c: New file.
13333
13334         fchdir tests: EBADF tests.
13335         * tests/test-fchdir.c (main): Add more tests for EBADF.
13336
13337         dup2 tests: EBADF tests.
13338         * tests/test-dup2.c (main): Add more tests for EBADF.
13339
13340         Tests for module 'dup'.
13341         * modules/dup-tests: New file.
13342         * tests/test-dup.c: New file.
13343
13344         Tests for module 'close'.
13345         * modules/close-tests: New file.
13346         * tests/test-close.c: New file.
13347
13348 2011-09-20  Bruno Haible  <bruno@clisp.org>
13349
13350         Tests for module 'shutdown'.
13351         * modules/shutdown-tests: New file.
13352         * tests/test-shutdown.c: New file.
13353
13354         Tests for module 'setsockopt'.
13355         * modules/setsockopt-tests: New file.
13356         * tests/test-setsockopt.c: New file.
13357
13358         Tests for module 'sendto'.
13359         * modules/sendto-tests: New file.
13360         * tests/test-sendto.c: New file.
13361
13362         Tests for module 'send'.
13363         * modules/send-tests: New file.
13364         * tests/test-send.c: New file.
13365
13366         Tests for module 'recvfrom'.
13367         * modules/recvfrom-tests: New file.
13368         * tests/test-recvfrom.c: New file.
13369
13370         Tests for module 'recv'.
13371         * modules/recv-tests: New file.
13372         * tests/test-recv.c: New file.
13373
13374         Tests for module 'listen'.
13375         * modules/listen-tests: New file.
13376         * tests/test-listen.c: New file.
13377
13378         Tests for module 'getsockopt'.
13379         * modules/getsockopt-tests: New file.
13380         * tests/test-getsockopt.c: New file.
13381
13382         Tests for module 'getsockname'.
13383         * modules/getsockname-tests: New file.
13384         * tests/test-getsockname.c: New file.
13385
13386         Tests for module 'getpeername'.
13387         * modules/getpeername-tests: New file.
13388         * tests/test-getpeername.c: New file.
13389
13390         Tests for module 'connect'.
13391         * modules/connect-tests: New file.
13392         * tests/test-connect.c: New file.
13393
13394         Tests for module 'bind'.
13395         * modules/bind-tests: New file.
13396         * tests/test-bind.c: New file.
13397
13398         accept4 tests: Fix for native Windows.
13399         * tests/test-accept4.c: Include sockets.h.
13400         (main): Invoke gl_sockets_startup.
13401         * modules/accept4-tests (Depends-on): Add sockets.
13402
13403         accept tests: Fix for native Windows.
13404         * tests/test-accept.c: Include sockets.h.
13405         (main): Invoke gl_sockets_startup.
13406         * modules/accept-tests (Depends-on): Add sockets.
13407
13408 2011-09-19  Bruno Haible  <bruno@clisp.org>
13409
13410         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13411         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13412         do...while(0).
13413         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13414         Suggested by Paul Eggert.
13415
13416 2011-09-19  Bruno Haible  <bruno@clisp.org>
13417
13418         sched: Ensure pid_t is defined.
13419         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13420         not define pid_t.
13421         * lib/sched.in.h: Include <sys/types.h>.
13422         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13423         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13424
13425 2011-09-19  Bruno Haible  <bruno@clisp.org>
13426
13427         msvc-inval: Ensure the entire expansion is a single statement.
13428         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13429         of braces.
13430
13431 2011-09-19  Jim Meyering  <meyering@redhat.com>
13432
13433         tests: use printf, not echo in init.sh's warn_ function
13434         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13435         misbehave when given strings containing a backslash or starting
13436         with e.g., -n.  James Youngman suggested setting IFS.
13437
13438 2011-09-19  Eric Blake  <eblake@redhat.com>
13439
13440         futimens: enhance test
13441         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13442         closed non-negative fd.
13443
13444         date: accept 'hence' as opposite of 'ago'
13445         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13446         * tests/test-parse-datetime.c (main): Enhance test.
13447         Suggested by Jesse Wilson.
13448
13449 2011-09-19  Jim Meyering  <meyering@redhat.com>
13450
13451         getcwd: don't fail in a deep directory on a system without openat
13452         Before this change, getcwd would fail when called from a directory
13453         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13454         the non-openat implementation used "..", "../..", "../../..", etc.
13455         to access ancestor directories.  With too many, that string would
13456         be longer than PATH_MAX.
13457         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13458         using gnulib's openat replacement.
13459         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13460         we're using the replacement function.
13461
13462 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13463
13464         maint.mk: avoid warnings from perl about missing files
13465         * top/maint.mk (def_sym_regex): Ignore files listed in
13466         $(gl_other_headers_) that do not exist, say because a project
13467         does not use a corresponding module.
13468
13469 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13470
13471         stat: use pathmax.h only if needed
13472         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13473         This is better for Emacs, which does not have a mingw port and
13474         therefore can avoid the pathmax module.
13475
13476         utimens: remove dependency on dup2
13477         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13478         to work around the Linux kernel bug.
13479         * modules/utimens (Depends-on): Remove dup2.
13480
13481 2011-09-18  Bruno Haible  <bruno@clisp.org>
13482
13483         inet_ntop, inet_pton: Look for it also in libresolv.
13484         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13485         libnsl, search for it in libresolv.
13486         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13487         Needed on Solaris 7.
13488
13489 2011-09-18  Bruno Haible  <bruno@clisp.org>
13490
13491         accept, accept4 tests: Avoid link error on Solaris.
13492         * modules/accept-tests (Makefile.am): Link test-accept against
13493         $(LIBSOCKET).
13494         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13495         $(LIBSOCKET).
13496
13497         accept4: Avoid link error on Solaris.
13498         * modules/accept4 (Link): New section.
13499
13500         socket functions: Avoid link errors on Solaris.
13501         * modules/accept (Depends-on): Add socketlib.
13502         (Link): New section.
13503         * modules/bind (Depends-on): Add socketlib.
13504         (Link): New section.
13505         * modules/connect (Depends-on): Add socketlib.
13506         (Link): New section.
13507         * modules/getpeername (Depends-on): Add socketlib.
13508         (Link): New section.
13509         * modules/getsockname (Depends-on): Add socketlib.
13510         (Link): New section.
13511         * modules/getsockopt (Depends-on): Add socketlib.
13512         (Link): New section.
13513         * modules/listen (Depends-on): Add socketlib.
13514         (Link): New section.
13515         * modules/recv (Depends-on): Add socketlib.
13516         (Link): New section.
13517         * modules/recvfrom (Depends-on): Add socketlib.
13518         (Link): New section.
13519         * modules/send (Depends-on): Add socketlib.
13520         (Link): New section.
13521         * modules/sendto (Depends-on): Add socketlib.
13522         (Link): New section.
13523         * modules/setsockopt (Depends-on): Add socketlib.
13524         (Link): New section.
13525         * modules/shutdown (Depends-on): Add socketlib.
13526         (Link): New section.
13527         * modules/socket (Depends-on): Add socketlib.
13528         (Link): New section.
13529
13530 2011-09-18  Bruno Haible  <bruno@clisp.org>
13531
13532         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13533         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13534         than 5 seconds.
13535         * modules/ptsname-tests (configure.ac): Test for alarm.
13536
13537 2011-09-18  Bruno Haible  <bruno@clisp.org>
13538
13539         posix_spawn_file_actions_add*: Fix module dependencies.
13540         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13541         posix_spawn_file_actions_init.
13542         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13543         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13544
13545 2011-09-18  Bruno Haible  <bruno@clisp.org>
13546
13547         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13548         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13549         * tests/test-renameat.c (main): Likewise.
13550
13551 2011-09-18  Bruno Haible  <bruno@clisp.org>
13552
13553         Tests for module 'accept4'.
13554         * modules/accept4-tests: New file.
13555         * tests/test-accept4.c: New file.
13556
13557 2011-09-18  Bruno Haible  <bruno@clisp.org>
13558
13559         Tests for module 'accept'.
13560         * modules/accept-tests: New file.
13561         * tests/test-accept.c: New file.
13562
13563 2011-09-18  Bruno Haible  <bruno@clisp.org>
13564
13565         dup2: Support for MSVC.
13566         * lib/dup2.c: Include msvc-inval.h.
13567         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13568         _get_osfhandle calls.
13569         * modules/dup2 (Depends-on): Add msvc-inval.
13570         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13571
13572         New module 'msvc-inval'.
13573         * lib/msvc-inval.h: New file.
13574         * lib/msvc-inval.c: New file.
13575         * m4/msvc-inval.m4: New file.
13576         * modules/msvc-inval: New file.
13577
13578 2011-09-17  Bruno Haible  <bruno@clisp.org>
13579
13580         Tests for module 'pclose'.
13581         * modules/pclose-tests: New file.
13582
13583         New module 'pclose'.
13584         * lib/stdio.in.h (pclose): New declaration.
13585         * lib/pclose.c: New file.
13586         * m4/pclose.m4: New file.
13587         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13588         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13589         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13590         * modules/pclose: New file.
13591         * modules/popen-tests (Depends-on): Add pclose.
13592         * modules/popen-safer-tests (Depends-on): Likewise.
13593         * doc/posix-functions/pclose.texi: Mention the new module.
13594
13595 2011-09-17  Bruno Haible  <bruno@clisp.org>
13596
13597         popen: Support for MSVC.
13598         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13599         * lib/popen.c (popen): Provide alternate definition for native Windows.
13600         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13602         * modules/popen (Depends-on, configure.ac): Update condition.
13603         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13604         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13605         fixed.
13606
13607 2011-09-17  Bruno Haible  <bruno@clisp.org>
13608
13609         isnanl, isnand, isnanf: Work around MSVC bug.
13610         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13611
13612 2011-09-17  Bruno Haible  <bruno@clisp.org>
13613
13614         sys_socket tests: Fix recent mistake.
13615         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13616
13617 2011-09-17  Bruno Haible  <bruno@clisp.org>
13618
13619         putenv: Support for MSVC.
13620         * modules/putenv (Depends-on): Add environ.
13621         * lib/putenv.c (environ): Disable declaration.
13622         * lib/unistd.in.h: Update comment.
13623
13624 2011-09-17  Bruno Haible  <bruno@clisp.org>
13625
13626         math: Avoid macro redefinition warnings on MSVC.
13627         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13628         Undefine before redefining.
13629
13630 2011-09-17  Bruno Haible  <bruno@clisp.org>
13631
13632         doc: Mention functions which are declared as macros.
13633         * doc/posix-functions/*[fl].texi: Mention that some functions are
13634         defined as macros with arguments only.
13635
13636 2011-09-17  Bruno Haible  <bruno@clisp.org>
13637
13638         Add dependencies to new dirent related modules.
13639         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13640         * modules/fts (Depends-on): Likewise.
13641         * modules/glob (Depends-on): Likewise.
13642         * modules/savedir (Depends-on): Likewise.
13643         * modules/scandir (Depends-on): Likewise.
13644         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13645         * modules/fdopendir (Depends-on): Add opendir.
13646
13647 2011-09-17  Bruno Haible  <bruno@clisp.org>
13648
13649         inet_pton: Support for MSVC on Windows Vista or newer.
13650         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13651         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13652         HAVE_DECL_INET_PTON is defined.
13653         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13654         On platforms with <winsock2.h>, test whether inet_pton is declared in
13655         <ws2tcpip.h>. If so, arrange to replace it.
13656         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13657         REPLACE_INET_PTON.
13658         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13659         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13660         (Depends-on, configure.ac): Update condition.
13661         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13662
13663 2011-09-17  Bruno Haible  <bruno@clisp.org>
13664
13665         inet_ntop: Support for MSVC on Windows Vista or newer.
13666         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13667         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13668         HAVE_DECL_INET_NTOP is defined.
13669         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13670         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13671         <ws2tcpip.h>. If so, arrange to replace it.
13672         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13673         REPLACE_INET_NTOP.
13674         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13675         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13676         (Depends-on, configure.ac): Update condition.
13677         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13678
13679 2011-09-16  Eric Blake  <eblake@redhat.com>
13680
13681         test-fsync: yet another enhancement
13682         * tests/test-fsync.c (main): Also test behavior on read-only text
13683         file.
13684
13685 2011-09-16  Bruno Haible  <bruno@clisp.org>
13686
13687         Enhance fsync, fdatasync tests.
13688         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13689         * tests/test-fdatasync.c (main): Likewise.
13690
13691 2011-09-16  Bruno Haible  <bruno@clisp.org>
13692
13693         Support for MSVC compiler: Ensure mode_t gets defined.
13694         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13695         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13696         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13697         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13698         * tests/test-fcntl-h.c: Check that mode_t is defined.
13699         * tests/test-sys_stat.c: Likewise.
13700         * tests/test-sys_types.c: Likewise.
13701         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13702         * doc/posix-headers/sys_stat.texi: Likewise.
13703         * doc/posix-headers/sys_types.texi: Likewise.
13704
13705 2011-09-16  Bruno Haible  <bruno@clisp.org>
13706
13707         sys_stat: Support for MSVC.
13708         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13709         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13710         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13711         MSVC.
13712
13713 2011-09-16  Bruno Haible  <bruno@clisp.org>
13714
13715         Support for MSVC compiler: Ensure off_t gets defined.
13716         * lib/unistd.in.h: Include <sys/types.h>.
13717         * tests/test-fcntl-h.c: Check that off_t is defined.
13718         * tests/test-sys_stat.c: Likewise.
13719         * tests/test-sys_types.c: Likewise.
13720
13721 2011-09-16  Eric Blake  <eblake@redhat.com>
13722
13723         fdatasync: port to Solaris
13724         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13725         * modules/fdatasync (Link): Document it.
13726         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13727
13728         fdatasync: port to MacOS X 10.7
13729         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13730         declared.
13731         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13732         * modules/unistd (Makefile.am): Substitute it.
13733         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13734         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13735
13736         fdatasync: minor improvements
13737         * modules/fdatasync (Depends-on): Add condition for fsync.
13738         * lib/fdatasync.c (fdatasync): Add comment.
13739         * tests/test-unistd-c++.cc: Test fdatasync.
13740
13741         unistd: update refs to newer POSIX
13742         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13743         Suggested by Bruno Haible.
13744
13745         fdatasync: new module
13746         * modules/fsync (Description): Document difference to fdatasync.
13747         * modules/fdatasync: New module.
13748         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13749         * lib/fdatasync.c (fdatasync): Likewise.
13750         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13751         defaults.
13752         * modules/unistd (Makefile.am): Set witnesses.
13753         * lib/unistd.in.h (fdatasync): Declare.
13754         * MODULES.html.sh: Document it.
13755         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13756         * modules/fdatasync-tests: New test.
13757         * tests/test-fdatasync.c: Likewise.
13758
13759 2011-09-16  Eric Blake  <eblake@redhat.com>
13760
13761         test-fsync: enhance tests
13762         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13763         * tests/test-fsync.c (main): Enhance test.
13764
13765 2011-09-15  Bruno Haible  <bruno@clisp.org>
13766
13767         Support for MSVC compiler: Ensure ssize_t gets defined.
13768         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13769         * doc/posix-headers/stdio.texi: Likewise.
13770         * modules/stdio (Depends-on): Add ssize_t.
13771         * modules/sys_socket (Depends-on): Likewise.
13772         * modules/sys_types (Depends-on): Likewise.
13773         * modules/sys_uio (Depends-on): Likewise.
13774         * modules/unistd (Depends-on): Likewise.
13775         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13776         * tests/test-sys_types.c: Check that ssize_t is defined.
13777
13778 2011-09-14  Bruno Haible  <bruno@clisp.org>
13779
13780         Avoid using #, the m4 comment starter character, near brackets.
13781         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13782         delimiter character in sed expressions.
13783         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13784         Suggested by Eric Blake.
13785
13786         Properly quote AC_CHECK_DECLS' 4th argument.
13787         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13788         argument.
13789         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13790         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13791         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13792         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13793         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13794         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13795         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13796         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13797         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13798         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13799         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13800         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13801         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13802         * m4/isinf.m4 (gl_ISINF): Likewise.
13803         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13804         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13805         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13806         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13807         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13808         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13809         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13810         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13811         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13812         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13813         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13814         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13815         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13816         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13817         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13818         Reported by Eric Blake.
13819
13820         Properly quote AC_CHECK_DECL's 4th argument.
13821         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13822         argument.
13823         * m4/argp.m4 (gl_ARGP): Likewise.
13824         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13825         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13826         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13827         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13828         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13829         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13830         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13831         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13832         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13833         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13834         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13835         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13836         Reported by Eric Blake.
13837
13838 2011-09-14  Eric Blake  <eblake@redhat.com>
13839
13840         opendir: avoid compile warning
13841         * lib/opendir.c (includes): Always include errno.h.
13842         Reported by Tatsuro MATSUOKA.
13843
13844 2011-09-14  Jim Meyering  <meyering@redhat.com>
13845
13846         maint.mk: sc_tight_scope: propagate failure from sub-make
13847         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13848         Reported by Martin von Gagern.
13849
13850 2011-09-13  Bruno Haible  <bruno@clisp.org>
13851
13852         tempname: Support for MSVC.
13853         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13854         MSVC.
13855         * modules/tempname (Depends-on): Add fcntl-h.
13856
13857 2011-09-13  Bruno Haible  <bruno@clisp.org>
13858
13859         sys_time: Support for MSVC.
13860         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13861         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13862         include <winsock2.h>.
13863         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13864         function declarations that collide with POSIX.
13865         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13866         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13867
13868 2011-09-13  Bruno Haible  <bruno@clisp.org>
13869
13870         stat: Support for MSVC.
13871         * lib/stat.c: Include pathmax.h.
13872         * modules/stat (Depends-on): Add pathmax.
13873
13874         pathmax: Support for native Windows.
13875         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13876
13877 2011-09-12  Bruno Haible  <bruno@clisp.org>
13878
13879         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13880         * lib/dirent.in.h (struct dirent): New type.
13881         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13882         DT_WHT): New macros.
13883         (DIR): New type.
13884         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13885         (readdir, rewinddir): New declarations.
13886         * lib/dirent-private.h: New file.
13887         * lib/opendir.c: New file.
13888         * lib/readdir.c: New file.
13889         * lib/rewinddir.c: New file.
13890         * lib/closedir.c: New file.
13891         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13892         * m4/opendir.m4: New file.
13893         * m4/readdir.m4: New file.
13894         * m4/rewinddir.m4: New file.
13895         * m4/closedir.m4: New file.
13896         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13897         REPLACE_CLOSEDIR here.
13898         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13899         readdir, rewinddir are declared.
13900         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13901         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13902         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13903         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13904         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13905         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13906         * modules/opendir: New file.
13907         * modules/readdir: New file.
13908         * modules/rewinddir: New file.
13909         * modules/closedir: New file.
13910         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13911         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13912         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13913         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13914         * NEWS: Mention the 'fchdir' change.
13915
13916 2011-09-11  Bruno Haible  <bruno@clisp.org>
13917
13918         asm-underscore.m4: Support for MSVC.
13919         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13920         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13921
13922 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13923
13924         Doc about crypt functions.
13925         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13926         needing for _GNU_SOURCE to get crypt.
13927         * doc/posix-functions/encrypt.texi: Likewise.
13928         * doc/posix-functions/setkey.texi: Likewise.
13929
13930 2011-09-11  Bruno Haible  <bruno@clisp.org>
13931
13932         doc: Update regarding MSVC 9.
13933         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13934         tested".
13935         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13936         * doc/posix-headers/*.texi: Likewise.
13937         * doc/pastposix-functions/*.texi: Likewise.
13938         * doc/glibc-functions/*.texi: Likewise.
13939         * doc/glibc-headers/*.texi: Likewise.
13940
13941 2011-09-11  Bruno Haible  <bruno@clisp.org>
13942
13943         unistd et al.: Don't assume <unistd.h> exists.
13944         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13945         does not exist.
13946         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13947         exist. But include <stdlib.h>.
13948         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13949         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13950         symlink() does not exist.
13951         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13952         include <io.h> instead.
13953         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13954         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13955         include <direct.h> instead.
13956         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13957         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13958         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13959         <io.h> instead.
13960         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13961         correctly if the system does not have hard links.
13962         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13963         <direct.h> instead.
13964         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13965         it when looking for function declarations.
13966         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13967         <direct.h> and <io.h> instead.
13968         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13969
13970 2011-09-11  Bruno Haible  <bruno@clisp.org>
13971
13972         strcase: Support for MSVC.
13973         * modules/strcase (Status, Notice): Remove obsoletion mark.
13974         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13975         * doc/posix-functions/strncasecmp.texi: Likewise.
13976
13977         strings: Don't assume <strings.h> exists.
13978         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13979         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13980         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13981         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13982
13983 2011-09-11  Bruno Haible  <bruno@clisp.org>
13984
13985         dirent: Don't assume <dirent.h> exists.
13986         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13987         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13988         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13989         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13990
13991 2011-09-11  Bruno Haible  <bruno@clisp.org>
13992
13993         Fix wint_t on MSVC.
13994         * lib/wchar.in.h (wint_t): On MSVC, override it.
13995         * lib/wctype.in.h (wint_t): Likewise.
13996         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13997         MSVC.
13998         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13999         * doc/posix-headers/wctype.texi: Likewise.
14000
14001 2011-09-11  Bruno Haible  <bruno@clisp.org>
14002
14003         sys_types: Fix typo.
14004         * lib/sys_types.in.h: Fix typo in comment.
14005         Reported by Paul Eggert.
14006
14007         Support for MSVC compiler: Ensure size_t gets defined.
14008         * modules/strings (Depends-on): Add 'sys_types'.
14009         * modules/sys_uio (Depends-on): Likewise.
14010         * lib/sys_uio.in.h: Update comment.
14011
14012         C++ tests for module 'sys_types'.
14013         * modules/sys_types-c++-tests: New file.
14014         * tests/test-sys_types-c++.cc: New file.
14015
14016         Tests for module 'sys_types'.
14017         * modules/sys_types-tests: New file.
14018         * tests/test-sys_types.c: New file.
14019
14020         New module 'sys_types'.
14021         * lib/sys_types.in.h: New file.
14022         * m4/sys_types_h.m4: New file.
14023         * modules/sys_types: New file.
14024         * doc/posix-headers/sys_types.texi: Mention the new module and the
14025         size_t problem on MSVC 9.
14026
14027 2011-09-11  Bruno Haible  <bruno@clisp.org>
14028
14029         Support for MSVC compiler: Avoid division by a literal 0.
14030         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14031         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14032         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14033         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14034         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14035         * tests/infinity.h: New file.
14036         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14037         on MSVC.
14038         * tests/test-ceilf1.c: Include infinity.h.
14039         (main): Use Infinityf.
14040         * tests/test-ceil1.c: Include infinity.h.
14041         (main): Use Infinityd.
14042         * tests/test-ceill.c: Include infinity.h.
14043         (main): Use Infinityl.
14044         * tests/test-dprintf-posix.c: Include infinity.h.
14045         (test_function): Use Infinityd.
14046         * tests/test-floorf1.c: Include infinity.h.
14047         (main): Use Infinityf.
14048         * tests/test-floor1.c: Include infinity.h.
14049         (main): Use Infinityd.
14050         * tests/test-floorl.c: Include infinity.h.
14051         (main): Use Infinityl.
14052         * tests/test-fprintf-posix.c: Include infinity.h.
14053         (test_function): Use Infinityd.
14054         * tests/test-frexp.c: Include infinity.h.
14055         (main): Use Infinityd.
14056         * tests/test-frexpl.c: Include infinity.h.
14057         (main): Use Infinityl.
14058         * tests/test-isfinite.c: Include infinity.h.
14059         (test_isfinitef): Use Infinityf.
14060         (test_isfinited): Use Infinityd.
14061         (test_isfinitel): Use Infinityl.
14062         * tests/test-isinf.c: Include infinity.h.
14063         (test_isinff): Use Infinityf.
14064         (test_isinfd): Use Infinityd.
14065         (test_isinfl): Use Infinityl.
14066         * tests/test-isnan.c: Include infinity.h.
14067         (test_float): Use Infinityf.
14068         (test_double): Use Infinityd.
14069         (test_long_double): Use Infinityl.
14070         * tests/test-isnanf.h: Include infinity.h.
14071         (main): Use Infinityf.
14072         * tests/test-isnand.h: Include infinity.h.
14073         (main): Use Infinityd.
14074         * tests/test-isnanl.h: Include infinity.h.
14075         (main): Use Infinityl.
14076         * tests/test-ldexpl.c: Include infinity.h.
14077         (main): Use Infinityl.
14078         * tests/test-printf-posix.h: Include infinity.h.
14079         (test_function): Use Infinityd.
14080         * tests/test-roundf1.c: Include infinity.h.
14081         (main): Use Infinityf.
14082         * tests/test-round1.c: Include infinity.h.
14083         (main): Use Infinityd.
14084         * tests/test-roundl.c: Include infinity.h.
14085         (main): Use Infinityl.
14086         * tests/test-signbit.c: Include infinity.h.
14087         (test_signbitf): Use Infinityf.
14088         (test_signbitd): Use Infinityd.
14089         (test_signbitl): Use Infinityl.
14090         * tests/test-snprintf-posix.h: Include infinity.h.
14091         (test_function): Use Infinityd, Infinityl.
14092         * tests/test-sprintf-posix.h: Include infinity.h.
14093         (test_function): Use Infinityd, Infinityl.
14094         * tests/test-truncf1.c: Include infinity.h.
14095         (main): Use Infinityf.
14096         * tests/test-trunc1.c: Include infinity.h.
14097         (main): Use Infinityd.
14098         * tests/test-truncl.c: Include infinity.h.
14099         (main): Use Infinityl.
14100         * tests/test-vasnprintf-posix.c: Include infinity.h.
14101         (test_function): Use Infinityd, Infinityl.
14102         * tests/test-vasprintf-posix.c: Include infinity.h.
14103         (test_function): Use Infinityd, Infinityl.
14104         * modules/ceilf-tests (Files): Add tests/infinity.h.
14105         * modules/ceil-tests (Files): Likewise.
14106         * modules/ceill-tests (Files): Likewise.
14107         * modules/dprintf-posix-tests (Files): Likewise.
14108         * modules/floorf-tests (Files): Likewise.
14109         * modules/floor-tests (Files): Likewise.
14110         * modules/floorl-tests (Files): Likewise.
14111         * modules/fprintf-posix-tests (Files): Likewise.
14112         * modules/frexp-tests (Files): Likewise.
14113         * modules/frexp-nolibm-tests (Files): Likewise.
14114         * modules/frexpl-tests (Files): Likewise.
14115         * modules/frexpl-nolibm-tests (Files): Likewise.
14116         * modules/isfinite-tests (Files): Likewise.
14117         * modules/isinf-tests (Files): Likewise.
14118         * modules/isnan-tests (Files): Likewise.
14119         * modules/isnanf-tests (Files): Likewise.
14120         * modules/isnanf-nolibm-tests (Files): Likewise.
14121         * modules/isnand-tests (Files): Likewise.
14122         * modules/isnand-nolibm-tests (Files): Likewise.
14123         * modules/isnanl-tests (Files): Likewise.
14124         * modules/isnanl-nolibm-tests (Files): Likewise.
14125         * modules/ldexpl-tests (Files): Likewise.
14126         * modules/printf-posix-tests (Files): Likewise.
14127         * modules/roundf-tests (Files): Likewise.
14128         * modules/round-tests (Files): Likewise.
14129         * modules/roundl-tests (Files): Likewise.
14130         * modules/signbit-tests (Files): Likewise.
14131         * modules/snprintf-posix-tests (Files): Likewise.
14132         * modules/sprintf-posix-tests (Files): Likewise.
14133         * modules/truncf-tests (Files): Likewise.
14134         * modules/trunc-tests (Files): Likewise.
14135         * modules/truncl-tests (Files): Likewise.
14136         * modules/vasnprintf-posix-tests (Files): Likewise.
14137         * modules/vasprintf-posix-tests (Files): Likewise.
14138         * modules/vdprintf-posix-tests (Files): Likewise.
14139         * modules/vfprintf-posix-tests (Files): Likewise.
14140         * modules/vprintf-posix-tests (Files): Likewise.
14141         * modules/vsnprintf-posix-tests (Files): Likewise.
14142         * modules/vsprintf-posix-tests (Files): Likewise.
14143         * modules/xprintf-posix-tests (Files): Likewise.
14144
14145 2011-09-11  Bruno Haible  <bruno@clisp.org>
14146
14147         Ensure pid_t gets defined.
14148         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14149         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14150         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14151         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14152         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14153         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14154         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14155         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14156         * tests/test-fcntl-h.c: Check that pid_t is defined.
14157         * tests/test-sched.c: Likewise.
14158         * tests/test-termios.c: Likewise.
14159         * tests/test-time.c: Likewise.
14160         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14161         * doc/posix-headers/signal.texi: Likewise.
14162         * doc/posix-headers/sys_types.texi: Likewise.
14163         * doc/posix-headers/time.texi: Likewise.
14164
14165 2011-09-11  Bruno Haible  <bruno@clisp.org>
14166
14167         acl: Fix compilation on Solaris 10 (older version).
14168         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14169         of ACE_EVERYONE.
14170         * lib/set-mode-acl.c (qset_acl): Likewise.
14171         Reported by Christian Jullien <eligis@orange.fr>.
14172
14173 2011-09-10  Bruno Haible  <bruno@clisp.org>
14174
14175         iconv, unsetenv: Add support for MSVC compiler.
14176         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14177         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14178
14179 2011-09-10  Bruno Haible  <bruno@clisp.org>
14180
14181         *printf: Add support for MSVC compiler.
14182         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14183         handles the exception caused by the %n directive. When cross-compiling,
14184         guess no on native Windows.
14185         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14186         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14187         emulate it through vsnprintf.
14188         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14189         * doc/posix-functions/dprintf.texi: Update documentation regarding
14190         MSVC 9.
14191         * doc/posix-functions/fprintf.texi: Likewise.
14192         * doc/posix-functions/printf.texi: Likewise.
14193         * doc/posix-functions/snprintf.texi: Likewise.
14194         * doc/posix-functions/sprintf.texi: Likewise.
14195         * doc/posix-functions/swprintf.texi: Likewise.
14196         * doc/posix-functions/vdprintf.texi: Likewise.
14197         * doc/posix-functions/vfprintf.texi: Likewise.
14198         * doc/posix-functions/vprintf.texi: Likewise.
14199         * doc/posix-functions/vsnprintf.texi: Likewise.
14200         * doc/posix-functions/vsprintf.texi: Likewise.
14201         * doc/glibc-functions/asprintf.texi: Likewise.
14202         * doc/glibc-functions/obstack_printf.texi: Likewise.
14203         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14204         * doc/glibc-functions/vasprintf.texi: Likewise.
14205
14206 2011-09-10  Bruno Haible  <bruno@clisp.org>
14207
14208         nocrash: Add support for native Windows.
14209         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14210
14211 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14212             Bruno Haible  <bruno@clisp.org>
14213
14214         absolute-header, include-next: Add support for MSVC compiler.
14215         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14216         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14217         directory separator in #line directives.
14218         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14219         recognize also backslash as directory separator in #line directives.
14220
14221 2011-09-08  Jim Meyering  <meyering@redhat.com>
14222
14223         maint.mk: mark the post-release commit log with "maint: " prefix
14224         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14225         one-line commit-log summary.
14226
14227 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14228             Bruno Haible  <bruno@clisp.org>
14229
14230         Doc about crypt functions.
14231         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14232         systems.
14233         * doc/posix-functions/encrypt.texi: Likewise.
14234         * doc/posix-functions/setkey.texi: Likewise.
14235
14236 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14237
14238         * lib/gc.h: Fix copyright header.
14239
14240 2011-09-07  Bruno Haible  <bruno@clisp.org>
14241
14242         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14243         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14244         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14245
14246 2011-09-07  Bruno Haible  <bruno@clisp.org>
14247
14248         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14249         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14250         * lib/freopen.c: Likewise.
14251         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14252         * lib/lstat.c: Likewise.
14253         * lib/stat.c: Likewise.
14254         * lib/open.c: Use different syntax for include of <fcntl.h>.
14255         * lib/openat.c: Include fcntl.h again, explicitly.
14256
14257 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14258
14259         parse-datetime: document the newly accepted format
14260         * doc/parse-datetime.texi (Combined date and time of day items):
14261         New section.
14262
14263 2011-09-06  Bruno Haible  <bruno@clisp.org>
14264
14265         acl: Fix a test failure on newer Solaris 10 with ZFS.
14266         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14267         ENOSYS as no ACL.
14268         Reported by Jim Meyering.
14269
14270 2011-09-06  Bruno Haible  <bruno@clisp.org>
14271
14272         acl: Update for AIX >= 5.3 with NFS.
14273         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14274         ENOSYS as no ACL.
14275
14276         acl: Fix a test failure on AIX >= 5.3 with NFS.
14277         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14278         as no ACL.
14279
14280 2011-09-06  Bruno Haible  <bruno@clisp.org>
14281
14282         acl: Fix a test failure on IRIX 6.5 with NFS.
14283         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14284         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14285         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14286         * lib/copy-acl.c (qcopy_acl): Likewise.
14287
14288 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14289
14290         openat: port to AIX 7.1 with large files
14291         AIX 7.1 does a "#define openat open64at" if large files are in use,
14292         so we can't simply #undef openat.  Use the orig_openat trick (similar
14293         to orig_open in lib/open.c) to work around the problem.  Problem
14294         reported by Kevin Brott for GNU tar, in the thread containing
14295         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14296         * lib/openat.c (__need_system_fcntl_h): Define first.
14297         Include <fcntl.h> and <sys/types.h> before undefining.
14298         (orig_openat) [HAVE_OPENAT]: New inline function.
14299         (openat) [HAVE_OPENAT]: Do not undef.
14300         (rpl_openat): Use orig_openat, not openat.
14301
14302 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14303             Bruno Haible  <bruno@clisp.org>
14304
14305         acl: Avoid errors on NonStop Kernel.
14306         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14307         ENOTSUP errors.
14308
14309 2011-09-05  Bruno Haible  <bruno@clisp.org>
14310
14311         acl: Clean up Solaris code.
14312         * lib/acl-internal.h: Remove no-op #if.
14313         * lib/file-has-acl.c: Likewise.
14314         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14315         * lib/copy-acl.c (qcopy_acl): Likewise.
14316
14317 2011-09-05  Bruno Haible  <bruno@clisp.org>
14318
14319         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14320         binaries built on the original Solaris 10.
14321         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14322         trivial.
14323
14324 2011-09-05  Bruno Haible  <bruno@clisp.org>
14325
14326         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14327         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14328         10.
14329         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14330         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14331         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14332         instead of acl_get, facl_get, acl_set, facl_set.
14333
14334 2011-09-05  Bruno Haible  <bruno@clisp.org>
14335
14336         copy-file: Try unit tests on more file systems.
14337         * tests/test-copy-file-1.sh: New file.
14338         * tests/test-copy-file-2.sh: New file.
14339         * modules/copy-file-tests (Files): Add them.
14340         (Makefile.am): Add them to TESTS.
14341
14342         acl: Try unit tests on more file systems.
14343         * tests/test-file-has-acl-1.sh: New file.
14344         * tests/test-file-has-acl-2.sh: New file.
14345         * tests/test-set-mode-acl-1.sh: New file.
14346         * tests/test-set-mode-acl-2.sh: New file.
14347         * tests/test-copy-acl-1.sh: New file.
14348         * tests/test-copy-acl-2.sh: New file.
14349         * modules/acl-tests (Files): Add them.
14350         (Makefile.am): Add them to TESTS.
14351
14352 2011-09-04  Bruno Haible  <bruno@clisp.org>
14353
14354         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14355         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14356         10.
14357         (OLD_ALLOW, OLD_DENY): New macros.
14358         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14359         ACE_ACCESS_ALLOWED_ACE_TYPE.
14360         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14361         ACE_ACCESS_DENIED_ACE_TYPE.
14362         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14363         (NEW_ACE_EXECUTE): Fix value.
14364         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14365         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14366         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14367         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14368         NEW_ACE_SYNCHRONIZE): New macros.
14369         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14370         instead of acl_fromtext, acl_set, facl_set.
14371         Fixes a coreutils/tests/cp/perm failure.
14372
14373 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14374
14375         openat: test for fstatat (..., 0) bug
14376         Further testing with tar suggests that fstatat (..., 0)
14377         does not work in general, on AIX 7.1; see
14378         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14379         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14380         replacement fstatat (which is what older AIX releases were using
14381         anyway).
14382         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14383         use is now changed to orig_fstatat.  This was probably the right
14384         thing to do anyway.
14385         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14386         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14387         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14388         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14389         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14390         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14391         if the bug is found.
14392
14393         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14394         This tests for another fstatat bug on AIX 7.1:
14395         fstatat (AT_FDCWD, ..., 0) does not work.  See
14396         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14397         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14398         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14399         (rpl_fstatat): Adjust so that it works around either (or both)
14400         bugs if present.
14401         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14402
14403 2011-09-03  Karl Berry  <karl@gnu.org>
14404
14405         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14406         in index entries.
14407
14408 2011-09-02  Bruno Haible  <bruno@clisp.org>
14409
14410         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14411         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14412         values of AR, ARFLAGS, RANLIB.
14413         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14414
14415 2011-09-02  Bruno Haible  <bruno@clisp.org>
14416
14417         Find 'ar' program that fits with --host argument.
14418         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14419
14420 2011-09-02  Bruno Haible  <bruno@clisp.org>
14421
14422         tests: init.sh: Support any non-GNU diff.
14423         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14424         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14425         Solaris 8.
14426
14427 2011-09-02  Bruno Haible  <bruno@clisp.org>
14428
14429         tests: init.sh: work also with any non-GNU diff that supports -u
14430         * tests/init.sh: Relax check for diff -u support.
14431         Rather than checking for GNU diff via --version, simply check
14432         for support for -u itself.  Useful at least on OpenBSD 4.9,
14433         AIX 7.1, IRIX 6.5, and Solaris 10.
14434
14435 2011-09-01  Bruno Haible  <bruno@clisp.org>
14436
14437         strtoimax, strtoumax: Document problem on HP-UX 11.
14438         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14439         * doc/posix-functions/strtoumax.texi: Likewise.
14440
14441 2011-09-01  Bruno Haible  <bruno@clisp.org>
14442
14443         strtoumax: Avoid link error on OSF/1 with DTK cc.
14444         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14445         defined as a function.
14446         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14447         strtoumax is defined, not whether it is declared.
14448
14449 2011-09-01  Bruno Haible  <bruno@clisp.org>
14450
14451         strtoimax: Avoid link error on OSF/1 with DTK cc.
14452         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14453         defined as a function.
14454         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14455         strtoimax is defined, not whether it is declared.
14456
14457 2011-09-01  Bruno Haible  <bruno@clisp.org>
14458
14459         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14460         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14461         as a function.
14462         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14463         whether it is declared.
14464
14465 2011-09-01  Bruno Haible  <bruno@clisp.org>
14466
14467         imaxabs: Avoid link error on OSF/1 with DTK cc.
14468         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14469         as a function.
14470         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14471         whether it is declared.
14472
14473 2011-09-01  Bruno Haible  <bruno@clisp.org>
14474
14475         Tests for module 'strtoumax'.
14476         * modules/strtoumax-tests: New file.
14477         * tests/test-strtoumax.c: New file.
14478
14479         Tests for module 'strtoimax'.
14480         * modules/strtoimax-tests: New file.
14481         * tests/test-strtoimax.c: New file.
14482
14483         Tests for module 'imaxdiv'.
14484         * modules/imaxdiv-tests: New file.
14485         * tests/test-imaxdiv.c: New file.
14486
14487         Tests for module 'imaxabs'.
14488         * modules/imaxabs-tests: New file.
14489         * tests/test-imaxabs.c: New file.
14490
14491 2011-09-01  Bruno Haible  <bruno@clisp.org>
14492
14493         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14494         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14495         pthread_create.
14496
14497 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14498
14499         openat: work around AIX 7.1 fstatat issue
14500         This should fix the problem that was not properly fixed
14501         in the previous change, dated 2011-08-30.
14502         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14503         __need_system_stat_h defined.
14504         (orig_fstatat) [HAVE_FSTATAT]: New function.
14505         (rpl_fstatat): Go back to the old way of doing things,
14506         except call orig_fstatat instead of fstatat.
14507         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14508         Remove unnecessary check whether fstatat fills in st_size etc.
14509
14510 2011-09-01  Bruno Haible  <bruno@clisp.org>
14511
14512         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14513         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14514         just include the system's header.
14515
14516 2011-08-31  Jim Meyering  <meyering@redhat.com>
14517
14518         tests: avoid spurious assertion failure in test-float.c on ppc64
14519         * tests/test-float.c (test_long_double): Comment out an assertion,
14520         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14521         with gcc-4.4.4.
14522
14523         maint: indent with spaces, not TABs
14524         I need to get in the habit of running gnulib's "make check".
14525         Both of these would have been caught.
14526         * m4/largefile.m4: Indent with spaces, not TABs.
14527         * lib/parse-datetime.y (iso_8601_time): Likewise.
14528         Spotted by Pádraig Brady.
14529
14530         test-parse-datetime.c: accommodate a relatively strict gcc warning
14531         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14532         to avoid a warning from gcc's -Werror=missing-declarations.
14533         Insert a few spaces-before-funcall-parenthesis.
14534
14535 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14536
14537         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14538         The parser now accepts ISO 8601 date-time strings with "T" as the
14539         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14540         with a space between the date and time strings.  Now it also parses
14541         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14542         variants like "2004-02-29T16:21:42.333-07:00"
14543         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14544         of day representation using the 'T' separator character.
14545         * doc/parse-datetime.texi (General date syntax): replace use of
14546         deprecated --iso-8601 option with --rfc-3339 in example of date
14547         command output formats that can be parsed.
14548         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14549         lib/parse-datetime.y.
14550         (gmt_offset): New function.
14551         (main): Add additional test cases to validate ISO8601 extended
14552         date and time of day parsing.
14553
14554 2011-08-31  Bruno Haible  <bruno@clisp.org>
14555
14556         freopen: Documentation.
14557         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14558         name.
14559         Reported by Claudio Bley <claudio.bley@gmail.com>.
14560
14561 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14562
14563         freopen: Don't crash if the filename argument is NULL.
14564         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14565         NULL.
14566
14567 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14568
14569         openat: work around AIX 7.1 fstatat bug
14570         Problem reported by Kevin Brott for GNU tar, in the thread containing
14571         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14572         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14573         FSTATAT_ST_SIZE_ETC_BROKEN.
14574         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14575         rpl_fstatat.
14576         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14577         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14578         AC_CHECK_FUNCS_ONCE for fstatat.
14579         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14580         fchmodat, mkdirat, openat and unlinkat.
14581
14582 2011-08-30  Bruno Haible  <bruno@clisp.org>
14583
14584         Avoid endless recursions if config.h includes some header files.
14585         * lib/fopen.c (__need_FILE): Define already before including config.h.
14586         * lib/freopen.c (__need_FILE): Likewise.
14587         * lib/open.c (__need_system_fcntl_h): Likewise.
14588         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14589         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14590         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14591
14592 2011-08-25  Karl Berry  <karl@gnu.org>
14593
14594         * config/srclist.txt (ylwrap): new try.
14595         * build-aux/ylwrap: new file.
14596
14597 2011-08-23  Bruno Haible  <bruno@clisp.org>
14598
14599         tmpdir: Use a good default directory on native Windows.
14600         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14601         (P_tmpdir): Default to _P_tmpdir on native Windows.
14602         (path_search): On native Windows, try the value returned by GetTempPath
14603         before trying P_tmpdir.
14604         * modules/tmpdir (Depends-on): Add pathmax.
14605         Suggested by John Darrington <john@darrington.wattle.id.au>.
14606
14607 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14608
14609         doc: fix typo in README-release
14610         * top/README-release: Capitalize first word of a sentence.
14611
14612 2011-08-19  Jim Meyering  <meyering@redhat.com>
14613
14614         fts: do not exhaust memory when processing million-entry directories
14615         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14616         directory would require about 256*N bytes of memory.  Thus, it was
14617         easy to construct a directory too large to be processed by any of
14618         those tools.  With this change, fts' maximum memory utilization is
14619         now limited to around 30MB.
14620         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14621         (fts_read): When we've processed the final entry (i.e., when
14622         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14623         using the parent entry to read any remaining entries.  Dispatch
14624         depending on what fts_build returns:
14625         - NULL+stop, aka failure: stop
14626         - NULL otherwise: move up in the dir hierarchy
14627         - non-NULL: handle this new entry
14628         (fts_build): Declare and use new local, continue_readdir.
14629         Prepare to be called from fts_read, when the entries
14630         from a partially-read directory have just been exhausted.
14631         In that case, we'll skip the opendir and instead use the parent's
14632         fts_dirp and derive dir_fd from that.
14633         Finally, in the readdir loop, if we read max_entries entries,
14634         exit the loop ensuring *not* to call closedir.  This is required
14635         so that fts_dirp can be reused on a subsequent call.
14636         Prompted by Ben England's report of memory exhaustion in find
14637         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14638
14639         maint: fts: move decl of `dp' down into while loop; split a long line
14640         * lib/fts.c (fts_build): No semantic change.
14641
14642         fts: add/use new struct member, fts_dirp
14643         We are about to use this to manage any directory with
14644         too many entries to read all of them into memory at once.
14645         To do that, we'll need to save the DIR* pointer in each
14646         affected FTSENT struct.
14647         * lib/fts_.h: Include <dirent.h>.
14648         (struct FTSENT) [fts_dirp]: New member.
14649         * lib/fts.c (closedir_and_clear): Define.
14650         Use it in place of closedir so that we are sure to
14651         clear the new fts_dirp member when done with it.
14652         (fts_alloc): Initialize the new member.
14653         (fts_lfree): Free, if needed.
14654
14655         maint: fts: give __opendir2 a new parameter and rename
14656         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14657         than surreptitiously using sole caller's "dir_fd".
14658         (fts_opendir): Rename from __opendir2.
14659
14660         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14661         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14662
14663         maint: fts.c: correct off-by-one indentation
14664         * lib/fts.c (fts_build): Correct indentation, change style
14665         of a couple of block comments, and bracing style.
14666
14667         maint: fts.c: move __opendir2 #define "up" out of function body
14668         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14669
14670         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14671         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14672         out for a long time and besides was useful only on BSD systems.
14673
14674 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14675
14676         regex: port to Stratus OpenVOS
14677         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14678         define to empty, rather than attempting nonportable optimizations.
14679         Problem reported by Paul Green in:
14680         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14681         and fix suggested by Eric Blake in:
14682         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14683
14684 2011-08-17  Eric Blake  <eblake@redhat.com>
14685
14686         getcwd: fix test failures on mingw
14687         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14688         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14689         test if long directory cannot be created, and allow mingw errno.
14690
14691         getcwd-lgpl: fix m4 to match relaxed test for BSD
14692         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14693         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14694         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14695         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14696         signature problem.
14697
14698         getcwd: fix compilation on mingw64
14699         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14700         getcwd.
14701         Reported by Marc-André Lureau.
14702
14703         pipe2: silence compiler warning
14704         * lib/pipe2.c (pipe2): Hide label if it is not used.
14705
14706 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14707
14708         relocatable-prog: fix link error
14709         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14710         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14711         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14712         into modules/relocatable-lib without noticing that
14713         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14714         also needs to build relocatable.c.
14715
14716 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14717
14718         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14719         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14720         shell code: it contained a 'break' that was not in a loop.
14721         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14722         via a shell-language loop; this may have been true in old Autoconf
14723         versions, but it's not true in Autoconf 2.68.  I found this bug
14724         when testing coreutils git on Solaris 8, whose shell complains
14725         about the syntax error.
14726
14727 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14728
14729         * lib/base64.c: Fix comment to reference RFC 4648.
14730         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14731         <gvtulder@gmail.com>.
14732
14733 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14734
14735         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14736
14737         po/Makefile.in.in: fix make -q problem
14738         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14739         rule, since there's no file named 'check-macro-version' and its
14740         use as a file breaks make -q.
14741         (all): Don't depend on check-macro-version.
14742         (CHECK_MACRO_VERSION): New macro.
14743         (stamp-po): Use it.
14744
14745         configmake: fix make -q problem
14746         * modules/configmake (configmake.h): Update configmake.h's time stamp
14747         even if the file does not change.  Otherwise, 'make -q' fails.
14748         Problem reported by Simon Josefsson in
14749         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14750
14751 2011-08-11  Jim Meyering  <meyering@redhat.com>
14752
14753         git-version-gen: correct the advice in a comment
14754         * build-aux/git-version-gen: Correct comment.
14755         Don't recommend to list .tarball-version in .gitignore.
14756
14757 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14758
14759         base64: fix off-by-one buffer size bug
14760         Problem and (trivial) fix reported by Gijs van Tulder in
14761         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14762         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14763         * tests/test-base64.c (main): Catch the bug.
14764
14765 2011-08-10  Eric Blake  <eblake@redhat.com>
14766
14767         closein: correct comments
14768         * lib/closein.c (close_stdin): Improve comments.
14769
14770 2011-08-09  Bruno Haible  <bruno@clisp.org>
14771
14772         More tests for 'fseeko'.
14773         * tests/test-fseeko3.c: New file, from Eric Blake.
14774         * tests/test-fseeko3.sh: New file.
14775         * modules/fseeko-tests (Files): Add them.
14776         (TESTS): Add test-fseeko3.sh.
14777         (check_PROGRAMS): Add test-fseeko3.
14778
14779 2011-08-09  Eric Blake  <eblake@redhat.com>
14780
14781         fseeko: remove unneeded hack
14782         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14783
14784         fseeko: fix bug on glibc
14785         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14786         Reported by John W. Eaton.
14787
14788 2011-08-08  Bruno Haible  <bruno@clisp.org>
14789
14790         unictype/base: Fix interoperability with preinstalled libunistring.
14791         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14792         Reported by Simon Josefsson.
14793
14794 2011-08-08  Bruno Haible  <bruno@clisp.org>
14795
14796         iswblank: Detect declaration correctly.
14797         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14798         AC_CHECK_DECLS invocation.
14799
14800 2011-08-08  Bruno Haible  <bruno@clisp.org>
14801
14802         tcgetsid: Detect declaration correctly.
14803         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14804         AC_CHECK_DECLS invocation.
14805         Reported by Simon Josefsson.
14806
14807 2011-08-08  Eric Blake  <eblake@redhat.com>
14808
14809         largefile: fix typo that regressed large file support
14810         * modules/largefile (configure.ac-early): Fix section name.
14811
14812 2011-08-06  Karl Berry  <karl@gnu.org>
14813
14814         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14815         a separate module.
14816
14817 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14818
14819         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14820         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14821         get prototype for free.
14822
14823 2011-08-04  Bruno Haible  <bruno@clisp.org>
14824
14825         Tests for module 'pathmax'.
14826         * modules/pathmax-tests: New file.
14827         * tests/test-pathmax.c: New file.
14828
14829         canonicalize-lgpl: Support larger filenames on the Hurd.
14830         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14831         Reported by Paul Eggert.
14832
14833         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14834         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14835         * lib/chdir-long.h: Include pathmax.h.
14836         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14837         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14838         (PATH_MAX): Remove code that is done by pathmax.h.
14839         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14840         * lib/tmpfile.c: Add a comment.
14841         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14842         * modules/chdir-long (Depends-on): Add pathmax.
14843         * modules/getcwd (Depends-on): Add pathmax.
14844         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14845         is not defined.
14846         * doc/posix-headers/limits.texi: Mention the pathmax module.
14847         * NEWS: Mention the change.
14848
14849 2011-08-02  Bruno Haible  <bruno@clisp.org>
14850
14851         pthread_sigmask: Actually use results of gl_THREADLIB.
14852         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14853         gl_THREADLIB, not gl_[]THREADLIB.
14854         Reported by Eric Blake.
14855
14856 2011-08-02  Jim Meyering  <meyering@redhat.com>
14857
14858         maint.mk: relax the default _gl_TS_function_match regexp
14859         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14860         space between function name and "(" in an "extern" declaration.
14861         That would fail to match a decl with no space there: extern void foo();
14862
14863 2011-07-31  Iain Nicol  <iain@thenicols.net>
14864
14865         git-version-gen: document that EXTRA_DIST must include .version
14866         * build-aux/git-version-gen: In the how-to-use comment, document
14867         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14868         will fail when run from an unpacked distribution tarball.
14869
14870 2011-08-01  Bruno Haible  <bruno@clisp.org>
14871
14872         wctype-h: Fix last change.
14873         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14874         REPLACE_TOWLOWER to 0.
14875         Reported by Sam Steingold <sds@gnu.org>.
14876
14877 2011-07-31  Bruno Haible  <bruno@clisp.org>
14878
14879         frexpl: Update autoconf test.
14880         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14881         according to changes of 2011-06-20.
14882
14883 2011-07-31  Bruno Haible  <bruno@clisp.org>
14884
14885         sys_utsname: Add support for Minix.
14886         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14887         <sys/utsname.h>.
14888         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14889         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14890
14891 2011-07-31  Bruno Haible  <bruno@clisp.org>
14892
14893         strings: Add support for Minix.
14894         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14895         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14896         * doc/posix-headers/strings.texi: Document the Minix problem.
14897
14898 2011-07-31  Bruno Haible  <bruno@clisp.org>
14899
14900         wctype-h: Add support for Minix.
14901         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14902         REPLACE_TOWLOWER.
14903         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14904         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14905         REPLACE_ISWCNTRL.
14906
14907 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14908
14909         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14910         This is a performance improvement for 64-bit hosts: it causes the
14911         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14912
14913 2011-07-31  Bruno Haible  <bruno@clisp.org>
14914
14915         stdioext: Add support for Minix.
14916         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14917         * lib/fpurge.c (fpurge): Likewise.
14918         * lib/freadahead.c (freadahead): Likewise.
14919         * lib/freadable.c (freadable): Likewise.
14920         * lib/freading.c (freading): Likewise.
14921         * lib/freadptr.c (freadptr): Likewise.
14922         * lib/freadseek.c (freadptrinc): Likewise.
14923         * lib/fseeko.c (rpl_fseeko): Likewise.
14924         * lib/fseterr.c (fseterr): Likewise.
14925         * lib/fwritable.c (fwritable): Likewise.
14926         * lib/fwriting.c (fwriting): Likewise.
14927         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14928         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14929
14930 2011-07-31  Bruno Haible  <bruno@clisp.org>
14931
14932         errno: Port to Minix.
14933         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14934         ECONNABORTED are defined.
14935         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14936         GNULIB_defined_ECONNABORTED): New macros.
14937         * lib/strerror-override.h (strerror_override): Test also
14938         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14939         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14940         ECONNABORTED.
14941         * doc/posix-headers/errno.texi: Mention the Minix problem.
14942
14943 2011-07-31  Bruno Haible  <bruno@clisp.org>
14944
14945         Work around declaration collisions on Minix.
14946         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14947         defined, set REPLACE_MBSINIT.
14948         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14949         defined, set REPLACE_MBRTOWC.
14950         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14951         set REPLACE_MBRLEN.
14952         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14953         defined, set REPLACE_MBSRTOWCS.
14954         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14955         defined, set REPLACE_WCRTOMB.
14956         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14957         defined, set REPLACE_WCSRTOMBS.
14958
14959 2011-07-31  Bruno Haible  <bruno@clisp.org>
14960
14961         Add support for Minix with ACK compiler.
14962         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14963         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14964         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14965
14966 2011-07-31  Bruno Haible  <bruno@clisp.org>
14967
14968         Documentation about Minix.
14969         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14970         * doc/glibc-headers/*.texi: Likewise.
14971         * doc/posix-functions/*.texi: Likewise.
14972         * doc/glibc-functions/*.texi: Likewise.
14973
14974 2011-07-31  Bruno Haible  <bruno@clisp.org>
14975
14976         snippet/warn-on-use: Fix indentation.
14977         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14978
14979 2011-07-25  Jim Meyering  <meyering@redhat.com>
14980
14981         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14982         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14983         commands.
14984
14985 2011-07-27  Jim Meyering  <meyering@redhat.com>
14986
14987         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14988         * top/maint.mk (gl_extract_significant_defines_): Now that
14989         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14990         gnulib/lib/signal.in.h, and now that we recommend to
14991         define-if-undefined those two symbols in application code,
14992         we must filter them out of the "significant" list.
14993         This avoids a "make syntax-check" failure in coreutils.
14994
14995 2011-07-26  Eric Blake  <eblake@redhat.com>
14996
14997         warnings: add comments about previous patch
14998         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14999         * m4/include_next.m4: Likewise.
15000         * m4/warn-on-use.m4: Likewise.
15001         * m4/warnings.m4: Likewise, and simplify use.
15002         Suggested by Stefano Lattarini.
15003
15004         include-next, warnings: support older autoconf
15005         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15006         AS_VAR_PUSHDEF in a way that works with older autoconf.
15007         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15008         Reported by Daniel P. Berrange.
15009
15010 2011-07-25  Bruno Haible  <bruno@clisp.org>
15011
15012         fseek, ftell: Fix doc.
15013         * doc/posix-functions/fseek.texi: Reword statement about
15014         AC_SYS_LARGEFILE.
15015         * doc/posix-functions/ftell.texi: Likewise.
15016
15017 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15018             Bruno Haible  <bruno@clisp.org>
15019
15020         Add dependencies to the 'largefile' module.
15021         * modules/fopen (Depends-on): Add 'largefile'.
15022         * modules/freopen (Depends-on): Likewise.
15023         * modules/fseeko (Depends-on): Likewise.
15024         * modules/ftello (Depends-on): Likewise.
15025         * modules/glob (Depends-on): Likewise.
15026         * modules/lseek (Depends-on): Likewise.
15027         * modules/lstat (Depends-on): Likewise.
15028         * modules/mkostemp (Depends-on): Likewise.
15029         * modules/mkostemps (Depends-on): Likewise.
15030         * modules/mkstemp (Depends-on): Likewise.
15031         * modules/mkstemps (Depends-on): Likewise.
15032         * modules/open (Depends-on): Likewise.
15033         * modules/openat (Depends-on): Likewise.
15034         * modules/pread (Depends-on): Likewise.
15035         * modules/pwrite (Depends-on): Likewise.
15036         * modules/scandir (Depends-on): Likewise.
15037         * modules/stat (Depends-on): Likewise.
15038         * modules/tmpfile (Depends-on): Likewise.
15039         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15040         since the containing module now depends on the largefile module.
15041         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15042         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15043         off_t is fixed by gnulib.
15044         * doc/posix-functions/freopen.texi: Likewise.
15045         * doc/posix-functions/fseeko.texi: Likewise.
15046         * doc/posix-functions/fstatat.texi: Likewise.
15047         * doc/posix-functions/ftello.texi: Likewise.
15048         * doc/posix-functions/glob.texi: Likewise.
15049         * doc/posix-functions/lseek.texi: Likewise.
15050         * doc/posix-functions/lstat.texi: Likewise.
15051         * doc/posix-functions/mkstemp.texi: Likewise.
15052         * doc/posix-functions/open.texi: Likewise.
15053         * doc/posix-functions/openat.texi: Likewise.
15054         * doc/posix-functions/pread.texi: Likewise.
15055         * doc/posix-functions/pwrite.texi: Likewise.
15056         * doc/posix-functions/scandir.texi: Likewise.
15057         * doc/posix-functions/stat.texi: Likewise.
15058         * doc/posix-functions/tmpfile.texi: Likewise.
15059         * doc/glibc-functions/mkostemp.texi: Likewise.
15060         * doc/glibc-functions/mkostemps.texi: Likewise.
15061         * doc/glibc-functions/mkstemps.texi: Likewise.
15062
15063 2011-07-25  Bruno Haible  <bruno@clisp.org>
15064
15065         fcntl: Move AC_LIBOBJ invocation to module description.
15066         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15067         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15068
15069         fcntl: Remove call-in from fchdir.m4.
15070         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15071         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15072
15073         dup3: Remove potential call-in from fchdir.m4.
15074         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15075         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15076
15077         dup2: Move AC_LIBOBJ invocation to module description.
15078         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15079         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15080         Don't invoke AC_LIBOBJ.
15081         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15082
15083         dup2: Remove call-in from fchdir.m4.
15084         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15085         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15086
15087         fclose: Move AC_LIBOBJ invocation to module description.
15088         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15089         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15090         to 1.
15091         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15092
15093         fclose: Remove call-in from close.m4.
15094         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15095         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15096
15097         close: Move AC_LIBOBJ invocation to module description.
15098         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15099         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15100         1.
15101         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15102
15103         close: Remove call-in from fchdir.m4.
15104         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15105         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15106
15107         open: Move AC_LIBOBJ invocation to module description.
15108         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15109         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15110         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15111
15112         open: Remove call-in from fchdir.m4.
15113         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15114         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15115
15116         fchdir: Start to remove gl_REPLACE_* idiom.
15117         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15118         (gl_FUNC_FCHDIR): Invoke it.
15119
15120 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15121
15122         * lib/ftell.c (ftell): Comment out cast.
15123
15124         close: use gl_REPLACE_FCLOSE only if defined
15125         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15126         is defined.  The close module doesn't depend on the fclose module
15127         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15128         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15129         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15130
15131 2011-07-24  Jim Meyering  <meyering@redhat.com>
15132
15133         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15134         * tests/test-select.h (test_function): Declare as "static".
15135
15136 2011-07-24  Bruno Haible  <bruno@clisp.org>
15137
15138         doc: Mention the effects of AC_SYS_LARGEFILE.
15139         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15140         on this function.
15141         * doc/posix-functions/aio_error.texi: Likewise.
15142         * doc/posix-functions/aio_fsync.texi: Likewise.
15143         * doc/posix-functions/aio_read.texi: Likewise.
15144         * doc/posix-functions/aio_return.texi: Likewise.
15145         * doc/posix-functions/aio_suspend.texi: Likewise.
15146         * doc/posix-functions/aio_write.texi: Likewise.
15147         * doc/posix-functions/fgetpos.texi: Likewise.
15148         * doc/posix-functions/fopen.texi: Likewise.
15149         * doc/posix-functions/freopen.texi: Likewise.
15150         * doc/posix-functions/fsetpos.texi: Likewise.
15151         * doc/posix-functions/fstatvfs.texi: Likewise.
15152         * doc/posix-functions/ftruncate.texi: Likewise.
15153         * doc/posix-functions/ftw.texi: Likewise.
15154         * doc/posix-functions/getrlimit.texi: Likewise.
15155         * doc/posix-functions/glob.texi: Likewise.
15156         * doc/posix-functions/lio_listio.texi: Likewise.
15157         * doc/posix-functions/lockf.texi: Likewise.
15158         * doc/posix-functions/mkstemp.texi: Likewise.
15159         * doc/posix-functions/mmap.texi: Likewise.
15160         * doc/posix-functions/nftw.texi: Likewise.
15161         * doc/posix-functions/openat.texi: Likewise.
15162         * doc/posix-functions/opendir.texi: Likewise.
15163         * doc/posix-functions/posix_fadvise.texi: Likewise.
15164         * doc/posix-functions/posix_fallocate.texi: Likewise.
15165         * doc/posix-functions/pread.texi: Likewise.
15166         * doc/posix-functions/pwrite.texi: Likewise.
15167         * doc/posix-functions/readdir.texi: Likewise.
15168         * doc/posix-functions/readdir_r.texi: Likewise.
15169         * doc/posix-functions/rewinddir.texi: Likewise.
15170         * doc/posix-functions/scandir.texi: Likewise.
15171         * doc/posix-functions/seekdir.texi: Likewise.
15172         * doc/posix-functions/setrlimit.texi: Likewise.
15173         * doc/posix-functions/statvfs.texi: Likewise.
15174         * doc/posix-functions/telldir.texi: Likewise.
15175         * doc/posix-functions/tmpfile.texi: Likewise.
15176         * doc/posix-functions/truncate.texi: Likewise.
15177         * doc/glibc-functions/fallocate.texi: Likewise.
15178         * doc/glibc-functions/fstatfs.texi: Likewise.
15179         * doc/glibc-functions/fts_children.texi: Likewise.
15180         * doc/glibc-functions/fts_read.texi: Likewise.
15181         * doc/glibc-functions/getdirentries.texi: Likewise.
15182         * doc/glibc-functions/mkostemp.texi: Likewise.
15183         * doc/glibc-functions/mkostemps.texi: Likewise.
15184         * doc/glibc-functions/mkstemps.texi: Likewise.
15185         * doc/glibc-functions/preadv.texi: Likewise.
15186         * doc/glibc-functions/pwritev.texi: Likewise.
15187         * doc/glibc-functions/sendfile.texi: Likewise.
15188         * doc/glibc-functions/statfs.texi: Likewise.
15189
15190 2011-07-24  Bruno Haible  <bruno@clisp.org>
15191
15192         doc: Fix typo.
15193         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15194
15195 2011-07-24  Bruno Haible  <bruno@clisp.org>
15196
15197         doc: Mention fsusage.
15198         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15199
15200 2011-07-24  Bruno Haible  <bruno@clisp.org>
15201
15202         doc: Mention new glibc headers and functions.
15203         * doc/glibc-headers/gshadow.texi: New file.
15204         * doc/glibc-functions/endsgent.texi: New file.
15205         * doc/glibc-functions/fgetsgent.texi: New file.
15206         * doc/glibc-functions/fgetsgent_r.texi: New file.
15207         * doc/glibc-functions/getsgent.texi: New file.
15208         * doc/glibc-functions/getsgent_r.texi: New file.
15209         * doc/glibc-functions/getsgnam.texi: New file.
15210         * doc/glibc-functions/getsgnam_r.texi: New file.
15211         * doc/glibc-functions/putsgent.texi: New file.
15212         * doc/glibc-functions/setsgent.texi: New file.
15213         * doc/glibc-functions/sgetsgent.texi: New file.
15214         * doc/glibc-functions/sgetsgent_r.texi: New file.
15215         * doc/glibc-functions/malloc_info.texi: New file.
15216         * doc/glibc-functions/preadv.texi: New file.
15217         * doc/glibc-functions/pwritev.texi: New file.
15218         * doc/glibc-functions/register_printf_modifier.texi: New file.
15219         * doc/glibc-functions/register_printf_specifier.texi: New file.
15220         * doc/glibc-functions/register_printf_type.texi: New file.
15221         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15222         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15223         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15224         * doc/glibc-functions/pthread_getname_np.texi: New file.
15225         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15226         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15227         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15228         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15229         * doc/glibc-functions/pthread_setname_np.texi: New file.
15230         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15231         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15232         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15233         * doc/glibc-functions/qsort_r.texi: New file.
15234         * doc/glibc-functions/quick_exit.texi: New file.
15235         * doc/glibc-functions/syncfs.texi: New file.
15236         * doc/gnulib.texi: Include them.
15237         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15238         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15239         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15240         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15241         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15242         * doc/glibc-functions/execvpe.texi: Likewise.
15243
15244 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15245
15246         ftell: don't include <unistd.h>
15247         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15248         guaranteed to define off_t, and the ftell module depends on the
15249         stdio module.
15250
15251         ftell: do not assume wraparound signed arithmetic
15252         * lib/ftell.c: Include <limits.h>.
15253         (ftell): Don't assume wraparound signed arithmetic.
15254
15255 2011-07-24  Bruno Haible  <bruno@clisp.org>
15256
15257         close: No longer depend on module 'fclose'.
15258         * modules/close (Depends-on): Remove fclose.
15259         * NEWS: Mention the change.
15260         Suggested by Sam Steingold <sds@gnu.org>.
15261
15262 2011-07-24  Bruno Haible  <bruno@clisp.org>
15263
15264         fsusage: Enable large volume support on AIX >= 5.2.
15265         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15266         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15267         instead of STAT_STATVFS.
15268         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15269
15270         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15271         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15272         f_blocks field only on MacOS X.
15273
15274         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15275         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15276         * modules/fsusage (Depends-on): Add largefile.
15277
15278 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15279
15280         * README: Modernize discussion of signed integers.
15281         Assuming overflow wraparound is no longer safe.
15282         Mention ones' complement and signed magnitude.
15283
15284 2011-07-22  Bruno Haible  <bruno@clisp.org>
15285
15286         select tests, pselect tests: Refactor.
15287         * tests/test-select.h: New file, extracted from tests/test-select.c.
15288         (select_fn): New type.
15289         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15290         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15291         test_pipe): Add my_select argument.
15292         (test_function): Renamed from main. Add my_select argument.
15293         * tests/test-select.c: Move most code to tests/test-select.h. Include
15294         test-select.h.
15295         * modules/select-tests (Files): Add tests/test-select.h.
15296         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15297         (my_select, main): New functions.
15298         * modules/pselect-tests (Files): Add tests/test-select.h,
15299         tests/macros.h, tests/signature.h.
15300         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15301         (configure.ac): Check for <sys/wait.h>.
15302
15303 2011-07-22  Bruno Haible  <bruno@clisp.org>
15304
15305         sys_select tests: Check the signature of FD_*.
15306         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15307         signature tests from here...
15308         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15309         here.
15310         * modules/sys_select-tests (Files): Add tests/signature.h.
15311
15312 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15313
15314         largefile: new module, replacing large-inode
15315         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15316         * MODULES.html.sh: Add largefile, remove large-inode.
15317         * modules/largefile, m4/largefile.m4: New files.
15318         * modules/large-inode, m4/large-inode.m4: Remove.
15319
15320         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15321         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15322         implementations that use only 32 bits to count blocks.
15323         On typical hosts with 1024-byte blocks, this fails with file
15324         systems as small as 4 TiB.  Problem reported by Herb Wartens
15325         <http://debbugs.gnu.org/9140> and this should also fix a similar
15326         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15327
15328         large-inode: New module
15329         * MODULES.html.sh: Add it.
15330         * modules/large-inode, m4/large-inode.m4: New files.
15331
15332         extensions: Enable extensions on MacOS X 10.5 and later.
15333         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15334
15335 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15336
15337         file-has-acl: use acl_extended_file_nofollow if available
15338         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15339         (acl_extended_file): New macro.
15340         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15341         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15342
15343 2011-07-21  Bruno Haible  <bruno@clisp.org>
15344
15345         Declare system functions in a way that works with C++.
15346         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15347         declare fdopendir as extern "C".
15348         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15349         declare frexpl as extern "C".
15350         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15351         declare gai_strerror as extern "C".
15352         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15353         programs, declare gai_strerror as extern "C".
15354         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15355         declare getlogin_r as extern "C".
15356         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15357         as extern "C".
15358         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15359         declare ldexpl as extern "C".
15360         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15361         as extern "C".
15362         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15363         program, declare getmntinfo as extern "C".
15364         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15365         stpncpy as extern "C".
15366         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15367         program, declare __xpg_strerror_r as extern "C".
15368         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15369         strndup as extern "C".
15370         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15371         declare memset and bzero as extern "C".
15372         Reported by Sam Steingold <sds@gnu.org>.
15373
15374 2011-07-12  Jim Meyering  <meyering@redhat.com>
15375
15376         maint.mk: prohibit inclusion of "verify.h" without use
15377         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15378
15379 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15380
15381         timer-time: A new module to check for timer_settime()
15382         * m4/timer_time.m4: Check for the posix function.
15383         * modules/timer-time: Add the new module.
15384         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15385         Mention it.
15386
15387 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15388             Bruno Haible  <bruno@clisp.org>
15389
15390         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15391         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15392         not defined, assume POSIX threads and look for pthread_sigmask in
15393         $LIBS, without changing $CPPFLAGS.
15394
15395 2011-07-19  Bruno Haible  <bruno@clisp.org>
15396
15397         strstr: Update cross-compilation guess.
15398         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15399         CPUs, guess no, in view of glibc
15400         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15401         Suggested by Eric Blake. Reported by Reuben Thomas.
15402
15403 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15404
15405         getopt-gnu: suppress core dumps from detection code
15406         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15407         to suppress core dumps that may well occur on glibc systems.
15408         * modules/getopt-gnu: Depend on nocrash.
15409
15410 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15411
15412         pthread_sigmask: ensure usleep is declared
15413         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15414         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15415
15416 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15417
15418         doc: Document NonStop portability issues.
15419         * doc/posix-functions/sigaction.texi (sigaction):
15420         * doc/posix-headers/signal.texi (signal.h):
15421         Document NonStop.  See Joachim Schmitz in
15422         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15423
15424 2011-07-15  Bruno Haible  <bruno@clisp.org>
15425
15426         ffsl, ffsll: Avoid unportable behaviour.
15427         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15428
15429 2011-07-15  Bruno Haible  <bruno@clisp.org>
15430
15431         ffs: More tests.
15432         * tests/test-ffs.c (NBITS): New macro.
15433         (main): Add more tests.
15434         * tests/test-ffsl.c (NBITS): New macro.
15435         (main): Add more tests.
15436         * tests/test-ffsll.c (NBITS): New macro.
15437         (main): Add more tests.
15438
15439 2011-07-15  Eric Blake  <eblake@redhat.com>
15440
15441         ffsl, ffsll: new modules
15442         * modules/ffsl: New file.
15443         * modules/ffsll: Likewise.
15444         * m4/ffsl.m4: Likewise.
15445         * m4/ffsll.m4: Likewise.
15446         * lib/ffsl.c: Likewise.
15447         * lib/ffsl.h: Likewise.
15448         * lib/ffsll.c: Likewise.
15449         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15450         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15451         * modules/string (Makefile.am): Substitute witnesses.
15452         * lib/strings.in.h (ffsl, ffsll): Declare.
15453         * modules/ffsl-tests: New test file.
15454         * modules/ffsll-tests: Likewise.
15455         * tests/test-ffsl.c: Likewise.
15456         * tests/test-ffsll.c: Likewise.
15457         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15458         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15459         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15460
15461         ffs: fix m4 prerequisite
15462         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15463
15464         ffs: avoid undefined behavior
15465         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15466         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15467         Reported by Bruno Haible.
15468
15469 2011-07-12  Bruno Haible  <bruno@clisp.org>
15470
15471         pthread_sigmask: Rely on module 'threadlib'.
15472         * modules/pthread_sigmask (Depends-on): Add threadlib.
15473         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15474         is defined.
15475
15476 2011-07-12  Bruno Haible  <bruno@clisp.org>
15477
15478         regex: Depend on module 'strcase'.
15479         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15480
15481 2011-07-12  Jim Meyering  <meyering@redhat.com>
15482
15483         warn-on-use: fix typo in file name
15484         * modules/snippet/warn-on-use (Files): Correct file name:
15485         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15486
15487 2011-07-12  Bruno Haible  <bruno@clisp.org>
15488
15489         strings: Document module.
15490         * doc/posix-headers/strings.texi: Mention module 'strings'.
15491
15492 2011-07-12  Bruno Haible  <bruno@clisp.org>
15493
15494         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15495         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15496         (Files, Makefile.am): Update.
15497         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15498         * modules/stdlib (Depends-on): Update.
15499
15500 2011-07-12  Bruno Haible  <bruno@clisp.org>
15501
15502         * NEWS: Mention the changes.
15503
15504         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15505         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15506         (Files, Makefile.am): Update.
15507         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15508         * modules/arpa_inet (Depends-on): Update.
15509         * modules/ctype (Depends-on): Update.
15510         * modules/dirent (Depends-on): Update.
15511         * modules/fcntl-h (Depends-on): Update.
15512         * modules/glob (Depends-on): Update.
15513         * modules/iconv-h (Depends-on): Update.
15514         * modules/inttypes-incomplete (Depends-on): Update.
15515         * modules/langinfo (Depends-on): Update.
15516         * modules/locale (Depends-on): Update.
15517         * modules/math (Depends-on): Update.
15518         * modules/netdb (Depends-on): Update.
15519         * modules/poll-h (Depends-on): Update.
15520         * modules/pty (Depends-on): Update.
15521         * modules/search (Depends-on): Update.
15522         * modules/signal (Depends-on): Update.
15523         * modules/spawn (Depends-on): Update.
15524         * modules/stdio (Depends-on): Update.
15525         * modules/stdlib (Depends-on): Update.
15526         * modules/string (Depends-on): Update.
15527         * modules/strings (Depends-on): Update.
15528         * modules/sys_file (Depends-on): Update.
15529         * modules/sys_ioctl (Depends-on): Update.
15530         * modules/sys_select (Depends-on): Update.
15531         * modules/sys_socket (Depends-on): Update.
15532         * modules/sys_stat (Depends-on): Update.
15533         * modules/sys_time (Depends-on): Update.
15534         * modules/sys_times (Depends-on): Update.
15535         * modules/sys_utsname (Depends-on): Update.
15536         * modules/sys_wait (Depends-on): Update.
15537         * modules/termios (Depends-on): Update.
15538         * modules/time (Depends-on): Update.
15539         * modules/unistd (Depends-on): Update.
15540         * modules/wchar (Depends-on): Update.
15541         * modules/wctype-h (Depends-on): Update.
15542         * MODULES.html.sh (Support for building libraries and executables):
15543         Update.
15544
15545         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15546         * modules/snippet/unused-parameter: Renamed from
15547         modules/unused-parameter.
15548         (Files, Makefile.am): Update.
15549         * build-aux/snippet/unused-parameter.h: Renamed from
15550         build-aux/unused-parameter.h.
15551         * modules/selinux-h (Depends-on): Update.
15552         * modules/unistr/base (Depends-on): Update.
15553         * MODULES.html.sh (Core language properties): Update.
15554
15555         Rename module 'link-warning' to 'snippet/link-warning'.
15556         * modules/snippet/link-warning: Renamed from modules/link-warning.
15557         (Files, Makefile.am): Update.
15558         * build-aux/snippet/link-warning.h: Renamed from
15559         build-aux/link-warning.h.
15560         * MODULES.html.sh (Support for building libraries and executables):
15561         Update.
15562
15563         Rename module 'c++defs' to 'snippet/c++defs'.
15564         * modules/snippet/c++defs: Renamed from modules/c++defs.
15565         (Files, Makefile.am): Update.
15566         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15567         * modules/arpa_inet (Depends-on): Update.
15568         * modules/ctype (Depends-on): Update.
15569         * modules/dirent (Depends-on): Update.
15570         * modules/fcntl-h (Depends-on): Update.
15571         * modules/glob (Depends-on): Update.
15572         * modules/iconv-h (Depends-on): Update.
15573         * modules/langinfo (Depends-on): Update.
15574         * modules/locale (Depends-on): Update.
15575         * modules/math (Depends-on): Update.
15576         * modules/netdb (Depends-on): Update.
15577         * modules/poll-h (Depends-on): Update.
15578         * modules/pty (Depends-on): Update.
15579         * modules/search (Depends-on): Update.
15580         * modules/signal (Depends-on): Update.
15581         * modules/spawn (Depends-on): Update.
15582         * modules/stdio (Depends-on): Update.
15583         * modules/stdlib (Depends-on): Update.
15584         * modules/string (Depends-on): Update.
15585         * modules/strings (Depends-on): Update.
15586         * modules/sys_ioctl (Depends-on): Update.
15587         * modules/sys_select (Depends-on): Update.
15588         * modules/sys_socket (Depends-on): Update.
15589         * modules/sys_stat (Depends-on): Update.
15590         * modules/sys_time (Depends-on): Update.
15591         * modules/sys_wait (Depends-on): Update.
15592         * modules/termios (Depends-on): Update.
15593         * modules/time (Depends-on): Update.
15594         * modules/unistd (Depends-on): Update.
15595         * modules/wchar (Depends-on): Update.
15596         * modules/wctype-h (Depends-on): Update.
15597
15598         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15599         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15600         (Files, Makefile.am): Update.
15601         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15602         * modules/argv-iter (Depends-on): Update.
15603         * modules/arpa_inet (Depends-on): Update.
15604         * modules/dirent (Depends-on): Update.
15605         * modules/fcntl-h (Depends-on): Update.
15606         * modules/fnmatch (Depends-on): Update.
15607         * modules/getopt-posix (Depends-on): Update.
15608         * modules/glob (Depends-on): Update.
15609         * modules/iconv-h (Depends-on): Update.
15610         * modules/inttypes-incomplete (Depends-on): Update.
15611         * modules/locale (Depends-on): Update.
15612         * modules/math (Depends-on): Update.
15613         * modules/netdb (Depends-on): Update.
15614         * modules/search (Depends-on): Update.
15615         * modules/signal (Depends-on): Update.
15616         * modules/spawn (Depends-on): Update.
15617         * modules/stdio (Depends-on): Update.
15618         * modules/stdlib (Depends-on): Update.
15619         * modules/string (Depends-on): Update.
15620         * modules/strings (Depends-on): Update.
15621         * modules/sys_socket (Depends-on): Update.
15622         * modules/sys_stat (Depends-on): Update.
15623         * modules/sys_time (Depends-on): Update.
15624         * modules/sys_times (Depends-on): Update.
15625         * modules/sys_utsname (Depends-on): Update.
15626         * modules/time (Depends-on): Update.
15627         * modules/unistd (Depends-on): Update.
15628         * modules/wchar (Depends-on): Update.
15629         * MODULES.html.sh (Support for building libraries and executables):
15630         Update.
15631
15632 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15633
15634         Improvements on _Noreturn and related modules.
15635
15636         modules/_Exit-tests: test _Noreturn too
15637         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15638         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15639         (main): Use them.
15640
15641         stdnoreturn, stdnoreturn-tests: remove modules
15642         They're not needed here and a bit premature for use elsewhere.  See
15643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15644         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15645         * tests/test-stdnoreturn.c: Remove files.
15646         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15647         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15648         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15649         and using noreturn.
15650         * modules/openat, modules/sigpipe-die, modules/xalloc:
15651         * modules/xmemdup0, modules/xstrtol:
15652         Remove dependency on stdnoreturn.
15653
15654         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15655         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15656         Reparenthesize to avoid GCC warning.
15657         Support Microsoft's syntax.
15658         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15659
15660         _Noreturn-tests: remove module
15661         * modules/_Noreturn-tests: Remove.
15662         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15663         * tests/test-_Noreturn.c: Remove.
15664         * tests/test-stdnoreturn.c: Merge from the old
15665         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15666
15667 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15668
15669         _Noreturn, stdnoreturn, and related modules.
15670
15671         * top/maint.mk: Adjust to new noreturn support.
15672         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15673         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15674
15675         xalloc: use stdnoreturn.h
15676         * lib/xalloc.h: Include <stdnoreturn.h>.
15677         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15678         * modules/xalloc (Depends-on): Add stdnoreturn.
15679
15680         xstrtol: use stdnoreturn.h
15681         * lib/xstrtol.h: Include <stdnoreturn.h>.
15682         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15683         * modules/xstrtol (Depends-on): Add stdnoreturn.
15684
15685         xmemdup0: use stdnoreturn.h
15686         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15687         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15688         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15689
15690         sigpipe-die: use stdnoreturn.h
15691         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15692         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15693         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15694
15695         openat: use stdnoreturn.h
15696         * lib/openat.h: Include <stdnoreturn.h>.
15697         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15698         * modules/openat (Depends-on): Add stdnoreturn.
15699
15700         * lib/openat-die.c (openat_save_fail): Modernize comment.
15701
15702         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15703
15704         * lib/glthread/thread.h: Modernize comment.
15705
15706         obstack: use _Noreturn
15707         * lib/obstack.c (__attribute__): Remove macro.
15708         (print_and_abort): Use _Noreturn.
15709
15710         c-stack: use _Noreturn
15711         * lib/c-stack.c (die, overflow_handler, segv_handler):
15712         Use _Noreturn rather than __attribute__((noreturn)).
15713
15714         argmatch-tests, exclude_tests: use _Noreturn
15715         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15716         Remove.
15717         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15718
15719         stdlib: use _Noreturn
15720         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15721         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15722         * modules/stdlib (Depends-on): Add _Noreturn.
15723         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15724
15725         stdnoreturn-tests: new module
15726         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15727
15728         stdnoreturn: new module
15729         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15730         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15731
15732         _Noreturn-tests: new module
15733         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15734
15735         _Noreturn: new module
15736         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15737         New section, mentioning it.
15738         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15739
15740         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15741
15742 2011-07-11  Eric Blake  <eblake@redhat.com>
15743
15744         ffs: new module
15745         * modules/ffs: New file.
15746         * m4/ffs.m4: Likewise.
15747         * lib/ffs.c: Likewise.
15748         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15749         * modules/strings (Makefile.am): Substitute witness.
15750         (Depends-on): Add c++defs.
15751         * lib/strings.in.h (ffs): Declare.
15752         * modules/ffs-tests: New test file.
15753         * tests/test-ffs.c: Test new module.
15754         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15755         * doc/posix-functions/ffs.texi (ffs): Likewise.
15756
15757         regex: avoid compiler warning
15758         * lib/regex.c (includes): Include <strings.h>, for use of
15759         strcasecmp in regcomp.c.
15760         Reported by Joachim Schmitz.
15761
15762 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15763
15764         stdint: respect system's intmax_t if INTMAX_MAX
15765         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15766         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15767         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15768         long but int64_t is long long, and where we will clash with the
15769         system intmax_t if we override it.  See
15770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15771         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15772         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15773         similarly for UINTMAX_C.
15774
15775 2011-07-08  Bruno Haible  <bruno@clisp.org>
15776
15777         pthread_sigmask tests: Avoid a compiler warning.
15778         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15779         non-zero.
15780
15781         sigprocmask tests: A better way to avoid a compiler warning.
15782         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15783         (main): Complain if system() returns non-zero.
15784         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15785
15786 2011-07-08  Bruno Haible  <bruno@clisp.org>
15787
15788         pthread_sigmask: Work around IRIX bug.
15789         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15790         bug.
15791         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15792         there may be unblocked pending signals.
15793         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15794
15795 2011-07-08  Bruno Haible  <bruno@clisp.org>
15796
15797         pthread_sigmask: Work around Cygwin bug.
15798         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15799         bug.
15800         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15801         the system's pthread_sigmask function.
15802         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15803
15804 2011-07-08  Bruno Haible  <bruno@clisp.org>
15805
15806         pthread_sigmask: Work around bug in single-threaded implementation.
15807         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15808         FreeBSD, HP-UX, Solaris bug.
15809         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15810         * lib/pthread_sigmask.c: Include <stddef.h>.
15811         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15812         the system's pthread_sigmask function.
15813         * modules/pthread_sigmask (configure.ac): Invoke
15814         gl_PREREQ_PTHREAD_SIGMASK.
15815         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15816         HP-UX, Solaris.
15817
15818 2011-07-08  Eric Blake  <eblake@redhat.com>
15819
15820         test-sigprocmask: avoid compiler warning
15821         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15822         * tests/test-sigprocmask.c (main): Use it to silence warning.
15823         Reported by Jim Meyering.
15824
15825         test-snprintf: avoid compiler warning
15826         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15827         * tests/test-vsnprintf.c (main): Likewise.
15828         Reported by Jim Meyering.
15829
15830 2011-07-08  Bruno Haible  <bruno@clisp.org>
15831
15832         Tests for module 'pthread_sigmask'.
15833         * modules/pthread_sigmask-tests: New file.
15834         * tests/test-pthread_sigmask1.c: New file, based on
15835         tests/test-sigprocmask.c.
15836         * tests/test-pthread_sigmask2.c: New file.
15837
15838 2011-07-08  Jim Meyering  <meyering@redhat.com>
15839
15840         test-getopt.h: avoid warning about an unused variable
15841         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15842
15843 2011-07-07  Jim Meyering  <meyering@redhat.com>
15844
15845         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15846         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15847         now that it no longer contains leading TABs.
15848         Remove unused "url=FIXME" statement.
15849
15850 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15851
15852         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15853         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15854         When gl_THREADLIB is not in use, assume that the POSIX sematics
15855         are desired.  This is better for Emacs, which uses POSIX semantics
15856         on GNUish and/or POSIXish platforms, and does not use threads at
15857         all otherwise.
15858
15859         pthread_sigmask: fix typo when testing for libraries
15860         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15861         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15862
15863 2011-07-08  Eric Blake  <eblake@redhat.com>
15864
15865         fts: introduce FTS_NOATIME
15866         * lib/fts_.h (FTS_NOATIME): New bit flag.
15867         (FTS_OPTIONMASK): Adjust.
15868         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15869         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15870
15871 2011-07-08  Bruno Haible  <bruno@clisp.org>
15872
15873         Tests for module 'thread'.
15874         * modules/thread-tests: New file.
15875         * tests/test-thread_self.c: New file.
15876         * tests/test-thread_create.cc: New file.
15877
15878 2011-07-08  Bruno Haible  <bruno@clisp.org>
15879
15880         thread: Avoid gcc warnings when using gl_thread_self().
15881         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15882         'void *'.
15883         (gl_thread_self_pointer): Update.
15884
15885 2011-07-07  Bruno Haible  <bruno@clisp.org>
15886
15887         signal-c++-tests: Check declaration of pthread_sigmask.
15888         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15889         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15890         $(LIB_PTHREAD_SIGMASK).
15891
15892 2011-07-07  Bruno Haible  <bruno@clisp.org>
15893
15894         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15895         * lib/signal.in.h (pthread_sigmask): Override if
15896         REPLACE_PTHREAD_SIGMASK is 1.
15897         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15898         REPLACE_PTHREAD_SIGMASK.
15899         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15900         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15901         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15902         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15903         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15904
15905 2011-07-07  Bruno Haible  <bruno@clisp.org>
15906
15907         pthread_sigmask: Ensure declaration in <signal.h>.
15908         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15909         include <pthread.h>.
15910         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15911         problem.
15912
15913 2011-07-07  Bruno Haible  <bruno@clisp.org>
15914
15915         pthread_sigmask: Document the module.
15916         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15917
15918 2011-07-07  Bruno Haible  <bruno@clisp.org>
15919
15920         pthread_sigmask: Follow gnulib conventions.
15921         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15922         gl_PTHREAD_SIGMASK.
15923         * modules/pthread_sigmask (configure.ac): Update.
15924
15925 2011-07-07  Bruno Haible  <bruno@clisp.org>
15926
15927         pthread_sigmask: Make declaration C++ safe.
15928         * lib/signal.in.h: In two special conditions, just do an #include_next.
15929         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15930         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15931         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15932         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15933         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15934         not REPLACE_PTHREAD_MASK.
15935         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15936         not REPLACE_PTHREAD_MASK.
15937         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15938
15939 2011-07-07  Bruno Haible  <bruno@clisp.org>
15940
15941         pthread_sigmask: Fix return value.
15942         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15943         * lib/pthread_sigmask.c: New file.
15944         * modules/pthread_sigmask (Files): Add it.
15945         (configure.ac): Invoke AC_LIBOBJ.
15946
15947 2011-07-07  Eric Blake  <eblake@redhat.com>
15948
15949         getopt: more portable argv creation
15950         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15951         const, use char arrays rather than strings.
15952         Suggested by Paul Eggert.
15953
15954 2011-07-07  Bruno Haible  <bruno@clisp.org>
15955
15956         Tests for module 'sigprocmask'.
15957         * modules/sigprocmask-tests: New file.
15958         * tests/test-sigprocmask.c: New file.
15959
15960 2011-07-07  Bruno Haible  <bruno@clisp.org>
15961
15962         float tests: Tweak.
15963         * tests/test-float.c (main): Tweak skip message.
15964
15965 2011-07-07  Eric Blake  <eblake@redhat.com>
15966
15967         getopt: avoid compiler warning during configure
15968         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15969         assigning string literals to non-const pointer.
15970
15971         getopt-gnu: avoid crash in glibc getopt
15972         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15973         * tests/test-getopt.h (test_getopt): Enhance test.
15974         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15975         * doc/posix-functions/getopt.texi (getopt): Document it.
15976         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15977         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15978         Likewise.
15979
15980 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15981
15982         getopt: handle W; without long options in getopt [BZ #12922]
15983         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15984         but no long options are defined, just return 'W'.
15985
15986 2011-07-07  Bruno Haible  <bruno@clisp.org>
15987
15988         Avoid literal tabs.
15989         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15990         variable containing a tab instead of a literal tab.
15991         Reported by Jim Meyering.
15992
15993 2011-07-07  Bruno Haible  <bruno@clisp.org>
15994
15995         Comments.
15996         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15997
15998 2011-07-06  Bruno Haible  <bruno@clisp.org>
15999
16000         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16001         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16002         <winsock2.h>.
16003         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16004         lib/sys_socket.in.h.
16005         (close, gethostname): Hide declarations from <winsock2.h>.
16006         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16007         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16008         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16009         (select): Don't override if gnulib's <sys/select.h> was already
16010         included.
16011         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16012         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16013         setsockopt, shutdown, select): Tweak indentation.
16014
16015 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16016
16017         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16018         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16019         in an application that does not use the sys_select module.
16020
16021 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16022
16023         poll: do not return 0 on timeout=-1
16024         * lib/poll.c: Loop with yield if no events occurred.
16025
16026 2011-07-06  Eric Blake  <eblake@redhat.com>
16027
16028         pthread_sigmask: always replace when not using pthread
16029         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16030         replacement when using some threading other than pthread.  Fix
16031         logic bug.
16032
16033 2011-07-06  Bruno Haible  <bruno@clisp.org>
16034
16035         Comments.
16036         * m4/printf.m4: Update comments about mingw.
16037
16038 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16039
16040         sys_select: define sigset_t more portably
16041         * lib/sys_select.in.h: Always include <sys/types.h>, since
16042         we now need sigset_t and mingw defines it there.
16043         Include <signal.h> before split inclusion guard, to avoid
16044         mishaps on Solaris, whose <signal.h> eventually includes us.
16045         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16046         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16047         which come from ...
16048         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16049         gl_CHECK_TYPE_SIGSET_T.
16050         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16051         does the real work.
16052         * modules/sys_select (Depends-on): Add 'signal'.
16053
16054         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16055         Suggested by Bruno Haible.
16056
16057         pselect: Use pthread_sigmask, not sigprocmask.
16058         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16059         multithreaded apps better than sigprocmask does.
16060         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16061         sigprocmask directly.
16062
16063 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16064
16065         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16066         Don't #undef,  since we don't need any underlying pselect.
16067         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16068         (Depends-on): Add select.
16069         (Link): Add $(LIBSOCKET).
16070         These changes suggested by Bruno Haible.
16071
16072         pselect: document better
16073         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16074         * doc/posix-functions/pselect.texi (pselect): Document new module.
16075
16076         pthread_sigmask: new module
16077         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16078         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16079         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16080         This is done only as a macro; I don't know how well that'll
16081         work for C++.  Move <sys/types.h> include before the include_next,
16082         to avoid mishap on Solaris.
16083         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16084         * modules/signal (Makefile.am): Substitute the check's results.
16085         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16086
16087         test-pselect: new module
16088         * modules/pselect-tests, tests/test-pselect.c: New files.
16089         * tests/test-select.c, tests/test-sys_select-c++.cc:
16090         If TEST_PSELECT is defined, test pselect instead of testing select.
16091
16092         * tests/test-sys_select.c (sigset_t): Test for it, too.
16093         Suggested by Bruno Haible.
16094
16095 2011-07-05  Eric Blake  <eblake@redhat.com>
16096
16097         snprintf: guarantee %1$d, for libintl
16098         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16099         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16100         * doc/posix-functions/snprintf.texi (snprintf): Update.
16101         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16102         * tests/test-snprintf.c (main): Enhance test.
16103         * tests/test-vsnprintf.c (main): Likewise.
16104
16105 2011-07-05  Jim Meyering  <meyering@redhat.com>
16106
16107         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16108         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16109         per Bruno's request, to accommodate this idiom (no space after "#")
16110         even when the function is inside an #if block:
16111         char *
16112         gets (char *s)
16113         #undef gets
16114         {
16115           ...
16116         }
16117
16118 2011-07-04  Jim Meyering  <meyering@redhat.com>
16119
16120         maint: indent with spaces, not TABs, and add a rule to check this
16121         * tests/test-userspec.c: Indent with spaces, not TABs.
16122         * tests/test-argp.c: Likewise.
16123         * tests/test-c-stack2.sh: Likewise.
16124         * tests/test-parse-duration.sh: Likewise
16125         * m4/strtod.m4: Likewise.
16126         * m4/alloca.m4: Likewise.
16127         * m4/pselect.m4: Likewise.
16128         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16129
16130 2011-07-03  Jim Meyering  <meyering@redhat.com>
16131
16132         maint.mk: correct omissions in prohibit_argmatch_without_use check
16133         This rule would mistakenly report that argmatch.h is included without
16134         use even when both the argmatch and invalid_arg macro were used.
16135         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16136         of argmatch and invalid_arg.
16137
16138 2011-07-03  Bruno Haible  <bruno@clisp.org>
16139
16140         Comments about EINTR.
16141         * lib/safe-read.h: Explain the purpose of this module.
16142         * lib/safe-write.h: Likewise.
16143         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16144         module.
16145         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16146         module.
16147         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16148
16149 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16150
16151         xnanosleep: Rewrite to use new dtotimespec module.
16152         It has the conversion code that used to be in xnanosleep.
16153         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16154         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16155         (TIME_T_MAX): Remove.
16156         (xnanosleep): Rewrite in terms of dtotimespec.
16157         * modules/xnanosleep (Depends-on): Add dtotimespec.
16158         Remove intprops, stdbool.
16159
16160         timespec-add, timespec-sub: new modules
16161         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16162         * lib/timespec-add.c, lib/timespec-sub.c:
16163         * modules/timespec-add, modules/timespec-sub: New files.
16164
16165         dtotimespec: new module
16166         * lib/timespec.h (dtotimespec): New decl.
16167         * lib/dtotimespec.c, modules/dtotimespec: New files.
16168
16169         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16170
16171         pselect: new module
16172         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16173         (pselect): New decls.
16174         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16175         since the standard pselect decl uses 'restrict'.
16176         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16177         HAVE_PSELECT, REPLACE_PSELECT.
16178         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16179         HAVE_PSELECT, REPLACE_PSELECT.
16180         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16181
16182         sys_select: don't depend on sys_socket
16183         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16184         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16185         This fix works on GNU and GNU-like platforms, but has not been tested
16186         on native Windows.
16187         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16188         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16189         gl_HEADER_SYS_SOCKET.
16190         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16191         gl_PREREQ_SYS_H_WINSOCK2.
16192
16193 2011-06-29  Eric Blake  <eblake@redhat.com>
16194
16195         pipe2: fix C89 compile problem
16196         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16197         Reported by Bruno Haible.
16198
16199         pipe, pipe2: don't corrupt fd on error
16200         * lib/pipe.c (pipe): Leave fd unchanged on error.
16201         * lib/pipe2.c (pipe2): Likewise.
16202         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16203         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16204
16205 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16206
16207         mmap-anon: do not use regular expressions inadvertently
16208         * m4/mmap-anon.m4: Remove trailing period from strings sought
16209         in the output.
16210
16211 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16212
16213         nanosleep: fix integer overflow problem
16214         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16215         arithmetic wraps around on overflow.
16216
16217         nanosleep: simplify carrying
16218         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16219         first call to the underyling nanosleep, not for the last one.
16220         This doesn't fix any bugs, but it simplifies the computation of
16221         the remaining delay.  Found while auditing integer overflow issues.
16222
16223         dup2: remove test for existence of fcntl
16224         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16225         "#if HAVE_FCNTL", in the configure-time test program.
16226         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16227         and therefore speeds up "configure" a bit.  Found while
16228         adding the dup2 module to Emacs.
16229
16230 2011-06-24  Eric Blake  <eblake@redhat.com>
16231
16232         maint.mk: enhance useless header checks
16233         * top/maint.mk (_sc_header_without_use): Check both include
16234         styles.
16235         (sc_prohibit_assert_without_use)
16236         (sc_prohibit_close_stream_without_use)
16237         (sc_prohibit_getopt_without_use)
16238         (sc_prohibit_quotearg_without_use)
16239         (sc_prohibit_quote_without_use)
16240         (sc_prohibit_long_options_without_use)
16241         (sc_prohibit_inttostr_without_use)
16242         (sc_prohibit_ignore_value_without_use)
16243         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16244         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16245         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16246         (sc_prohibit_hash_pjw_without_use)
16247         (sc_prohibit_safe_read_without_use)
16248         (sc_prohibit_argmatch_without_use)
16249         (sc_prohibit_canonicalize_without_use)
16250         (sc_prohibit_root_dev_ino_without_use)
16251         (sc_prohibit_openat_without_use)
16252         (sc_prohibit_c_ctype_without_use)
16253         (sc_prohibit_signal_without_use)
16254         (sc_prohibit_stdio--_without_use)
16255         (sc_prohibit_stdio-safer_without_use)
16256         (sc_prohibit_strings_without_use)
16257         (sc_prohibit_intprops_without_use)
16258         (sc_prohibit_stddef_without_use)
16259         (sc_prohibit_xfreopen_without_use): Update clients.
16260
16261 2011-06-24  Jim Meyering  <meyering@redhat.com>
16262
16263         syntax-check: keep one maint.mk rule in sync with its header
16264         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16265         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16266         I prefer to avoid temporary files here, so use <(...), but that
16267         is not supported by /bin/sh, so...
16268         (SHELL): Define to /bin/bash.
16269
16270 2011-06-24  Eric Blake  <eblake@redhat.com>
16271
16272         maint.mk: update sc_prohibit_intprops_without_use
16273         * top/maint.mk (_intprops_names): Match recent changes.
16274
16275 2011-06-24  Bruno Haible  <bruno@clisp.org>
16276
16277         strerror-override: No-op tweak.
16278         * lib/strerror-override.h (strerror_override): Reorder conditions,
16279         for consistency with lib/strerror-override.c.
16280
16281 2011-06-23  Eric Blake  <eblake@redhat.com>
16282
16283         maint.mk: test further PATH_MAX issues
16284         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16285         (sc_prohibit_path_max_allocation): ...and also test alloca.
16286         Suggested by Jim Meyering.
16287
16288 2011-06-22  Eric Blake  <eblake@redhat.com>
16289
16290         maint.mk: add syntax-check to avoid char[PATH_MAX]
16291         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16292
16293         stat: be robust to PATH_MAX definition
16294         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16295         * modules/stat (Depends-on): Add verify.
16296
16297         link: work around IRIX bug
16298         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16299         * lib/link.c (rpl_link): Work around it.
16300         * tests/test-link.h (test_link): Enhance test.
16301         * doc/posix-functions/link.texi (link): Document the bug.
16302
16303         getopt: silence clang warning
16304         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16305         dereference.
16306         Reported by Gustavo Martin Domato.
16307
16308 2011-06-22  Jim Meyering  <meyering@redhat.com>
16309
16310         bootstrap: do not insert a blank line into each .gitignore file
16311         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16312
16313 2011-06-21  Eric Blake  <eblake@redhat.com>
16314
16315         perror: test for output mismatch
16316         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16317         perror on IRIX.
16318
16319         strerror_r: fix OpenBSD behavior on out-of-range
16320         * lib/strerror_r.c (strerror_r): Always use maximal string.
16321         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16322
16323         strerror_r: fix OpenBSD behavior on 0
16324         * lib/strerror-override.c (strerror_override): Also override 0
16325         when needed.
16326         * lib/strerror-override.h (strerror_override): Likewise.
16327         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16328         earlier.
16329         * lib/strerror_r.c (strerror_r): Likewise.
16330         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16331         behavior...
16332         (gl_FUNC_STRERROR_0): ...into new macro.
16333         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16334         is overridden.
16335         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16336         * modules/strerror-override (Files): Add strerror.m4.
16337         (configure.ac): Also provide override for 0 when needed.
16338         * doc/posix-functions/strerror.texi (strerror): Document this.
16339         * doc/posix-functions/perror.texi (perror): Likewise.
16340
16341         perror: adjust array size
16342         * modules/perror (Depends-on): Add strerror-override.
16343         * lib/perror.c (perror): Use it to avoid magic number.
16344
16345         strerror-override: reduce size
16346         * lib/strerror-override.c (strerror_override): Use fewer lines.
16347
16348 2011-06-20  Bruno Haible  <bruno@clisp.org>
16349
16350         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16351         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16352
16353 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16354
16355         alloca: port to compilers that can optimize like GCC 4.6.0
16356         * lib/alloca.c (find_stack_direction): New signature, taken from
16357         Autoconf git.  This works with GCC 4.6.0.  This code should never
16358         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16359         be used with other compilers that optimize as well as GCC 4.6.0 does.
16360         (alloca): Adjust to new signature.
16361         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16362         New macro, which patches Autoconf in a similar way.
16363
16364         c-stack: stop worrying about stack direction
16365         * lib/c-stack.c (find_stack_direction): Remove.
16366         (segv_handler): Don't worry about stack direction growth, as it's
16367         too much of a pain to configure this correctly, given how compilers
16368         are optimizing-away our stack-growth detection code.  Instead, assume
16369         that any access to just before or just after the stack is OK.
16370         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16371         Don't require AC_FUNC_ALLOCA; no longer needed.
16372
16373 2011-06-20  Eric Blake  <eblake@redhat.com>
16374
16375         test-stat: don't allocate PATH_MAX bytes
16376         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16377         PATH_MAX-sized buffer.
16378         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16379         * modules/stat-tests (Depends-on): Likewise.
16380         * tests/test-fstatat.c (includes): Drop pathmax.h.
16381         * tests/test-stat.c (includes): Likewise.
16382         Reported by Bruno Haible.
16383
16384 2011-06-20  Bruno Haible  <bruno@clisp.org>
16385
16386         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16387         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16388         * lib/float.c: New file.
16389         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16390         REPLACE_FLOAT_LDBL.
16391         * modules/float (Files): Add lib/float.c.
16392         (configure.ac): Invoke AC_LIBOBJ.
16393         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16394
16395 2011-06-20  Bruno Haible  <bruno@clisp.org>
16396
16397         Tests for module 'float'.
16398         * modules/float-tests: New file.
16399         * tests/test-float.c: New file.
16400
16401 2011-06-19  Bruno Haible  <bruno@clisp.org>
16402
16403         isinf: Coding style.
16404         * lib/isinf.c: Use GNU coding style.
16405
16406 2011-06-19  Bruno Haible  <bruno@clisp.org>
16407
16408         linkat test: Avoid test failure on AIX 7.1.
16409         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16410         * tests/test-link.h (test_link): Likewise.
16411
16412 2011-06-19  Bruno Haible  <bruno@clisp.org>
16413
16414         pread test: Avoid test failure on OpenBSD 4.9.
16415         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16416
16417 2011-06-19  Bruno Haible  <bruno@clisp.org>
16418
16419         sprintf-posix: Fix test failure on AIX 7.1.
16420         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16421         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16422         on AIX.
16423         * doc/posix-functions/fprintf.texi: Likewise.
16424         * doc/posix-functions/printf.texi: Likewise.
16425         * doc/posix-functions/snprintf.texi: Likewise.
16426         * doc/posix-functions/sprintf.texi: Likewise.
16427         * doc/posix-functions/vdprintf.texi: Likewise.
16428         * doc/posix-functions/vfprintf.texi: Likewise.
16429         * doc/posix-functions/vprintf.texi: Likewise.
16430         * doc/posix-functions/vsnprintf.texi: Likewise.
16431         * doc/posix-functions/vsprintf.texi: Likewise.
16432
16433 2011-06-19  Bruno Haible  <bruno@clisp.org>
16434
16435         roundl-ieee: Fix test failure on AIX 7.1.
16436         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16437         * doc/posix-functions/roundl.texi: Mention problem with negative
16438         arguments.
16439
16440 2011-06-19  Bruno Haible  <bruno@clisp.org>
16441
16442         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16443         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16444         * doc/posix-functions/round.texi: Mention problem with negative
16445         arguments.
16446         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16447
16448 2011-06-19  Bruno Haible  <bruno@clisp.org>
16449
16450         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16451         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16452         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16453         * doc/posix-functions/roundf.texi: Mention problem with negative
16454         arguments.
16455         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16456
16457 2011-06-19  Bruno Haible  <bruno@clisp.org>
16458
16459         ceilf-ieee: Work around bug on MacOS X 10.5.
16460         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16461
16462         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16463         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16464         IEEE compliant, avoid compiler optimizations.
16465         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16466         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16467         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16468         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16469         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16470         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16471         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16472         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16473         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16474         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16475
16476 2011-06-19  Bruno Haible  <bruno@clisp.org>
16477
16478         ceilf-ieee: Work around bug on AIX 7.1.
16479         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16480         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16481
16482 2011-06-19  Bruno Haible  <bruno@clisp.org>
16483
16484         ceil-ieee: Work around bug on AIX 7.1.
16485         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16486         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16487
16488 2011-06-18  Bruno Haible  <bruno@clisp.org>
16489
16490         fsync test: Avoid test failure on MacOS X and AIX.
16491         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16492         EINVAL.
16493
16494 2011-06-18  Bruno Haible  <bruno@clisp.org>
16495
16496         openat, fdopendir tests: Fix link errors.
16497         * modules/openat-tests (Depends-on): Add progname.
16498         * modules/fdopendir-tests (Depends-on): Likewise.
16499         * tests/test-fchownat.c: Include progname.h.
16500         (main): Call set_program_name.
16501         * tests/test-fstatat.c: Include progname.h.
16502         (main): Call set_program_name.
16503         * tests/test-mkdirat.c: Include progname.h.
16504         (main): Call set_program_name.
16505         * tests/test-openat.c: Include progname.h.
16506         (main): Call set_program_name.
16507         * tests/test-unlinkat.c: Include progname.h.
16508         (main): Call set_program_name.
16509         * tests/test-fdopendir.c: Include progname.h.
16510         (main): Call set_program_name.
16511
16512 2011-06-18  Bruno Haible  <bruno@clisp.org>
16513
16514         Doc update.
16515         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16516         HP-UX.
16517         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16518
16519 2011-06-18  Bruno Haible  <bruno@clisp.org>
16520
16521         getcwd tests: Avoid compilation error on HP-UX 11.31.
16522         * modules/getcwd-tests (Depends-on): Add pathmax.
16523         * tests/test-getcwd.c: Include pathmax.h.
16524
16525 2011-06-18  Bruno Haible  <bruno@clisp.org>
16526
16527         isfinite, isinf: Fix link error on AIX 6 and 7.
16528         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16529         needed, also test the macro with a 'float' argument.
16530         * m4/isinf.m4 (gl_ISINF): Likewise.
16531
16532 2011-06-18  Bruno Haible  <bruno@clisp.org>
16533
16534         getloadavg: Don't clobber LIBS. Regression from previous commit.
16535         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16536         AC_CHECK_LIB from here...
16537         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16538         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16539         gl_func_getloadavg_done.
16540         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16541
16542 2011-06-18  Bruno Haible  <bruno@clisp.org>
16543
16544         clean-temp: Improve documentation.
16545         * lib/clean-temp.h: Explain better how to use this module.
16546         Reported by John Darrington <john@darrington.wattle.id.au>.
16547
16548 2011-06-17  Bruno Haible  <bruno@clisp.org>
16549
16550         pread, pwrite: Avoid cc warning on AIX.
16551         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16552         (pwrite): Likewise.
16553
16554 2011-06-17  Bruno Haible  <bruno@clisp.org>
16555
16556         spawn-pipe tests: Fix link error.
16557         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16558         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16559
16560 2011-06-17  Bruno Haible  <bruno@clisp.org>
16561
16562         Tests: Remove unnecessary dependency.
16563         * modules/canonicalize-tests (Depends-on): Remove progname.
16564         * modules/chown-tests (Depends-on): Likewise.
16565         * modules/dirname-tests (Depends-on): Likewise.
16566         * modules/fdopendir-tests (Depends-on): Likewise.
16567         * modules/fdutimensat-tests (Depends-on): Likewise.
16568         * modules/hash-tests (Depends-on): Likewise.
16569         * modules/lchown-tests (Depends-on): Likewise.
16570         * modules/linkat-tests (Depends-on): Likewise.
16571         * modules/renameat-tests (Depends-on): Likewise.
16572         * modules/spawn-pipe-tests (Depends-on): Likewise.
16573         * modules/utimensat-tests (Depends-on): Likewise.
16574
16575 2011-06-17  Bruno Haible  <bruno@clisp.org>
16576
16577         spawn-pipe tests: Fix link error.
16578         * tests/test-spawn-pipe-child.c: Undefine fflush.
16579
16580 2011-06-17  Bruno Haible  <bruno@clisp.org>
16581
16582         Fix tests link errors.
16583         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16584         * modules/chown-tests (Makefile.am): Don't link test-chown with
16585         LIBINTL.
16586         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16587         LIBINTL.
16588         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16589         LIBINTL.
16590         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16591         LIBINTL.
16592
16593 2011-06-16  Bruno Haible  <bruno@clisp.org>
16594
16595         crypto/gc-sha1: Fix recent regression.
16596         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16597         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16598
16599         crypto/gc-md5: Fix recent regression.
16600         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16601
16602         crypto/gc-md4: Fix recent regression.
16603         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16604         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16605
16606         crypto/gc-arctwo: Fix recent regression.
16607         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16608         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16609
16610         crypto/gc-rijndael: Fix recent regression.
16611         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16612         (configure.ac): Invoke AC_LIBOBJ here.
16613         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16614         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16615
16616         crypto/gc-hmac-sha1: Fix recent regression.
16617         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16618         (configure.ac): Invoke AC_LIBOBJ here.
16619         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16620         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16621
16622         crypto/gc-hmac-md5: Fix recent regression.
16623         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16624         (configure.ac): Invoke AC_LIBOBJ here.
16625         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16626         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16627
16628         crypto/gc-des: Fix recent regression.
16629         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16630         (configure.ac): Invoke AC_LIBOBJ here.
16631         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16632         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16633
16634         crypto/gc-arcfour: Fix recent regression.
16635         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16636         (configure.ac): Invoke AC_LIBOBJ here.
16637         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16638         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16639
16640 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16641
16642         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16643         After the 2011-05-21 change, this macro requires
16644         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16645         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16646
16647 2011-06-16  Bruno Haible  <bruno@clisp.org>
16648
16649         fprintftime: Move AC_LIBOBJ invocations to module description.
16650         * m4/fprintftime.m4: Remove file.
16651         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16652         (configure.ac): Remove gl_FPRINTFTIME call.
16653         (Makefile.am): Augment lib_SOURCES.
16654         Reported by Jim Meyering.
16655
16656 2011-06-16  Bruno Haible  <bruno@clisp.org>
16657
16658         tmpfile-safer: Finish 2011-05-23 commit.
16659         * m4/stdio-safer.m4: Really remove file.
16660         Reported by Jim Meyering.
16661
16662 2011-06-16  Bruno Haible  <bruno@clisp.org>
16663
16664         syntax-check: Fix typo.
16665         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16666         printf-posix.m4.
16667         Reported by Jim Meyering.
16668
16669 2011-06-13  Jim Meyering  <meyering@redhat.com>
16670
16671         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16672         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16673
16674 2011-05-23  Bruno Haible  <bruno@clisp.org>
16675
16676         yesno: Move AC_LIBOBJ invocations to module description.
16677         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16678         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16679
16680 2011-05-23  Bruno Haible  <bruno@clisp.org>
16681
16682         xstrtol: Move AC_LIBOBJ invocations to module description.
16683         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16684         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16685
16686 2011-05-23  Bruno Haible  <bruno@clisp.org>
16687
16688         xstrtold: Move AC_LIBOBJ invocations to module description.
16689         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16690         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16691
16692 2011-05-23  Bruno Haible  <bruno@clisp.org>
16693
16694         xstrtod: Move AC_LIBOBJ invocations to module description.
16695         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16696         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16697
16698 2011-05-23  Bruno Haible  <bruno@clisp.org>
16699
16700         xnanosleep: Move AC_LIBOBJ invocations to module description.
16701         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16702         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16703
16704 2011-05-23  Bruno Haible  <bruno@clisp.org>
16705
16706         xgetcwd: Move AC_LIBOBJ invocations to module description.
16707         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16708         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16709
16710 2011-05-23  Bruno Haible  <bruno@clisp.org>
16711
16712         xalloc: Move AC_LIBOBJ invocations to module description.
16713         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16714         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16715
16716 2011-05-23  Bruno Haible  <bruno@clisp.org>
16717
16718         write-any-file: Move AC_LIBOBJ invocations to module description.
16719         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16720         invocation.
16721         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16722
16723 2011-05-23  Bruno Haible  <bruno@clisp.org>
16724
16725         utimens: Move AC_LIBOBJ invocations to module description.
16726         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16727         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16728
16729 2011-05-23  Bruno Haible  <bruno@clisp.org>
16730
16731         utimecmp: Move AC_LIBOBJ invocations to module description.
16732         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16733         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16734
16735 2011-05-23  Bruno Haible  <bruno@clisp.org>
16736
16737         userspec: Move AC_LIBOBJ invocations to module description.
16738         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16739         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16740
16741 2011-05-23  Bruno Haible  <bruno@clisp.org>
16742
16743         unlinkdir: Move AC_LIBOBJ invocations to module description.
16744         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16745         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16746
16747 2011-05-23  Bruno Haible  <bruno@clisp.org>
16748
16749         unistd-safer: Move AC_LIBOBJ invocations to module description.
16750         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16751         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16752
16753 2011-05-23  Bruno Haible  <bruno@clisp.org>
16754
16755         tempname: Move AC_LIBOBJ invocations to module description.
16756         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16757         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16758
16759 2011-05-23  Bruno Haible  <bruno@clisp.org>
16760
16761         strftime: Move AC_LIBOBJ invocations to module description.
16762         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16763         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16764
16765 2011-05-23  Bruno Haible  <bruno@clisp.org>
16766
16767         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16768         * m4/stdlib-safer.m4: Remove file.
16769         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16770         (configure.ac): Remove gl_STDLIB_SAFER call.
16771         (Makefile.am): Augment lib_SOURCES.
16772
16773 2011-05-23  Bruno Haible  <bruno@clisp.org>
16774
16775         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16776         * m4/stdio-safer.m4: Remove file.
16777         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16778         (configure.ac): Remove gl_TMPFILE_SAFER call.
16779         (Makefile.am): Augment lib_SOURCES.
16780
16781 2011-05-23  Bruno Haible  <bruno@clisp.org>
16782
16783         popen-safer: Move AC_LIBOBJ invocations to module description.
16784         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16785         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16786         (configure.ac): Remove gl_POPEN_SAFER call.
16787         (Makefile.am): Augment lib_SOURCES.
16788
16789 2011-05-23  Bruno Haible  <bruno@clisp.org>
16790
16791         freopen-safer: Move AC_LIBOBJ invocations to module description.
16792         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16793         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16794         (configure.ac): Remove gl_FREOPEN_SAFER call.
16795         (Makefile.am): Augment lib_SOURCES.
16796
16797 2011-05-23  Bruno Haible  <bruno@clisp.org>
16798
16799         fopen-safer: Move AC_LIBOBJ invocations to module description.
16800         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16801         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16802         (configure.ac): Remove gl_FOPEN_SAFER call.
16803         (Makefile.am): Augment lib_SOURCES.
16804
16805 2011-05-23  Bruno Haible  <bruno@clisp.org>
16806
16807         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16808         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16809         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16810
16811 2011-05-23  Bruno Haible  <bruno@clisp.org>
16812
16813         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16814         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16815         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16816
16817 2011-05-23  Bruno Haible  <bruno@clisp.org>
16818
16819         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16820         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16821         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16822
16823 2011-05-23  Bruno Haible  <bruno@clisp.org>
16824
16825         settime: Move AC_LIBOBJ invocations to module description.
16826         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16827         * modules/settime (Makefile.am): Augment lib_SOURCES.
16828
16829 2011-05-23  Bruno Haible  <bruno@clisp.org>
16830
16831         savedir: Move AC_LIBOBJ invocations to module description.
16832         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16833         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16834
16835 2011-05-23  Bruno Haible  <bruno@clisp.org>
16836
16837         save-cwd: Move AC_LIBOBJ invocations to module description.
16838         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16839         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16840
16841 2011-05-23  Bruno Haible  <bruno@clisp.org>
16842
16843         same: Move AC_LIBOBJ invocations to module description.
16844         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16845         * modules/same (Makefile.am): Augment lib_SOURCES.
16846
16847 2011-05-23  Bruno Haible  <bruno@clisp.org>
16848
16849         safe-write: Move AC_LIBOBJ invocations to module description.
16850         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16851         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16852         instead of gl_SAFE_WRITE.
16853         (Makefile.am): Augment lib_SOURCES.
16854
16855 2011-05-23  Bruno Haible  <bruno@clisp.org>
16856
16857         safe-read: Move AC_LIBOBJ invocations to module description.
16858         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16859         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16860         of gl_SAFE_READ.
16861         (Makefile.am): Augment lib_SOURCES.
16862
16863 2011-05-23  Bruno Haible  <bruno@clisp.org>
16864
16865         safe-alloc: Move AC_LIBOBJ invocations to module description.
16866         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16867         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16868
16869 2011-05-23  Bruno Haible  <bruno@clisp.org>
16870
16871         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16872         * m4/rijndael.m4: Remove file.
16873         * modules/crypto/rijndael (Files): Remove it.
16874         (configure.ac): Remove gl_RIJNDAEL call.
16875         (Makefile.am): Augment lib_SOURCES.
16876
16877 2011-05-23  Bruno Haible  <bruno@clisp.org>
16878
16879         readtokens: Move AC_LIBOBJ invocations to module description.
16880         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16881         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16882
16883 2011-05-23  Bruno Haible  <bruno@clisp.org>
16884
16885         read-file: Move AC_LIBOBJ invocations to module description.
16886         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16887         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16888         of gl_FUNC_READ_FILE.
16889         (Makefile.am): Augment lib_SOURCES.
16890
16891 2011-05-23  Bruno Haible  <bruno@clisp.org>
16892
16893         quotearg: Move AC_LIBOBJ invocations to module description.
16894         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16895         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16896
16897 2011-05-23  Bruno Haible  <bruno@clisp.org>
16898
16899         quote: Move AC_LIBOBJ invocations to module description.
16900         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16901         * modules/quote (Makefile.am): Augment lib_SOURCES.
16902
16903 2011-05-23  Bruno Haible  <bruno@clisp.org>
16904
16905         posixver: Move AC_LIBOBJ invocations to module description.
16906         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16907         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16908
16909 2011-05-23  Bruno Haible  <bruno@clisp.org>
16910
16911         posixtm: Move AC_LIBOBJ invocations to module description.
16912         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16913         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16914
16915 2011-05-23  Bruno Haible  <bruno@clisp.org>
16916
16917         physmem: Move AC_LIBOBJ invocations to module description.
16918         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16919         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16920
16921 2011-05-23  Bruno Haible  <bruno@clisp.org>
16922
16923         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16924         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16925         invocation.
16926         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16927
16928 2011-05-23  Bruno Haible  <bruno@clisp.org>
16929
16930         mpsort: Move AC_LIBOBJ invocations to module description.
16931         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16932         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16933
16934 2011-05-23  Bruno Haible  <bruno@clisp.org>
16935
16936         modechange: Move AC_LIBOBJ invocations to module description.
16937         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16938         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16939
16940 2011-05-23  Bruno Haible  <bruno@clisp.org>
16941
16942         mkdir-p: Move AC_LIBOBJ invocations to module description.
16943         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16944         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16945
16946 2011-05-23  Bruno Haible  <bruno@clisp.org>
16947
16948         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16949         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16950         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16951
16952 2011-05-23  Bruno Haible  <bruno@clisp.org>
16953
16954         mgetgroups: Move AC_LIBOBJ invocations to module description.
16955         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16956         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16957
16958 2011-05-23  Bruno Haible  <bruno@clisp.org>
16959
16960         memxor: Move AC_LIBOBJ invocations to module description.
16961         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16962         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16963
16964 2011-05-23  Bruno Haible  <bruno@clisp.org>
16965
16966         memcoll: Move AC_LIBOBJ invocations to module description.
16967         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16968         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16969
16970 2011-05-23  Bruno Haible  <bruno@clisp.org>
16971
16972         memcasecmp: Move AC_LIBOBJ invocations to module description.
16973         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16974         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16975
16976 2011-05-23  Bruno Haible  <bruno@clisp.org>
16977
16978         crypto/md5: Move AC_LIBOBJ invocations to module description.
16979         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16980         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16981
16982 2011-05-23  Bruno Haible  <bruno@clisp.org>
16983
16984         crypto/md4: Move AC_LIBOBJ invocations to module description.
16985         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16986         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16987
16988 2011-05-23  Bruno Haible  <bruno@clisp.org>
16989
16990         crypto/md2: Move AC_LIBOBJ invocations to module description.
16991         * m4/md2.m4: Remove file.
16992         * modules/crypto/md2 (Files): Remove it.
16993         (configure.ac): Remove gl_MD2 call.
16994         (Makefile.am): Augment lib_SOURCES.
16995
16996 2011-05-23  Bruno Haible  <bruno@clisp.org>
16997
16998         long-options: Move AC_LIBOBJ invocations to module description.
16999         * m4/long-options.m4: Remove file.
17000         * modules/long-options (Files): Remove it.
17001         (configure.ac): Remove gl_LONG_OPTIONS call.
17002         (Makefile.am): Augment lib_SOURCES.
17003
17004 2011-05-23  Bruno Haible  <bruno@clisp.org>
17005
17006         i-ring: Move AC_LIBOBJ invocations to module description.
17007         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17008         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17009
17010 2011-05-23  Bruno Haible  <bruno@clisp.org>
17011
17012         idcache: Move AC_LIBOBJ invocations to module description.
17013         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17014         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17015
17016 2011-05-23  Bruno Haible  <bruno@clisp.org>
17017
17018         human: Move AC_LIBOBJ invocations to module description.
17019         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17020         * modules/human (Makefile.am): Augment lib_SOURCES.
17021
17022 2011-05-23  Bruno Haible  <bruno@clisp.org>
17023
17024         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17025         * m4/hmac-sha1.m4: Remove file.
17026         * modules/crypto/hmac-sha1 (Files): Remove it.
17027         (configure.ac): Remove gl_HMAC_SHA1 call.
17028         (Makefile.am): Augment lib_SOURCES.
17029
17030 2011-05-23  Bruno Haible  <bruno@clisp.org>
17031
17032         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17033         * m4/hmac-md5.m4: Remove file.
17034         * modules/crypto/hmac-md5 (Files): Remove it.
17035         (configure.ac): Remove gl_HMAC_MD5 call.
17036         (Makefile.am): Augment lib_SOURCES.
17037
17038 2011-05-23  Bruno Haible  <bruno@clisp.org>
17039
17040         hash: Move AC_LIBOBJ invocations to module description.
17041         * m4/hash.m4: Remove file.
17042         * modules/hash (Files): Remove it.
17043         (configure.ac): Remove gl_HASH call.
17044         (Makefile.am): Augment lib_SOURCES.
17045
17046 2011-05-23  Bruno Haible  <bruno@clisp.org>
17047
17048         hard-locale: Move AC_LIBOBJ invocations to module description.
17049         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17050         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17051
17052 2011-05-23  Bruno Haible  <bruno@clisp.org>
17053
17054         getugroups: Move AC_LIBOBJ invocations to module description.
17055         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17056         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17057
17058 2011-05-23  Bruno Haible  <bruno@clisp.org>
17059
17060         gettime: Move AC_LIBOBJ invocations to module description.
17061         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17062         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17063
17064 2011-05-23  Bruno Haible  <bruno@clisp.org>
17065
17066         getndelim2: Move AC_LIBOBJ invocations to module description.
17067         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17068         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17069
17070 2011-05-23  Bruno Haible  <bruno@clisp.org>
17071
17072         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17073         * m4/gc-pbkdf2-sha1.m4: Remove file.
17074         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17075         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17076         (Makefile.am): Augment lib_SOURCES.
17077
17078 2011-05-23  Bruno Haible  <bruno@clisp.org>
17079
17080         fts: Move AC_LIBOBJ invocations to module description.
17081         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17082         * modules/fts (configure.ac): ... to here.
17083
17084 2011-05-23  Bruno Haible  <bruno@clisp.org>
17085
17086         file-type: Move AC_LIBOBJ invocations to module description.
17087         * m4/file-type.m4: Remove file.
17088         * modules/file-type (Files): Remove it.
17089         (configure.ac): Remove gl_FILE_TYPE call.
17090         (Makefile.am): Augment lib_SOURCES.
17091
17092 2011-05-23  Bruno Haible  <bruno@clisp.org>
17093
17094         filenamecat*: Respect rules for use of AC_LIBOBJ.
17095         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17096         Remove AC_LIBOBJ invocation.
17097         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17098         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17099
17100 2011-05-23  Bruno Haible  <bruno@clisp.org>
17101
17102         filemode: Move AC_LIBOBJ invocations to module description.
17103         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17104         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17105
17106 2011-05-23  Bruno Haible  <bruno@clisp.org>
17107
17108         openat-safer: Move AC_LIBOBJ invocations to module description.
17109         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17110         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17111
17112 2011-05-23  Bruno Haible  <bruno@clisp.org>
17113
17114         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17115         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17116         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17117
17118 2011-05-23  Bruno Haible  <bruno@clisp.org>
17119
17120         exclude: Move AC_LIBOBJ invocations to module description.
17121         * m4/exclude.m4: Remove file.
17122         * modules/exclude (Files): Remove it.
17123         (configure.ac): Remove gl_EXCLUDE call.
17124         (Makefile.am): Augment lib_SOURCES.
17125
17126 2011-05-23  Bruno Haible  <bruno@clisp.org>
17127
17128         dirname*: Respect rules for use of AC_LIBOBJ.
17129         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17130         invocations.
17131         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17132         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17133
17134 2011-05-23  Bruno Haible  <bruno@clisp.org>
17135
17136         dirent-safer: Move AC_LIBOBJ invocations to module description.
17137         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17138         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17139
17140 2011-05-23  Bruno Haible  <bruno@clisp.org>
17141
17142         crypto/des: Move AC_LIBOBJ invocations to module description.
17143         * m4/des.m4: Remove file.
17144         * modules/crypto/des (Files): Remove it.
17145         (configure.ac): Remove gl_DES call.
17146         (Makefile.am): Augment lib_SOURCES.
17147
17148 2011-05-23  Bruno Haible  <bruno@clisp.org>
17149
17150         cycle-check: Move AC_LIBOBJ invocations to module description.
17151         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17152         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17153
17154 2011-05-23  Bruno Haible  <bruno@clisp.org>
17155
17156         c-strtold: Move AC_LIBOBJ invocations to module description.
17157         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17158         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17159
17160 2011-05-23  Bruno Haible  <bruno@clisp.org>
17161
17162         c-strtod: Move AC_LIBOBJ invocations to module description.
17163         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17164         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17165
17166 2011-05-23  Bruno Haible  <bruno@clisp.org>
17167
17168         crc: Move AC_LIBOBJ invocations to module description.
17169         * m4/crc.m4: Remove file.
17170         * modules/crc (Files): Remove it.
17171         (configure.ac): Remove gl_CRC call.
17172         (Makefile.am): Augment lib_SOURCES.
17173
17174 2011-05-23  Bruno Haible  <bruno@clisp.org>
17175
17176         close-stream: Move AC_LIBOBJ invocations to module description.
17177         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17178         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17179
17180 2011-05-23  Bruno Haible  <bruno@clisp.org>
17181
17182         closeout: Move AC_LIBOBJ invocations to module description.
17183         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17184         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17185
17186 2011-05-23  Bruno Haible  <bruno@clisp.org>
17187
17188         closein: Move AC_LIBOBJ invocations to module description.
17189         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17190         * modules/closein (Makefile.am): Augment lib_SOURCES.
17191
17192 2011-05-23  Bruno Haible  <bruno@clisp.org>
17193
17194         cloexec: Move AC_LIBOBJ invocations to module description.
17195         * m4/cloexec.m4: Remove file.
17196         * modules/cloexec (Files): Remove it.
17197         (configure.ac): Remove gl_CLOEXEC call.
17198         (Makefile.am): Augment lib_SOURCES.
17199
17200 2011-05-23  Bruno Haible  <bruno@clisp.org>
17201
17202         check-version: Move AC_LIBOBJ invocations to module description.
17203         * m4/check-version.m4: Remove file.
17204         * modules/check-version (Files): Remove it.
17205         (configure.ac): Remove gl_CHECK_VERSION call.
17206         (Makefile.am): Augment lib_SOURCES.
17207
17208 2011-05-23  Bruno Haible  <bruno@clisp.org>
17209
17210         chdir-safer: Move AC_LIBOBJ invocations to module description.
17211         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17212         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17213
17214 2011-05-23  Bruno Haible  <bruno@clisp.org>
17215
17216         canonicalize: Move AC_LIBOBJ invocations to module description.
17217         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17218         AC_LIBOBJ invocation.
17219         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17220
17221 2011-05-23  Bruno Haible  <bruno@clisp.org>
17222
17223         canon-host: Move AC_LIBOBJ invocations to module description.
17224         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17225         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17226         instead of gl_CANON_HOST.
17227         (Makefile.am): Augment lib_SOURCES.
17228
17229 2011-05-23  Bruno Haible  <bruno@clisp.org>
17230
17231         backupfile: Move AC_LIBOBJ invocations to module description.
17232         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17233         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17234
17235 2011-05-23  Bruno Haible  <bruno@clisp.org>
17236
17237         argmatch: Move AC_LIBOBJ invocations to module description.
17238         * m4/argmatch.m4: Remove file.
17239         * modules/argmatch (Files): Remove it.
17240         (configure.ac): Remove gl_ARGMATCH call.
17241         (Makefile.am): Augment lib_SOURCES.
17242
17243 2011-05-23  Bruno Haible  <bruno@clisp.org>
17244
17245         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17246         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17247         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17248
17249 2011-05-23  Bruno Haible  <bruno@clisp.org>
17250
17251         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17252         * m4/arcfour.m4: Remove file.
17253         * modules/crypto/arcfour (Files): Remove it.
17254         (configure.ac): Remove gl_ARCFOUR call.
17255         (Makefile.am): Augment lib_SOURCES.
17256
17257 2011-05-22  Bruno Haible  <bruno@clisp.org>
17258
17259         write: Move AC_LIBOBJ invocations to module description.
17260         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17261         * modules/write (configure.ac): ... to here.
17262
17263 2011-05-22  Bruno Haible  <bruno@clisp.org>
17264
17265         wmemset: Move AC_LIBOBJ invocations to module description.
17266         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17267         here...
17268         * modules/wmemset (configure.ac): ... to here.
17269
17270 2011-05-22  Bruno Haible  <bruno@clisp.org>
17271
17272         wmemmove: Move AC_LIBOBJ invocations to module description.
17273         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17274         here...
17275         * modules/wmemmove (configure.ac): ... to here.
17276
17277 2011-05-22  Bruno Haible  <bruno@clisp.org>
17278
17279         wmemcpy: Move AC_LIBOBJ invocations to module description.
17280         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17281         here...
17282         * modules/wmemcpy (configure.ac): ... to here.
17283
17284 2011-05-22  Bruno Haible  <bruno@clisp.org>
17285
17286         wmemcmp: Move AC_LIBOBJ invocations to module description.
17287         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17288         here...
17289         * modules/wmemcmp (configure.ac): ... to here.
17290
17291 2011-05-22  Bruno Haible  <bruno@clisp.org>
17292
17293         wmemchr: Move AC_LIBOBJ invocations to module description.
17294         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17295         here...
17296         * modules/wmemchr (configure.ac): ... to here.
17297
17298 2011-05-22  Bruno Haible  <bruno@clisp.org>
17299
17300         wcswidth: Move AC_LIBOBJ invocations to module description.
17301         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17302         here...
17303         * modules/wcswidth (configure.ac): ... to here.
17304
17305 2011-05-22  Bruno Haible  <bruno@clisp.org>
17306
17307         wcwidth: Respect rules for use of AC_LIBOBJ.
17308         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17309         invocation from here...
17310         * modules/wcwidth (configure.ac): ... to here.
17311         (Depends-on): Update conditions.
17312
17313 2011-05-22  Bruno Haible  <bruno@clisp.org>
17314
17315         wctype: Move AC_LIBOBJ invocations to module description.
17316         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17317         invocation from here...
17318         * modules/wctype (configure.ac): ... to here.
17319         (Depends-on): Update conditions.
17320
17321 2011-05-22  Bruno Haible  <bruno@clisp.org>
17322
17323         wctrans: Move AC_LIBOBJ invocations to module description.
17324         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17325         invocation from here...
17326         * modules/wctrans (configure.ac): ... to here.
17327
17328 2011-05-22  Bruno Haible  <bruno@clisp.org>
17329
17330         wctomb: Move AC_LIBOBJ invocations to module description.
17331         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17332         invocations from here...
17333         * modules/wctomb (configure.ac): ... to here.
17334
17335 2011-05-22  Bruno Haible  <bruno@clisp.org>
17336
17337         wctob: Move AC_LIBOBJ invocations to module description.
17338         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17339         gl_PREREQ_WCTOB invocations from here...
17340         * modules/wctob (configure.ac): ... to here.
17341         (Depends-on): Update conditions.
17342
17343 2011-05-22  Bruno Haible  <bruno@clisp.org>
17344
17345         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17346         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17347         here...
17348         * modules/wcsxfrm (configure.ac): ... to here.
17349
17350 2011-05-22  Bruno Haible  <bruno@clisp.org>
17351
17352         wcstok: Move AC_LIBOBJ invocations to module description.
17353         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17354         * modules/wcstok (configure.ac): ... to here.
17355
17356 2011-05-22  Bruno Haible  <bruno@clisp.org>
17357
17358         wcsstr: Move AC_LIBOBJ invocations to module description.
17359         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17360         * modules/wcsstr (configure.ac): ... to here.
17361
17362 2011-05-22  Bruno Haible  <bruno@clisp.org>
17363
17364         wcsspn: Move AC_LIBOBJ invocations to module description.
17365         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17366         * modules/wcsspn (configure.ac): ... to here.
17367
17368 2011-05-22  Bruno Haible  <bruno@clisp.org>
17369
17370         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17371         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17372         gl_PREREQ_WCSRTOMBS invocations from here...
17373         * modules/wcsrtombs (configure.ac): ... to here.
17374
17375 2011-05-22  Bruno Haible  <bruno@clisp.org>
17376
17377         wcsrchr: Move AC_LIBOBJ invocations to module description.
17378         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17379         here...
17380         * modules/wcsrchr (configure.ac): ... to here.
17381
17382 2011-05-22  Bruno Haible  <bruno@clisp.org>
17383
17384         wcspbrk: Move AC_LIBOBJ invocations to module description.
17385         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17386         here...
17387         * modules/wcspbrk (configure.ac): ... to here.
17388
17389 2011-05-22  Bruno Haible  <bruno@clisp.org>
17390
17391         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17392         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17393         gl_PREREQ_WCSNRTOMBS invocations from here...
17394         * modules/wcsnrtombs (configure.ac): ... to here.
17395
17396 2011-05-22  Bruno Haible  <bruno@clisp.org>
17397
17398         wcsnlen: Move AC_LIBOBJ invocations to module description.
17399         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17400         here...
17401         * modules/wcsnlen (configure.ac): ... to here.
17402
17403 2011-05-22  Bruno Haible  <bruno@clisp.org>
17404
17405         wcsncpy: Move AC_LIBOBJ invocations to module description.
17406         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17407         here...
17408         * modules/wcsncpy (configure.ac): ... to here.
17409
17410 2011-05-22  Bruno Haible  <bruno@clisp.org>
17411
17412         wcsncmp: Move AC_LIBOBJ invocations to module description.
17413         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17414         here...
17415         * modules/wcsncmp (configure.ac): ... to here.
17416
17417 2011-05-22  Bruno Haible  <bruno@clisp.org>
17418
17419         wcsncat: Move AC_LIBOBJ invocations to module description.
17420         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17421         here...
17422         * modules/wcsncat (configure.ac): ... to here.
17423
17424 2011-05-22  Bruno Haible  <bruno@clisp.org>
17425
17426         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17427         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17428         from here...
17429         * modules/wcsncasecmp (configure.ac): ... to here.
17430
17431 2011-05-22  Bruno Haible  <bruno@clisp.org>
17432
17433         wcslen: Move AC_LIBOBJ invocations to module description.
17434         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17435         * modules/wcslen (configure.ac): ... to here.
17436
17437 2011-05-22  Bruno Haible  <bruno@clisp.org>
17438
17439         wcsdup: Move AC_LIBOBJ invocations to module description.
17440         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17441         * modules/wcsdup (configure.ac): ... to here.
17442
17443 2011-05-22  Bruno Haible  <bruno@clisp.org>
17444
17445         wcscspn: Move AC_LIBOBJ invocations to module description.
17446         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17447         here...
17448         * modules/wcscspn (configure.ac): ... to here.
17449
17450 2011-05-22  Bruno Haible  <bruno@clisp.org>
17451
17452         wcscpy: Move AC_LIBOBJ invocations to module description.
17453         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17454         * modules/wcscpy (configure.ac): ... to here.
17455
17456 2011-05-22  Bruno Haible  <bruno@clisp.org>
17457
17458         wcscoll: Move AC_LIBOBJ invocations to module description.
17459         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17460         here...
17461         * modules/wcscoll (configure.ac): ... to here.
17462
17463 2011-05-22  Bruno Haible  <bruno@clisp.org>
17464
17465         wcscmp: Move AC_LIBOBJ invocations to module description.
17466         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17467         * modules/wcscmp (configure.ac): ... to here.
17468
17469 2011-05-22  Bruno Haible  <bruno@clisp.org>
17470
17471         wcschr: Move AC_LIBOBJ invocations to module description.
17472         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17473         * modules/wcschr (configure.ac): ... to here.
17474
17475 2011-05-22  Bruno Haible  <bruno@clisp.org>
17476
17477         wcscat: Move AC_LIBOBJ invocations to module description.
17478         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17479         * modules/wcscat (configure.ac): ... to here.
17480
17481 2011-05-22  Bruno Haible  <bruno@clisp.org>
17482
17483         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17484         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17485         here...
17486         * modules/wcscasecmp (configure.ac): ... to here.
17487
17488 2011-05-22  Bruno Haible  <bruno@clisp.org>
17489
17490         wcrtomb: Move AC_LIBOBJ invocations to module description.
17491         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17492         invocations from here...
17493         * modules/wcrtomb (configure.ac): ... to here.
17494
17495 2011-05-22  Bruno Haible  <bruno@clisp.org>
17496
17497         wcpncpy: Move AC_LIBOBJ invocations to module description.
17498         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17499         here...
17500         * modules/wcpncpy (configure.ac): ... to here.
17501
17502 2011-05-22  Bruno Haible  <bruno@clisp.org>
17503
17504         wcpcpy: Move AC_LIBOBJ invocations to module description.
17505         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17506         * modules/wcpcpy (configure.ac): ... to here.
17507
17508 2011-05-22  Bruno Haible  <bruno@clisp.org>
17509
17510         waitpid: Move AC_LIBOBJ invocations to module description.
17511         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17512         invocation from here...
17513         * modules/waitpid (configure.ac): ... to here.
17514
17515 2011-05-22  Bruno Haible  <bruno@clisp.org>
17516
17517         utimensat: Move AC_LIBOBJ invocations to module description.
17518         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17519         here...
17520         * modules/utimensat (configure.ac): ... to here.
17521
17522 2011-05-22  Bruno Haible  <bruno@clisp.org>
17523
17524         usleep: Move AC_LIBOBJ invocations to module description.
17525         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17526         here...
17527         * modules/usleep (configure.ac): ... to here.
17528
17529 2011-05-22  Bruno Haible  <bruno@clisp.org>
17530
17531         unlockpt: Move AC_LIBOBJ invocations to module description.
17532         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17533         gl_PREREQ_UNLOCKPT invocations from here...
17534         * modules/unlockpt (configure.ac): ... to here.
17535
17536 2011-05-22  Bruno Haible  <bruno@clisp.org>
17537
17538         unlink: Respect rules for use of AC_LIBOBJ.
17539         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17540         * modules/unlink (configure.ac): ... to here.
17541
17542 2011-05-22  Bruno Haible  <bruno@clisp.org>
17543
17544         uname: Move AC_LIBOBJ invocations to module description.
17545         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17546         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17547         here...
17548         * modules/uname (configure.ac): ... to here.
17549
17550 2011-05-22  Bruno Haible  <bruno@clisp.org>
17551
17552         ttyname_r: Move AC_LIBOBJ invocations to module description.
17553         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17554         gl_PREREQ_TTYNAME_R invocations from here...
17555         * modules/ttyname_r (configure.ac): ... to here.
17556
17557 2011-05-22  Bruno Haible  <bruno@clisp.org>
17558
17559         tsearch: Move AC_LIBOBJ invocations to module description.
17560         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17561         invocations from here...
17562         * modules/tsearch (configure.ac): ... to here.
17563
17564 2011-05-22  Bruno Haible  <bruno@clisp.org>
17565
17566         towctrans: Move AC_LIBOBJ invocations to module description.
17567         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17568         AC_LIBOBJ invocation from here...
17569         * modules/towctrans (configure.ac): ... to here.
17570
17571 2011-05-22  Bruno Haible  <bruno@clisp.org>
17572
17573         tmpfile: Move AC_LIBOBJ invocations to module description.
17574         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17575         invocations from here...
17576         * modules/tmpfile (configure.ac): ... to here.
17577
17578 2011-05-22  Bruno Haible  <bruno@clisp.org>
17579
17580         times: Move AC_LIBOBJ invocations to module description.
17581         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17582         * modules/times (configure.ac): ... to here.
17583
17584 2011-05-22  Bruno Haible  <bruno@clisp.org>
17585
17586         time_r: Move AC_LIBOBJ invocations to module description.
17587         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17588         invocations from here...
17589         * modules/time_r (configure.ac): ... to here.
17590
17591 2011-05-22  Bruno Haible  <bruno@clisp.org>
17592
17593         timegm: Move AC_LIBOBJ invocations to module description.
17594         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17595         invocations from here...
17596         * modules/timegm (configure.ac): ... to here.
17597
17598 2011-05-22  Bruno Haible  <bruno@clisp.org>
17599
17600         tcgetsid: Move AC_LIBOBJ invocations to module description.
17601         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17602         and gl_PREREQ_TCGETSID invocations from here...
17603         * modules/tcgetsid (configure.ac): ... to here.
17604         (Depends-on): Update conditions.
17605
17606 2011-05-22  Bruno Haible  <bruno@clisp.org>
17607
17608         symlinkat: Move AC_LIBOBJ invocations to module description.
17609         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17610         here...
17611         * modules/symlinkat (configure.ac): ... to here.
17612
17613 2011-05-22  Bruno Haible  <bruno@clisp.org>
17614
17615         symlink: Move AC_LIBOBJ invocations to module description.
17616         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17617         here...
17618         * modules/symlink (configure.ac): ... to here.
17619
17620 2011-05-22  Bruno Haible  <bruno@clisp.org>
17621
17622         strverscmp: Move AC_LIBOBJ invocations to module description.
17623         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17624         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17625         from here...
17626         * modules/strverscmp (configure.ac): ... to here.
17627
17628 2011-05-22  Bruno Haible  <bruno@clisp.org>
17629
17630         strtok_r: Move AC_LIBOBJ invocations to module description.
17631         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17632         and gl_PREREQ_STRTOK_R invocations from here...
17633         * modules/strtok_r (configure.ac): ... to here.
17634         (Depends-on): Update conditions.
17635
17636 2011-05-22  Bruno Haible  <bruno@clisp.org>
17637
17638         strtoumax: Move AC_LIBOBJ invocations to module description.
17639         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17640         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17641         from here...
17642         * modules/strtoumax (configure.ac): ... to here.
17643
17644 2011-05-22  Bruno Haible  <bruno@clisp.org>
17645
17646         strtoimax: Move AC_LIBOBJ invocations to module description.
17647         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17648         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17649         from here...
17650         * modules/strtoimax (configure.ac): ... to here.
17651
17652 2011-05-22  Bruno Haible  <bruno@clisp.org>
17653
17654         strtoull: Move AC_LIBOBJ invocations to module description.
17655         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17656         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17657         from here...
17658         * modules/strtoull (configure.ac): ... to here.
17659
17660 2011-05-22  Bruno Haible  <bruno@clisp.org>
17661
17662         strtoll: Move AC_LIBOBJ invocations to module description.
17663         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17664         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17665         here...
17666         * modules/strtoll (configure.ac): ... to here.
17667
17668 2011-05-22  Bruno Haible  <bruno@clisp.org>
17669
17670         strtoul: Move AC_LIBOBJ invocations to module description.
17671         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17672         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17673         * modules/strtoul (configure.ac): ... to here.
17674
17675 2011-05-22  Bruno Haible  <bruno@clisp.org>
17676
17677         strtol: Move AC_LIBOBJ invocations to module description.
17678         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17679         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17680         * modules/strtol (configure.ac): ... to here.
17681
17682 2011-05-22  Bruno Haible  <bruno@clisp.org>
17683
17684         strtod: Move AC_LIBOBJ invocations to module description.
17685         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17686         invocations from here...
17687         * modules/strtod (configure.ac): ... to here.
17688
17689 2011-05-22  Bruno Haible  <bruno@clisp.org>
17690
17691         strstr*: Move AC_LIBOBJ invocations to module description.
17692         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17693         invocations from here...
17694         * modules/strstr-simple (configure.ac): ... to here.
17695         * modules/strstr (configure.ac): ... and here.
17696
17697 2011-05-22  Bruno Haible  <bruno@clisp.org>
17698
17699         strsignal: Move AC_LIBOBJ invocations to module description.
17700         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17701         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17702         * modules/strsignal (configure.ac): ... to here.
17703         (Depends-on): Update conditions.
17704
17705 2011-05-22  Bruno Haible  <bruno@clisp.org>
17706
17707         strsep: Move AC_LIBOBJ invocations to module description.
17708         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17709         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17710         here...
17711         * modules/strsep (configure.ac): ... to here.
17712
17713 2011-05-22  Bruno Haible  <bruno@clisp.org>
17714
17715         strptime: Move AC_LIBOBJ invocations to module description.
17716         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17717         gl_PREREQ_STRPTIME invocations from here...
17718         * modules/strptime (configure.ac): ... to here.
17719
17720 2011-05-22  Bruno Haible  <bruno@clisp.org>
17721
17722         strpbrk: Move AC_LIBOBJ invocations to module description.
17723         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17724         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17725         here...
17726         * modules/strpbrk (configure.ac): ... to here.
17727
17728 2011-05-22  Bruno Haible  <bruno@clisp.org>
17729
17730         strnlen: Move AC_LIBOBJ invocations to module description.
17731         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17732         invocations from here...
17733         * modules/strnlen (configure.ac): ... to here.
17734
17735 2011-05-22  Bruno Haible  <bruno@clisp.org>
17736
17737         strndup: Move AC_LIBOBJ invocations to module description.
17738         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17739         invocations from here...
17740         * modules/strndup (configure.ac): ... to here.
17741         (Depends-on): Update conditions.
17742
17743 2011-05-22  Bruno Haible  <bruno@clisp.org>
17744
17745         strncat: Move AC_LIBOBJ invocations to module description.
17746         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17747         invocations from here...
17748         * modules/strncat (configure.ac): ... to here.
17749
17750 2011-05-22  Bruno Haible  <bruno@clisp.org>
17751
17752         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17753         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17754         invocations from here...
17755         * modules/strdup (configure.ac): ... to here.
17756         * modules/strdup-posix (configure.ac): ... and here.
17757
17758 2011-05-22  Bruno Haible  <bruno@clisp.org>
17759
17760         strcspn: Move AC_LIBOBJ invocations to module description.
17761         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17762         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17763         here...
17764         * modules/strcspn (configure.ac): ... to here.
17765
17766 2011-05-22  Bruno Haible  <bruno@clisp.org>
17767
17768         strchrnul: Move AC_LIBOBJ invocations to module description.
17769         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17770         gl_PREREQ_STRCHRNUL invocations from here...
17771         * modules/strchrnul (configure.ac): ... to here.
17772
17773 2011-05-22  Bruno Haible  <bruno@clisp.org>
17774
17775         strcasestr*: Move AC_LIBOBJ invocations to module description.
17776         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17777         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17778         * modules/strcasestr-simple (configure.ac): ... to here.
17779         * modules/strcasestr (configure.ac): ... and here.
17780
17781 2011-05-22  Bruno Haible  <bruno@clisp.org>
17782
17783         strcase: Move AC_LIBOBJ invocations to module description.
17784         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17785         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17786         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17787         gl_PREREQ_STRNCASECMP invocations from here...
17788         * modules/strcase (configure.ac): ... to here.
17789
17790 2011-05-22  Bruno Haible  <bruno@clisp.org>
17791
17792         stpncpy: Move AC_LIBOBJ invocations to module description.
17793         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17794         here...
17795         * modules/stpncpy (configure.ac): ... to here.
17796
17797 2011-05-22  Bruno Haible  <bruno@clisp.org>
17798
17799         stpcpy: Move AC_LIBOBJ invocations to module description.
17800         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17801         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17802         here...
17803         * modules/stpcpy (configure.ac): ... to here.
17804
17805 2011-05-21  Bruno Haible  <bruno@clisp.org>
17806
17807         stat: Move AC_LIBOBJ invocations to module description.
17808         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17809         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17810         here...
17811         * modules/stat (configure.ac): ... to here.
17812
17813 2011-05-21  Bruno Haible  <bruno@clisp.org>
17814
17815         sleep: Move AC_LIBOBJ invocations to module description.
17816         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17817         * modules/sleep (configure.ac): ... to here.
17818
17819 2011-05-21  Bruno Haible  <bruno@clisp.org>
17820
17821         signbit: Move AC_LIBOBJ invocations to module description.
17822         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17823         * modules/signbit (configure.ac): ... to here.
17824
17825 2011-05-21  Bruno Haible  <bruno@clisp.org>
17826
17827         sigprocmask: Move AC_LIBOBJ invocations to module description.
17828         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17829         gl_PREREQ_SIGPROMASK invocations from here...
17830         * modules/sigprocmask (configure.ac): ... to here.
17831
17832 2011-05-21  Bruno Haible  <bruno@clisp.org>
17833
17834         sigaction: Move AC_LIBOBJ invocations to module description.
17835         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17836         gl_PREREQ_SIGACTION invocations from here...
17837         * modules/sigaction (configure.ac): ... to here.
17838
17839 2011-05-21  Bruno Haible  <bruno@clisp.org>
17840
17841         sig2str: Move AC_LIBOBJ invocations to module description.
17842         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17843         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17844         here...
17845         * modules/sig2str (configure.ac): ... to here.
17846
17847 2011-05-21  Bruno Haible  <bruno@clisp.org>
17848
17849         setlocale: Move AC_LIBOBJ invocations to module description.
17850         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17851         gl_PREREQ_SETLOCALE invocations from here...
17852         * modules/setlocale (configure.ac): ... to here.
17853
17854 2011-05-21  Bruno Haible  <bruno@clisp.org>
17855
17856         unsetenv: Move AC_LIBOBJ invocations to module description.
17857         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17858         and gl_PREREQ_UNSETENV invocations from here...
17859         * modules/unsetenv (configure.ac): ... to here.
17860         (Depends-on): Update.
17861
17862 2011-05-21  Bruno Haible  <bruno@clisp.org>
17863
17864         setenv: Move AC_LIBOBJ invocations to module description.
17865         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17866         here...
17867         * modules/setenv (configure.ac): ... to here.
17868
17869 2011-05-21  Bruno Haible  <bruno@clisp.org>
17870
17871         selinux-h: Move AC_LIBOBJ invocations to module description.
17872         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17873         AC_LIBOBJ invocation from here...
17874         * modules/selinux-h (configure.ac): ... to here.
17875
17876 2011-05-21  Bruno Haible  <bruno@clisp.org>
17877
17878         select: Respect rules for use of AC_LIBOBJ.
17879         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17880         here...
17881         * modules/select (configure.ac): ... to here.
17882
17883 2011-05-21  Bruno Haible  <bruno@clisp.org>
17884
17885         scandir: Move AC_LIBOBJ invocations to module description.
17886         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17887         invocations from here...
17888         * modules/scandir (configure.ac): ... to here.
17889
17890 2011-05-21  Bruno Haible  <bruno@clisp.org>
17891
17892         rpmatch: Move AC_LIBOBJ invocations to module description.
17893         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17894         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17895         here...
17896         * modules/rpmatch (configure.ac): ... to here.
17897
17898 2011-05-21  Bruno Haible  <bruno@clisp.org>
17899
17900         rmdir: Respect rules for use of AC_LIBOBJ.
17901         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17902         * modules/rmdir (configure.ac): ... to here.
17903
17904 2011-05-21  Bruno Haible  <bruno@clisp.org>
17905
17906         renameat: Move AC_LIBOBJ invocations to module description.
17907         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17908         here...
17909         * modules/renameat (configure.ac): ... to here.
17910
17911 2011-05-21  Bruno Haible  <bruno@clisp.org>
17912
17913         rename: Respect rules for use of AC_LIBOBJ.
17914         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17915         here...
17916         * modules/rename (configure.ac): ... to here.
17917
17918 2011-05-21  Bruno Haible  <bruno@clisp.org>
17919
17920         remove: Move AC_LIBOBJ invocations to module description.
17921         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17922         here...
17923         * modules/remove (configure.ac): ... to here.
17924
17925 2011-05-21  Bruno Haible  <bruno@clisp.org>
17926
17927         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17928         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17929         macro.
17930         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17931         * modules/relocatable-lib (configure.ac): ... to here.
17932         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17933         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17934
17935 2011-05-21  Bruno Haible  <bruno@clisp.org>
17936
17937         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17938         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17939         here...
17940         * modules/relocatable-prog (configure.ac): ... to here.
17941
17942 2011-05-21  Bruno Haible  <bruno@clisp.org>
17943
17944         regex: Move AC_LIBOBJ invocations to module description.
17945         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17946         invocations from here...
17947         * modules/regex (configure.ac): ... to here.
17948
17949 2011-05-21  Bruno Haible  <bruno@clisp.org>
17950
17951         realloc-*: Move AC_LIBOBJ invocations to module description.
17952         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17953         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17954         AC_LIBOBJ invocations from here...
17955         * modules/realloc-gnu (configure.ac): ... to here.
17956         * modules/realloc-posix (configure.ac): ... and here.
17957
17958 2011-05-21  Bruno Haible  <bruno@clisp.org>
17959
17960         readutmp: Move AC_LIBOBJ invocations to module description.
17961         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17962         * modules/readutmp (configure.ac): ... to here.
17963
17964 2011-05-21  Bruno Haible  <bruno@clisp.org>
17965
17966         readlinkat: Move AC_LIBOBJ invocations to module description.
17967         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17968         here...
17969         * modules/readlinkat (configure.ac): ... to here.
17970
17971 2011-05-21  Bruno Haible  <bruno@clisp.org>
17972
17973         readlink: Move AC_LIBOBJ invocations to module description.
17974         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17975         gl_PREREQ_READLINK invocations from here...
17976         * modules/readlink (configure.ac): ... to here.
17977
17978 2011-05-21  Bruno Haible  <bruno@clisp.org>
17979
17980         readline: Move AC_LIBOBJ invocations to module description.
17981         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17982         gl_PREREQ_READLINE invocations from here...
17983         * modules/readline (configure.ac): ... to here.
17984
17985 2011-05-21  Bruno Haible  <bruno@clisp.org>
17986
17987         read: Move AC_LIBOBJ invocations to module description.
17988         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17989         * modules/read (configure.ac): ... to here.
17990
17991 2011-05-21  Bruno Haible  <bruno@clisp.org>
17992
17993         rawmemchr: Move AC_LIBOBJ invocations to module description.
17994         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17995         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17996         from here...
17997         * modules/rawmemchr (configure.ac): ... to here.
17998
17999 2011-05-21  Bruno Haible  <bruno@clisp.org>
18000
18001         random_r: Move AC_LIBOBJ invocations to module description.
18002         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18003         gl_PREREQ_RANDOM_R invocations from here...
18004         * modules/random_r (configure.ac): ... to here.
18005
18006 2011-05-21  Bruno Haible  <bruno@clisp.org>
18007
18008         pwrite: Move AC_LIBOBJ invocations to module description.
18009         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18010         * modules/pwrite (configure.ac): ... to here.
18011
18012 2011-05-21  Bruno Haible  <bruno@clisp.org>
18013
18014         putenv: Move AC_LIBOBJ invocations to module description.
18015         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18016         * modules/putenv (configure.ac): ... to here.
18017
18018 2011-05-21  Bruno Haible  <bruno@clisp.org>
18019
18020         login_tty: Move AC_LIBOBJ invocations to module description.
18021         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18022         * modules/login_tty (configure.ac): ... to here.
18023
18024 2011-05-21  Bruno Haible  <bruno@clisp.org>
18025
18026         openpty: Move AC_LIBOBJ invocations to module description.
18027         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18028         * modules/openpty (configure.ac): ... to here.
18029
18030 2011-05-21  Bruno Haible  <bruno@clisp.org>
18031
18032         forkpty: Move AC_LIBOBJ invocations to module description.
18033         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18034         * modules/forkpty (configure.ac): ... to here.
18035
18036 2011-05-21  Bruno Haible  <bruno@clisp.org>
18037
18038         ptsname: Move AC_LIBOBJ invocations to module description.
18039         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18040         invocations from here...
18041         * modules/ptsname (configure.ac): ... to here.
18042
18043 2011-05-21  Bruno Haible  <bruno@clisp.org>
18044
18045         pread: Move AC_LIBOBJ invocations to module description.
18046         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18047         * modules/pread (configure.ac): ... to here.
18048
18049 2011-05-21  Bruno Haible  <bruno@clisp.org>
18050
18051         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18052         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18053         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18054         * modules/posix_spawn (configure.ac): ... to here.
18055         * modules/posix_spawnp (configure.ac): ... and here.
18056
18057 2011-05-21  Bruno Haible  <bruno@clisp.org>
18058
18059         popen: Move AC_LIBOBJ invocations to module description.
18060         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18061         invocations from here...
18062         * modules/popen (configure.ac): ... to here.
18063
18064 2011-05-21  Bruno Haible  <bruno@clisp.org>
18065
18066         poll: Move AC_LIBOBJ invocations to module description.
18067         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18068         invocations from here...
18069         * modules/poll (configure.ac): ... to here.
18070
18071 2011-05-21  Bruno Haible  <bruno@clisp.org>
18072
18073         pipe-posix: Move AC_LIBOBJ invocations to module description.
18074         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18075         * modules/pipe-posix (configure.ac): ... to here.
18076
18077 2011-05-21  Bruno Haible  <bruno@clisp.org>
18078
18079         openat: Respect rules for use of AC_LIBOBJ.
18080         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18081         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18082         * modules/openat (configure.ac): ... to here.
18083
18084 2011-05-21  Bruno Haible  <bruno@clisp.org>
18085
18086         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18087         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18088         invocation from here...
18089         * modules/obstack-printf (configure.ac): ... to here.
18090         * modules/obstack-printf-posix (configure.ac): ... and here.
18091
18092 2011-05-21  Bruno Haible  <bruno@clisp.org>
18093
18094         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18095         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18096         from here...
18097         * modules/nl_langinfo (configure.ac): ... to here.
18098
18099 2011-05-21  Bruno Haible  <bruno@clisp.org>
18100
18101         nanosleep: Move AC_LIBOBJ invocations to module description.
18102         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18103         gl_PREREQ_NANOSLEEP invocations from here...
18104         * modules/nanosleep (configure.ac): ... to here.
18105
18106 2011-05-21  Bruno Haible  <bruno@clisp.org>
18107
18108         mountlist: Move AC_LIBOBJ invocations to module description.
18109         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18110         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18111         * modules/mountlist (configure.ac): ... to here.
18112
18113 2011-05-21  Bruno Haible  <bruno@clisp.org>
18114
18115         mktime: Respect rules for use of AC_LIBOBJ.
18116         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18117         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18118         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18119         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18120         * modules/mktime (configure.ac): ... to here.
18121         * modules/mktime-internal (configure.ac): ... and here.
18122         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18123
18124 2011-05-21  Bruno Haible  <bruno@clisp.org>
18125
18126         mkstemps: Move AC_LIBOBJ invocations to module description.
18127         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18128         here...
18129         * modules/mkstemps (configure.ac): ... to here.
18130
18131 2011-05-21  Bruno Haible  <bruno@clisp.org>
18132
18133         mkstemp: Move AC_LIBOBJ invocations to module description.
18134         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18135         gl_PREREQ_MKSTEMP invocations from here...
18136         * modules/mkstemp (configure.ac): ... to here.
18137
18138 2011-05-21  Bruno Haible  <bruno@clisp.org>
18139
18140         mkostemps: Move AC_LIBOBJ invocations to module description.
18141         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18142         here...
18143         * modules/mkostemps (configure.ac): ... to here.
18144
18145 2011-05-21  Bruno Haible  <bruno@clisp.org>
18146
18147         mkostemp: Move AC_LIBOBJ invocations to module description.
18148         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18149         gl_PREREQ_MKOSTEMP invocations from here...
18150         * modules/mkostemp (configure.ac): ... to here.
18151
18152 2011-05-21  Bruno Haible  <bruno@clisp.org>
18153
18154         mknod: Move AC_LIBOBJ invocations to module description.
18155         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18156         * modules/mknod (configure.ac): ... to here.
18157
18158 2011-05-21  Bruno Haible  <bruno@clisp.org>
18159
18160         mkfifoat: Move AC_LIBOBJ invocations to module description.
18161         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18162         here...
18163         * modules/mkfifoat (configure.ac): ... to here.
18164
18165 2011-05-21  Bruno Haible  <bruno@clisp.org>
18166
18167         mkfifo: Respect rules for use of AC_LIBOBJ.
18168         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18169         here...
18170         * modules/mkfifo (configure.ac): ... to here.
18171
18172 2011-05-21  Bruno Haible  <bruno@clisp.org>
18173
18174         mkdtemp: Move AC_LIBOBJ invocations to module description.
18175         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18176         invocations from here...
18177         * modules/mkdtemp (configure.ac): ... to here.
18178
18179 2011-05-21  Bruno Haible  <bruno@clisp.org>
18180
18181         mkdir: Move AC_LIBOBJ invocations to module description.
18182         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18183         * modules/mkdir (configure.ac): ... to here.
18184
18185 2011-05-21  Bruno Haible  <bruno@clisp.org>
18186
18187         memset: Move AC_LIBOBJ invocations to module description.
18188         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18189         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18190         here...
18191         * modules/memset (configure.ac): ... to here.
18192
18193 2011-05-21  Bruno Haible  <bruno@clisp.org>
18194
18195         memrchr: Move AC_LIBOBJ invocations to module description.
18196         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18197         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18198         here...
18199         * modules/memrchr (configure.ac): ... to here.
18200
18201 2011-05-21  Bruno Haible  <bruno@clisp.org>
18202
18203         mempcpy: Move AC_LIBOBJ invocations to module description.
18204         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18205         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18206         here...
18207         * modules/mempcpy (configure.ac): ... to here.
18208
18209 2011-05-21  Bruno Haible  <bruno@clisp.org>
18210
18211         memmove: Move AC_LIBOBJ invocations to module description.
18212         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18213         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18214         here...
18215         * modules/memmove (configure.ac): ... to here.
18216
18217 2011-05-21  Bruno Haible  <bruno@clisp.org>
18218
18219         memmem*: Move AC_LIBOBJ invocations to module description.
18220         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18221         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18222         here...
18223         (gl_FUNC_MEMMEM): ... and here...
18224         * modules/memmem-simple (configure.ac): ... to here.
18225         * modules/memmem (configure.ac): ... and here.
18226
18227 2011-05-21  Bruno Haible  <bruno@clisp.org>
18228
18229         memcpy: Move AC_LIBOBJ invocations to module description.
18230         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18231         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18232         here...
18233         * modules/memcpy (configure.ac): ... to here.
18234
18235 2011-05-21  Bruno Haible  <bruno@clisp.org>
18236
18237         memcmp: Simplify autoconf macro.
18238         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18239         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18240         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18241
18242 2011-05-21  Bruno Haible  <bruno@clisp.org>
18243
18244         memcmp: Move AC_LIBOBJ invocations to module description.
18245         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18246         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18247         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18248         * modules/memcmp (configure.ac): ... to here.
18249         (Depends-on): Update conditions.
18250
18251 2011-05-21  Bruno Haible  <bruno@clisp.org>
18252
18253         memchr: Respect rules for use of AC_LIBOBJ.
18254         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18255         invocations from here...
18256         * modules/memchr (configure.ac): ... to here.
18257
18258 2011-05-21  Bruno Haible  <bruno@clisp.org>
18259
18260         mbtowc: Move AC_LIBOBJ invocations to module description.
18261         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18262         invocations from here...
18263         * modules/mbtowc (configure.ac): ... to here.
18264
18265 2011-05-21  Bruno Haible  <bruno@clisp.org>
18266
18267         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18268         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18269         gl_PREREQ_MBSRTOWCS invocations from here...
18270         * modules/mbsrtowcs (configure.ac): ... to here.
18271
18272 2011-05-21  Bruno Haible  <bruno@clisp.org>
18273
18274         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18275         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18276         gl_PREREQ_MBSNRTOWCS invocations from here...
18277         * modules/mbsnrtowcs (configure.ac): ... to here.
18278
18279 2011-05-21  Bruno Haible  <bruno@clisp.org>
18280
18281         mbsinit: Move AC_LIBOBJ invocations to module description.
18282         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18283         invocations from here...
18284         * modules/mbsinit (configure.ac): ... to here.
18285
18286 2011-05-21  Bruno Haible  <bruno@clisp.org>
18287
18288         mbrlen: Move AC_LIBOBJ invocations to module description.
18289         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18290         invocations from here...
18291         * modules/mbrlen (configure.ac): ... to here.
18292
18293 2011-05-21  Bruno Haible  <bruno@clisp.org>
18294
18295         mbrtowc: Respect rules for use of AC_LIBOBJ.
18296         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18297         invocations from here...
18298         * modules/mbrtowc (configure.ac): ... to here.
18299
18300 2011-05-21  Bruno Haible  <bruno@clisp.org>
18301
18302         malloc-*: Move AC_LIBOBJ invocations to module description.
18303         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18304         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18305         AC_LIBOBJ invocations from here...
18306         * modules/malloc-gnu (configure.ac): ... to here.
18307         * modules/malloc-posix (configure.ac): ... and here.
18308
18309 2011-05-21  Bruno Haible  <bruno@clisp.org>
18310
18311         lstat, openat: Respect rules for use of AC_LIBOBJ.
18312         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18313         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18314         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18315         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18316         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18317         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18318         here.
18319         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18320
18321 2011-05-21  Bruno Haible  <bruno@clisp.org>
18322
18323         lseek: Move AC_LIBOBJ invocations to module description.
18324         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18325         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18326         * modules/lseek (configure.ac): ... to here.
18327
18328 2011-05-21  Bruno Haible  <bruno@clisp.org>
18329
18330         linkat: Move AC_LIBOBJ invocations to module description.
18331         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18332         here...
18333         * modules/linkat (configure.ac): ... to here.
18334
18335 2011-05-21  Bruno Haible  <bruno@clisp.org>
18336
18337         link: Respect rules for use of AC_LIBOBJ.
18338         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18339         * modules/link (configure.ac): ... to here.
18340
18341 2011-05-21  Bruno Haible  <bruno@clisp.org>
18342
18343         lchown: Move AC_LIBOBJ invocations to module description.
18344         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18345         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18346         * modules/lchown (configure.ac): ... to here.
18347
18348 2011-05-21  Bruno Haible  <bruno@clisp.org>
18349
18350         iswctype: Move AC_LIBOBJ invocations to module description.
18351         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18352         here...
18353         * modules/iswctype (configure.ac): ... to here.
18354
18355 2011-05-21  Bruno Haible  <bruno@clisp.org>
18356
18357         iswblank: Move AC_LIBOBJ invocations to module description.
18358         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18359         here...
18360         * modules/iswblank (configure.ac): ... to here.
18361
18362 2011-05-21  Bruno Haible  <bruno@clisp.org>
18363
18364         atanl: Move AC_LIBOBJ invocations to module description.
18365         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18366         * modules/atanl (configure.ac): ... to here.
18367
18368 2011-05-21  Bruno Haible  <bruno@clisp.org>
18369
18370         acosl: Move AC_LIBOBJ invocations to module description.
18371         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18372         * modules/acosl (configure.ac): ... to here.
18373
18374 2011-05-21  Bruno Haible  <bruno@clisp.org>
18375
18376         asinl: Respect rules for use of AC_LIBOBJ.
18377         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18378         * modules/asinl (configure.ac): ... to here.
18379
18380 2011-05-21  Bruno Haible  <bruno@clisp.org>
18381
18382         tanl: Move AC_LIBOBJ invocations to module description.
18383         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18384         * modules/tanl (configure.ac): ... to here.
18385
18386 2011-05-21  Bruno Haible  <bruno@clisp.org>
18387
18388         cosl: Move AC_LIBOBJ invocations to module description.
18389         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18390         * modules/cosl (configure.ac): ... to here.
18391
18392 2011-05-21  Bruno Haible  <bruno@clisp.org>
18393
18394         sinl: Move AC_LIBOBJ invocations to module description.
18395         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18396         * modules/sinl (configure.ac): ... to here.
18397
18398 2011-05-21  Bruno Haible  <bruno@clisp.org>
18399
18400         logl: Move AC_LIBOBJ invocations to module description.
18401         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18402         * modules/logl (configure.ac): ... to here.
18403
18404 2011-05-21  Bruno Haible  <bruno@clisp.org>
18405
18406         expl: Move AC_LIBOBJ invocations to module description.
18407         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18408         * modules/expl (configure.ac): ... to here.
18409
18410 2011-05-21  Bruno Haible  <bruno@clisp.org>
18411
18412         roundl: Move AC_LIBOBJ invocations to module description.
18413         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18414         * modules/roundl (configure.ac): ... to here.
18415
18416 2011-05-21  Bruno Haible  <bruno@clisp.org>
18417
18418         round: Move AC_LIBOBJ invocations to module description.
18419         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18420         * modules/round (configure.ac): ... to here.
18421
18422 2011-05-21  Bruno Haible  <bruno@clisp.org>
18423
18424         roundf: Move AC_LIBOBJ invocations to module description.
18425         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18426         * modules/roundf (configure.ac): ... to here.
18427
18428 2011-05-21  Bruno Haible  <bruno@clisp.org>
18429
18430         truncl: Move AC_LIBOBJ invocations to module description.
18431         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18432         * modules/truncl (configure.ac): ... to here.
18433
18434 2011-05-21  Bruno Haible  <bruno@clisp.org>
18435
18436         trunc: Move AC_LIBOBJ invocations to module description.
18437         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18438         * modules/trunc (configure.ac): ... to here.
18439
18440 2011-05-21  Bruno Haible  <bruno@clisp.org>
18441
18442         truncf: Move AC_LIBOBJ invocations to module description.
18443         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18444         * modules/truncf (configure.ac): ... to here.
18445
18446 2011-05-21  Bruno Haible  <bruno@clisp.org>
18447
18448         ceill: Move AC_LIBOBJ invocations to module description.
18449         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18450         * modules/ceill (configure.ac): ... to here.
18451
18452 2011-05-21  Bruno Haible  <bruno@clisp.org>
18453
18454         ceil: Move AC_LIBOBJ invocations to module description.
18455         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18456         * modules/ceil (configure.ac): ... to here.
18457
18458 2011-05-21  Bruno Haible  <bruno@clisp.org>
18459
18460         ceilf: Move AC_LIBOBJ invocations to module description.
18461         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18462         * modules/ceilf (configure.ac): ... to here.
18463
18464 2011-05-21  Bruno Haible  <bruno@clisp.org>
18465
18466         floorl: Respect rules for use of AC_LIBOBJ.
18467         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18468         * modules/floorl (configure.ac): ... to here.
18469
18470 2011-05-21  Bruno Haible  <bruno@clisp.org>
18471
18472         floor: Respect rules for use of AC_LIBOBJ.
18473         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18474         * modules/floor (configure.ac): ... to here.
18475
18476 2011-05-21  Bruno Haible  <bruno@clisp.org>
18477
18478         floorf: Move AC_LIBOBJ invocations to module description.
18479         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18480         * modules/floorf (configure.ac): ... to here.
18481
18482 2011-05-20  Bruno Haible  <bruno@clisp.org>
18483
18484         sqrtl: Respect rules for use of AC_LIBOBJ.
18485         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18486         * modules/sqrtl (configure.ac): ... to here.
18487
18488 2011-05-20  Bruno Haible  <bruno@clisp.org>
18489
18490         ldexpl: Respect rules for use of AC_LIBOBJ.
18491         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18492         * modules/ldexpl (configure.ac): ... to here.
18493
18494 2011-05-20  Bruno Haible  <bruno@clisp.org>
18495
18496         frexpl*: Respect rules for use of AC_LIBOBJ.
18497         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18498         invocation from here...
18499         * modules/frexpl (configure.ac): ... to here.
18500         * modules/frexpl-nolibm (configure.ac): ... and here.
18501
18502 2011-05-20  Bruno Haible  <bruno@clisp.org>
18503
18504         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18505         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18506         invocation from here...
18507         * modules/frexp (configure.ac): ... to here.
18508         * modules/frexp-nolibm (configure.ac): ... and here.
18509
18510 2011-05-20  Bruno Haible  <bruno@clisp.org>
18511
18512         isnan: Respect rules for use of AC_LIBOBJ.
18513         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18514         invocations here.
18515         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18516         REPLACE_ISNAN.
18517         * modules/isnand (configure.ac): Likewise.
18518         * modules/isnanl (configure.ac): Likewise.
18519
18520 2011-05-20  Bruno Haible  <bruno@clisp.org>
18521
18522         isnanl*: Respect rules for use of AC_LIBOBJ.
18523         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18524         invocation from here...
18525         * modules/isnanl (configure.ac): ... to here.
18526         * modules/isnanl-nolibm (configure.ac): ... and here.
18527
18528 2011-05-20  Bruno Haible  <bruno@clisp.org>
18529
18530         isnand*: Move AC_LIBOBJ invocations to module description.
18531         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18532         invocation from here...
18533         * modules/isnand (configure.ac): ... to here.
18534         * modules/isnand-nolibm (configure.ac): ... and here.
18535
18536 2011-05-20  Bruno Haible  <bruno@clisp.org>
18537
18538         isnanf*: Move AC_LIBOBJ invocations to module description.
18539         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18540         invocation from here...
18541         * modules/isnanf (configure.ac): ... to here.
18542         * modules/isnanf-nolibm (configure.ac): ... and here.
18543
18544 2011-05-20  Bruno Haible  <bruno@clisp.org>
18545
18546         isnan*: Separate the AC_LIBOBJ invocations.
18547         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18548         AC_LIBOBJ invocation.
18549         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18550         here.
18551         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18552         AC_LIBOBJ invocation.
18553         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18554         here.
18555         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18556         AC_LIBOBJ invocation.
18557         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18558         here.
18559         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18560
18561 2011-05-08  Bruno Haible  <bruno@clisp.org>
18562
18563         isinf: Move AC_LIBOBJ invocations to module description.
18564         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18565         * modules/isinf (configure.ac): ... to here.
18566
18567 2011-05-08  Bruno Haible  <bruno@clisp.org>
18568
18569         isfinite: Move AC_LIBOBJ invocations to module description.
18570         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18571         * modules/isfinite (configure.ac): ... to here.
18572
18573 2011-05-08  Bruno Haible  <bruno@clisp.org>
18574
18575         isblank: Move AC_LIBOBJ invocations to module description.
18576         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18577         here...
18578         * modules/isblank (configure.ac): ... to here.
18579
18580 2011-05-08  Bruno Haible  <bruno@clisp.org>
18581
18582         isapipe: Move AC_LIBOBJ invocations to module description.
18583         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18584         gl_PREREQ_ISAPIPE invocations from here...
18585         * modules/isapipe (configure.ac): ... to here.
18586         (Depends-on): Update condition.
18587
18588 2011-05-08  Bruno Haible  <bruno@clisp.org>
18589
18590         ioctl: Move AC_LIBOBJ invocations to module description.
18591         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18592         invocations from here...
18593         * modules/ioctl (configure.ac): ... to here.
18594         (Depends-on): Update condition.
18595
18596 2011-05-08  Bruno Haible  <bruno@clisp.org>
18597
18598         imaxdiv: Move AC_LIBOBJ invocations to module description.
18599         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18600         invocations from here...
18601         * modules/imaxdiv (configure.ac): ... to here.
18602
18603 2011-05-08  Bruno Haible  <bruno@clisp.org>
18604
18605         imaxabs: Move AC_LIBOBJ invocations to module description.
18606         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18607         invocations from here...
18608         * modules/imaxabs (configure.ac): ... to here.
18609
18610 2011-05-08  Bruno Haible  <bruno@clisp.org>
18611
18612         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18613         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18614         AC_LIBOBJ invocations from here...
18615         * modules/getaddrinfo (configure.ac): ... to here.
18616         (Depends-on): Add conditions.
18617
18618 2011-05-08  Bruno Haible  <bruno@clisp.org>
18619
18620         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18621         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18622         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18623         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18624         (gl_PREREQ_INET_PTON): ... from here.
18625         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18626         gl_PREREQ_INET_PTON here.
18627         (Depends-on): Update condition.
18628
18629 2011-05-08  Bruno Haible  <bruno@clisp.org>
18630
18631         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18632         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18633         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18634         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18635         (gl_PREREQ_INET_NTOP): ... from here.
18636         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18637         gl_PREREQ_INET_NTOP here.
18638         (Depends-on): Update condition.
18639
18640 2011-05-08  Bruno Haible  <bruno@clisp.org>
18641
18642         iconv_open: Move AC_LIBOBJ invocations to module description.
18643         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18644         AC_LIBOBJ invocations from here...
18645         * modules/iconv_open (configure.ac): ... to here.
18646
18647 2011-05-08  Bruno Haible  <bruno@clisp.org>
18648
18649         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18650         If module 'iconv_open' is among the main modules and module
18651         'iconv_open-utf' is among the tests dependencies, then
18652         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18653         return the special iconv_t values. Therefore iconv() and iconv_close()
18654         must support these special iconv_t values, already in lib, not only in
18655         tests.
18656         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18657         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18658         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18659         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18660         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18661         (Depends-on): Add the dependencies of iconv_open-utf.
18662         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18663         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18664         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18665
18666 2011-05-08  Bruno Haible  <bruno@clisp.org>
18667
18668         group-member: Move AC_LIBOBJ invocations to module description.
18669         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18670         gl_PREREQ_GROUP_MEMBER invocations from here...
18671         * modules/group-member (configure.ac): ... to here.
18672
18673 2011-05-08  Bruno Haible  <bruno@clisp.org>
18674
18675         grantpt: Move AC_LIBOBJ invocations to module description.
18676         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18677         invocations from here...
18678         * modules/grantpt (configure.ac): ... to here.
18679
18680 2011-05-08  Bruno Haible  <bruno@clisp.org>
18681
18682         glob: Move AC_LIBOBJ invocations to module description.
18683         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18684         from here...
18685         * modules/glob (configure.ac): ... to here.
18686
18687 2011-05-08  Bruno Haible  <bruno@clisp.org>
18688
18689         getusershell: Move AC_LIBOBJ invocations to module description.
18690         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18691         Move AC_LIBOBJ invocation from here...
18692         * modules/getusershell (configure.ac): ... to here.
18693         (Depends-on): Update condition.
18694
18695 2011-05-08  Bruno Haible  <bruno@clisp.org>
18696
18697         gettimeofday: Move AC_LIBOBJ invocations to module description.
18698         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18699         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18700         gl_PREREQ_GETTIMEOFDAY invocations from here...
18701         * modules/gettimeofday (configure.ac): ... to here.
18702
18703 2011-05-08  Bruno Haible  <bruno@clisp.org>
18704
18705         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18706         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18707         just gl_FUNC_TZSET.
18708         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18709         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18710         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18711         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18712
18713 2011-05-08  Bruno Haible  <bruno@clisp.org>
18714
18715         getsubopt: Move AC_LIBOBJ invocations to module description.
18716         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18717         gl_PREREQ_GETSUBOPT invocations from here...
18718         * modules/getsubopt (configure.ac): ... to here.
18719
18720 2011-05-08  Bruno Haible  <bruno@clisp.org>
18721
18722         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18723         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18724         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18725         * modules/getpass-gnu (configure.ac): ... to here.
18726
18727 2011-05-08  Bruno Haible  <bruno@clisp.org>
18728
18729         getpass: Move AC_LIBOBJ invocations to module description.
18730         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18731         gl_PREREQ_GETPASS invocations from here...
18732         * modules/getpass (configure.ac): ... to here.
18733
18734 2011-05-08  Bruno Haible  <bruno@clisp.org>
18735
18736         getpagesize: Move AC_LIBOBJ invocations to module description.
18737         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18738         from here...
18739         * modules/getpagesize (configure.ac): ... to here.
18740
18741 2011-05-08  Bruno Haible  <bruno@clisp.org>
18742
18743         getopt: Move AC_LIBOBJ invocations to module description.
18744         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18745         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18746         invocations from here...
18747         * modules/getopt-gnu (configure.ac): ... to here.
18748         * modules/getopt-posix (configure.ac): ... and here.
18749         (Depends-on): Update condition.
18750
18751 2011-05-08  Bruno Haible  <bruno@clisp.org>
18752
18753         getopt, argp: Respect rules for use of AC_LIBOBJ.
18754         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18755         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18756         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18757         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18758
18759 2011-05-08  Bruno Haible  <bruno@clisp.org>
18760
18761         getlogin_r: Move AC_LIBOBJ invocations to module description.
18762         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18763         gl_PREREQ_GETLOGIN_R invocations from here...
18764         * modules/getlogin_r (configure.ac): ... to here.
18765
18766 2011-05-08  Bruno Haible  <bruno@clisp.org>
18767
18768         getlogin: Move AC_LIBOBJ invocations to module description.
18769         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18770         here...
18771         * modules/getlogin (configure.ac): ... to here.
18772
18773 2011-05-08  Bruno Haible  <bruno@clisp.org>
18774
18775         getloadavg: Move AC_LIBOBJ invocations to module description.
18776         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18777         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18778         * modules/getloadavg (configure.ac): ... to here.
18779
18780 2011-05-08  Bruno Haible  <bruno@clisp.org>
18781
18782         gethrxtime: Move AC_LIBOBJ invocations to module description.
18783         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18784         LIB_GETHRXTIME from here...
18785         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18786         invocations from here...
18787         * modules/gethrxtime (configure.ac): ... to here.
18788
18789 2011-05-08  Bruno Haible  <bruno@clisp.org>
18790
18791         gethostname: Move AC_LIBOBJ invocations to module description.
18792         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18793         gl_PREREQ_GETHOSTNAME invocations from here...
18794         * modules/gethostname (configure.ac): ... to here.
18795
18796 2011-05-08  Bruno Haible  <bruno@clisp.org>
18797
18798         getgroups: Move AC_LIBOBJ invocations to module description.
18799         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18800         here...
18801         * modules/getgroups (configure.ac): ... to here.
18802
18803 2011-05-08  Bruno Haible  <bruno@clisp.org>
18804
18805         getdtablesize: Move AC_LIBOBJ invocations to module description.
18806         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18807         invocation from here...
18808         * modules/getdtablesize (configure.ac): ... to here.
18809
18810 2011-05-08  Bruno Haible  <bruno@clisp.org>
18811
18812         getdomainname: Move AC_LIBOBJ invocations to module description.
18813         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18814         gl_PREREQ_GETDOMAINNAME invocations from here...
18815         * modules/getdomainname (configure.ac): ... to here.
18816
18817 2011-05-08  Bruno Haible  <bruno@clisp.org>
18818
18819         getline: Move AC_LIBOBJ invocations to module description.
18820         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18821         invocations from here...
18822         * modules/getline (configure.ac): ... to here.
18823
18824 2011-05-08  Bruno Haible  <bruno@clisp.org>
18825
18826         getline: Simplify.
18827         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18828         It's already handled through the module dependency.
18829
18830 2011-05-08  Bruno Haible  <bruno@clisp.org>
18831
18832         getdelim: Move AC_LIBOBJ invocations to module description.
18833         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18834         and gl_PREREQ_GETDELIM invocations from here...
18835         * modules/getdelim (configure.ac): ... to here.
18836         (Depends-on): Fix condition.
18837
18838 2011-05-08  Bruno Haible  <bruno@clisp.org>
18839
18840         getcwd: Move AC_LIBOBJ invocations to module description.
18841         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18842         invocations from here...
18843         * modules/getcwd (configure.ac): ... to here.
18844
18845 2011-05-08  Bruno Haible  <bruno@clisp.org>
18846
18847         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18848         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18849         here...
18850         * modules/getcwd-lgpl (configure.ac): ... to here.
18851
18852 2011-05-07  Bruno Haible  <bruno@clisp.org>
18853
18854         crypto/gc: Move AC_LIBOBJ invocations to module description.
18855         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18856         * modules/crypto/gc (configure.ac): ... to here.
18857
18858 2011-05-07  Bruno Haible  <bruno@clisp.org>
18859
18860         fwriting: Move AC_LIBOBJ invocations to module description.
18861         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18862         here...
18863         * modules/fwriting (configure.ac): ... to here.
18864
18865 2011-05-07  Bruno Haible  <bruno@clisp.org>
18866
18867         fwritable: Move AC_LIBOBJ invocations to module description.
18868         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18869         here...
18870         * modules/fwritable (configure.ac): ... to here.
18871
18872 2011-05-07  Bruno Haible  <bruno@clisp.org>
18873
18874         futimens: Move AC_LIBOBJ invocations to module description.
18875         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18876         here...
18877         * modules/futimens (configure.ac): ... to here.
18878
18879 2011-05-07  Bruno Haible  <bruno@clisp.org>
18880
18881         ftruncate: Move AC_LIBOBJ invocations to module description.
18882         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18883         gl_PREREQ_FTRUNCATE invocations from here...
18884         * modules/ftruncate (configure.ac): ... to here.
18885
18886 2011-05-07  Bruno Haible  <bruno@clisp.org>
18887
18888         fsync: Move AC_LIBOBJ invocations to module description.
18889         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18890         invocations from here...
18891         * modules/fsync (configure.ac): ... to here.
18892
18893 2011-05-07  Bruno Haible  <bruno@clisp.org>
18894
18895         fsusage: Move AC_LIBOBJ invocations to module description.
18896         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18897         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18898         * modules/fsusage (configure.ac): ... to here.
18899
18900 2011-05-07  Bruno Haible  <bruno@clisp.org>
18901
18902         freopen: Move AC_LIBOBJ invocations to module description.
18903         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18904         invocations from here...
18905         * modules/freopen (configure.ac): ... to here.
18906
18907 2011-05-07  Bruno Haible  <bruno@clisp.org>
18908
18909         free: Move AC_LIBOBJ invocations to module description.
18910         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18911         invocations from here...
18912         * modules/free (configure.ac): ... to here.
18913
18914 2011-05-07  Bruno Haible  <bruno@clisp.org>
18915
18916         freadable: Move AC_LIBOBJ invocations to module description.
18917         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18918         here...
18919         * modules/freadable (configure.ac): ... to here.
18920
18921 2011-05-07  Bruno Haible  <bruno@clisp.org>
18922
18923         fpurge: Move AC_LIBOBJ invocations to module description.
18924         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18925         invocations from here...
18926         * modules/fpurge (configure.ac): ... to here.
18927
18928 2011-05-07  Bruno Haible  <bruno@clisp.org>
18929
18930         fpending: Move AC_LIBOBJ invocations to module description.
18931         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18932         gl_FUNC_FPENDING.
18933         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18934         invocations from here...
18935         * modules/fpending (configure.ac): ... to here.
18936
18937 2011-05-07  Bruno Haible  <bruno@clisp.org>
18938
18939         fopen: Move AC_LIBOBJ invocations to module description.
18940         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18941         invocations from here...
18942         * modules/fopen (configure.ac): ... to here.
18943
18944 2011-05-07  Bruno Haible  <bruno@clisp.org>
18945
18946         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18947         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18948         gl_FUNC_FNMATCH_POSIX.
18949         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18950         invocations from here...
18951         * modules/fnmatch (configure.ac): ... to here.
18952         * modules/fnmatch-gnu (configure.ac): ... and here.
18953
18954 2011-05-07  Bruno Haible  <bruno@clisp.org>
18955
18956         flock: Move AC_LIBOBJ invocations to module description.
18957         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18958         invocations from here...
18959         * modules/flock (configure.ac): ... to here.
18960
18961 2011-05-07  Bruno Haible  <bruno@clisp.org>
18962
18963         fileblocks: Move AC_LIBOBJ invocations to module description.
18964         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18965         gl_PREREQ_FILEBLOCKS invocations from here...
18966         * modules/fileblocks (configure.ac): ... to here.
18967
18968 2011-05-06  Bruno Haible  <bruno@clisp.org>
18969
18970         fflush: Move AC_LIBOBJ invocations to module description.
18971         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18972         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18973         invocations from here...
18974         * modules/fflush (configure.ac): ... to here.
18975
18976 2011-05-06  Bruno Haible  <bruno@clisp.org>
18977
18978         fdopendir: Move AC_LIBOBJ invocations to module description.
18979         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18980         here...
18981         * modules/fdopendir (configure.ac): ... to here.
18982         (Depends-on): Improve conditions.
18983
18984 2011-05-06  Bruno Haible  <bruno@clisp.org>
18985
18986         _Exit: Move AC_LIBOBJ invocations to module description.
18987         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18988         invocations from here...
18989         * modules/_Exit (configure.ac): ... to here.
18990
18991 2011-05-21  Bruno Haible  <bruno@clisp.org>
18992
18993         euidaccess: Respect rules for use of AC_LIBOBJ.
18994         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18995         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18996         from here...
18997         * modules/euidaccess (configure.ac): ... to here.
18998
18999 2011-05-06  Bruno Haible  <bruno@clisp.org>
19000
19001         error: Move AC_LIBOBJ invocations to module description.
19002         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19003         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19004         invocations from here...
19005         * modules/error (configure.ac): ... to here.
19006
19007 2011-05-06  Bruno Haible  <bruno@clisp.org>
19008
19009         duplocale: Move AC_LIBOBJ invocations to module description.
19010         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19011         gl_PREREQ_DUPLOCALE invocations from here...
19012         * modules/duplocale (configure.ac): ... to here.
19013
19014 2011-05-05  Bruno Haible  <bruno@clisp.org>
19015
19016         dirfd: Move AC_LIBOBJ invocations to module description.
19017         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19018         gl_FUNC_DIRFD.
19019         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19020         here...
19021         * modules/dirfd (configure.ac): ... to here.
19022         (Depends-on): Fix condition.
19023
19024 2011-05-05  Bruno Haible  <bruno@clisp.org>
19025
19026         chown: Respect rules for use of AC_LIBOBJ.
19027         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19028         * modules/chown (configure.ac): ... to here.
19029
19030 2011-05-05  Bruno Haible  <bruno@clisp.org>
19031
19032         chdir-long: Move AC_LIBOBJ invocations to module description.
19033         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19034         gl_PREREQ_CHDIR_LONG invocations from here...
19035         * modules/chdir-long (configure.ac): ... to here.
19036
19037 2011-05-05  Bruno Haible  <bruno@clisp.org>
19038
19039         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19040         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19041         from here...
19042         * modules/canonicalize-lgpl (configure.ac): ... to here.
19043
19044 2011-05-05  Bruno Haible  <bruno@clisp.org>
19045
19046         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19047         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19048         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19049         REPLACE_CALLOC.
19050         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19051         * modules/calloc-gnu (configure.ac): Likewise.
19052
19053 2011-05-05  Bruno Haible  <bruno@clisp.org>
19054
19055         btowc: Move AC_LIBOBJ invocations to module description.
19056         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19057         invocations from here...
19058         * modules/btowc (configure.ac): ... to here.
19059
19060 2011-05-21  Bruno Haible  <bruno@clisp.org>
19061
19062         atexit: Move AC_LIBOBJ invocations to module description.
19063         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19064         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19065         here...
19066         * modules/atexit (configure.ac): ... to here.
19067
19068 2011-05-05  Bruno Haible  <bruno@clisp.org>
19069
19070         atoll: Move AC_LIBOBJ invocations to module description.
19071         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19072         invocations from here...
19073         * modules/atoll (configure.ac): ... to here.
19074
19075 2011-05-05  Bruno Haible  <bruno@clisp.org>
19076
19077         argz: Move AC_LIBOBJ invocations to module description.
19078         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19079         * modules/argz (configure.ac): ... to here.
19080
19081 2011-05-05  Bruno Haible  <bruno@clisp.org>
19082
19083         alphasort: Move AC_LIBOBJ invocations to module description.
19084         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19085         gl_PREREQ_ALPHASORT invocations from here...
19086         * modules/alphasort (configure.ac): ... to here.
19087
19088 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19089
19090         verify: new macro verify_expr; verify_true deprecated
19091         * NEWS: Mention this.
19092         * doc/verify.texi (Compile-time Assertions): Document this.
19093         * lib/verify.h (verify_true): Deprecate.
19094         (verify_expr): New macro.
19095         * tests/test-verify.c (function): Test verify_expr.
19096
19097 2011-06-14  Jim Meyering  <meyering@redhat.com>
19098
19099         init.sh: give more portable redirection-related advice in a comment
19100         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19101         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19102         for lots of discussion.  Stefano Lattarini suggested the solution
19103         of putting "9>&2" after the command.  Reported by Bruno Haible.
19104
19105 2011-06-13  Bruno Haible  <bruno@clisp.org>
19106
19107         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19108         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19109         'none'.
19110
19111 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19112
19113         ftoastr: use strtof only if HAVE_STRTOF
19114         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19116         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19117         * modules/ftoastr (configure.ac): Check for strtof.
19118
19119 2011-06-13  Bruno Haible  <bruno@clisp.org>
19120
19121         gnulib-tool: Addendum to 2011-06-08 commit.
19122         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19123         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19124
19125 2011-06-13  Bruno Haible  <bruno@clisp.org>
19126
19127         fseeko: Provide a non-inline replacement of fseek().
19128         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19129         * modules/fseeko (Depends-on): Add fseek.
19130         * modules/fseek (License): Change to LGPLv2+.
19131
19132 2011-06-13  Bruno Haible  <bruno@clisp.org>
19133
19134         ftello: Provide a non-inline replacement of ftell().
19135         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19136         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19137         not have ftello() (such as on mingw).
19138         * modules/ftello (Depends-on): Add ftell.
19139         * modules/ftell (License): Change to LGPLv2+.
19140
19141 2011-05-07  Bruno Haible  <bruno@clisp.org>
19142
19143         ftell: Move AC_LIBOBJ invocations to module description.
19144         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19145         * modules/ftell (configure.ac): ... to here.
19146
19147 2011-05-07  Bruno Haible  <bruno@clisp.org>
19148
19149         ftello: Respect rules for use of AC_LIBOBJ.
19150         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19151         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19152         here...
19153         * modules/ftello (configure.ac): ... to here.
19154
19155 2011-05-07  Bruno Haible  <bruno@clisp.org>
19156
19157         fseeko: Simplify.
19158         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19159         (gl_FUNC_FSEEKO): Inline it here.
19160
19161 2011-05-07  Bruno Haible  <bruno@clisp.org>
19162
19163         fseek: Move AC_LIBOBJ invocations to module description.
19164         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19165         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19166         * modules/fseek (configure.ac): ... to here.
19167
19168 2011-05-07  Bruno Haible  <bruno@clisp.org>
19169
19170         fseek: Respect rules for use of AC_LIBOBJ.
19171         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19172         here...
19173         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19174
19175 2011-05-07  Bruno Haible  <bruno@clisp.org>
19176
19177         fseeko: Respect rules for use of AC_LIBOBJ.
19178         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19179         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19180         here...
19181         * modules/fseeko (configure.ac): ... to here.
19182
19183 2011-06-13  Bruno Haible  <bruno@clisp.org>
19184
19185         gnulib-tool: Allow comments in the 'Depends-on' section.
19186         * doc/gnulib.texi (Module description): Mention comment syntax in the
19187         Depends-on section.
19188         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19189
19190 2011-06-13  Bruno Haible  <bruno@clisp.org>
19191
19192         file-set.h: guard __attibute__ use, now that it's not always defined
19193         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19194         versions that support it.  This fixes a coreutils build failure with
19195         the vendor cc on HP-UX 11.31.
19196
19197 2011-06-12  Bruno Haible  <bruno@clisp.org>
19198
19199         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19200         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19201         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19202         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19203         (acl, aclsort): New declarations.
19204         (aclv_nontrivial): New declaration.
19205         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19206         (file_has_acl): Read also the second kind of HP-UX ACLs.
19207         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19208         kind of HP-UX ACLs if the first kind fails.
19209         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19210         second kind of HP-UX ACLs.
19211         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19212         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19213         agree.
19214         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19215         hpuxjfs.
19216         Handle hpuxjfs.
19217         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19218         hpuxjfs.
19219         Handle hpuxjfs.
19220         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19221         (func_test_same_acls): Use both lsacl and getacl.
19222         Handle hpuxjfs.
19223         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19224         (func_test_same_acls): Use both lsacl and getacl.
19225         Handle hpuxjfs.
19226
19227 2011-06-12  Bruno Haible  <bruno@clisp.org>
19228
19229         acl: Complete the 2010-08-10 fix.
19230         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19231         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19232         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19233         explicitly.
19234         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19235         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19236
19237 2011-06-12  Bruno Haible  <bruno@clisp.org>
19238
19239         spawn-pipe tests: Comments.
19240         * tests/test-spawn-pipe-child.c (main): Update comment.
19241         Reported by James Youngman <jay@gnu.org>.
19242
19243 2011-06-11  James Youngman  <jay@gnu.org>
19244
19245         New module 'stat-size'.
19246         * modules/stat-size: New module.  Provides macros for accessing
19247         file size information in instances of struct stat.  Depends on the
19248         fileblocks module because it calls st_blocks.
19249         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19250         * doc/gnulib.texi: Include stat-size.texi.
19251         * doc/stat-size.texi: Documentation for this module.
19252         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19253         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19254         AC_STRUCT_ST_BLOCKS.
19255
19256 2011-06-09  Bruno Haible  <bruno@clisp.org>
19257
19258         thread: Support pthreads-win32.
19259         * lib/glthread/thread.h (gl_thread_self): Define differently on
19260         pthreads-win32.
19261         (gl_null_thread): New declaration.
19262         (gl_thread_self_pointer): New macro.
19263         * lib/glthread/thread.c (gl_null_thread): New constant.
19264         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19265         gl_thread_self.
19266         * tests/test-tls.c: Likewise.
19267         Suggested by Paul Eggert. Reported by Eric Blake.
19268
19269 2011-06-09  Bruno Haible  <bruno@clisp.org>
19270
19271         thread: Fix confusion between NULL and 0.
19272         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19273         Reported by Paul Eggert.
19274
19275 2011-06-09  Bruno Haible  <bruno@clisp.org>
19276
19277         spawn-pipe tests: Avoid test failure on HP-UX 11.
19278         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19279         is closed.
19280
19281 2011-06-09  Bruno Haible  <bruno@clisp.org>
19282
19283         acl tests: Fix compilation error on HP-UX 11.
19284         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19285
19286 2011-06-09  Bruno Haible  <bruno@clisp.org>
19287
19288         rmdir: Avoid test failure on HP-UX 10.20.
19289         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19290         EEXIST.
19291
19292 2011-06-08  Eric Blake  <eblake@redhat.com>
19293
19294         perror: fix test on mingw
19295         * modules/perror-tests (Depends-on): Add dup2.
19296
19297         strerror_r-posix: fix on MacOS
19298         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19299         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19300         logic bug.
19301         * lib/strerror_r.c (strerror_r): Fix the bug.
19302         * lib/strerror.c (strerror): Likewise.
19303         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19304         problem.
19305         * doc/posix-functions/strerror.texi (strerror): Likewise.
19306         * doc/posix-functions/perror.texi (perror): Likewise.
19307         * tests/test-strerror.c (main): Enhance test.
19308         * tests/test-strerror_r.c (main): Likewise.
19309
19310 2011-06-08  Bruno Haible  <bruno@clisp.org>
19311
19312         gnulib-tool: Better isolation between different gnulib-tool invocations.
19313         * gnulib-tool: New option --witness-c-macro.
19314         (witness_c_macro): New variable.
19315         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19316         AM_CPPFLAGS define it as a C macro.
19317         (func_emit_tests_Makefile_am): Likewise.
19318         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19319         read it from there.
19320         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19321         m4_define, not AC_DEFUN.
19322         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19323         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19324         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19325         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19326         s|...|...|, to substitute the values of the GNULIB_* module indicator
19327         variables.
19328         * modules/dirent (Makefile.am): Likewise.
19329         * modules/fcntl-h (Makefile.am): Likewise.
19330         * modules/iconv-h (Makefile.am): Likewise.
19331         * modules/langinfo (Makefile.am): Likewise.
19332         * modules/locale (Makefile.am): Likewise.
19333         * modules/math (Makefile.am): Likewise.
19334         * modules/netdb (Makefile.am): Likewise.
19335         * modules/poll-h (Makefile.am): Likewise.
19336         * modules/pty (Makefile.am): Likewise.
19337         * modules/search (Makefile.am): Likewise.
19338         * modules/signal (Makefile.am): Likewise.
19339         * modules/spawn (Makefile.am): Likewise.
19340         * modules/stdio (Makefile.am): Likewise.
19341         * modules/stdlib (Makefile.am): Likewise.
19342         * modules/string (Makefile.am): Likewise.
19343         * modules/sys_ioctl (Makefile.am): Likewise.
19344         * modules/sys_select (Makefile.am): Likewise.
19345         * modules/sys_socket (Makefile.am): Likewise.
19346         * modules/sys_stat (Makefile.am): Likewise.
19347         * modules/sys_times (Makefile.am): Likewise.
19348         * modules/sys_utsname (Makefile.am): Likewise.
19349         * modules/sys_wait (Makefile.am): Likewise.
19350         * modules/termios (Makefile.am): Likewise.
19351         * modules/time (Makefile.am): Likewise.
19352         * modules/unistd (Makefile.am): Likewise.
19353         * modules/wchar (Makefile.am): Likewise.
19354
19355 2011-06-08  Eric Blake  <eblake@redhat.com>
19356
19357         strerror: simplify replacement
19358         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19359         * modules/strerror (configure.ac): No prereqs needed here...
19360         * modules/strerror-override (configure.ac): ...but this needs it.
19361         (Files): Add file for needed prereq macro.
19362
19363 2011-06-08  Bruno Haible  <bruno@clisp.org>
19364
19365         strerror_r-posix: Tweaks.
19366         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19367         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19368         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19369         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19370         (gl_FUNC_STRERROR_R): ... to here.
19371         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19372
19373 2011-06-07  Eric Blake  <eblake@redhat.com>
19374
19375         perror: document fixed bugs
19376         * doc/posix-functions/perror.texi (perror): Document recent
19377         patches.
19378
19379 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19380
19381         stat-time: get_stat_birthtime failure is better-defined
19382         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19383         return a timestamp whose tv_sec and tv_nsec values are both -1.
19384         Previously, the spec said only that the tv_nsec value was negative.
19385         This upward-compatible change simplifies GNU tar a bit.
19386
19387 2011-06-07  Eric Blake  <eblake@redhat.com>
19388
19389         strerror_r-posix: work around cygwin 1.7.9
19390         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19391         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19392         bug without replacing strerror_r.
19393         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19394         strerror_r is buggy, but without requiring strerror_r compilation.
19395         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19396
19397         test-perror: relax test to ignore cygwin bug
19398         * tests/test-perror2.c (main): Relax test on requiring detection
19399         of stream errors, and use unbuffered stream.
19400         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19401         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19402         * doc/posix-functions/fputc.texi (fputc): Likewise.
19403         * doc/posix-functions/fputs.texi (fputs): Likewise.
19404         * doc/posix-functions/fputws.texi (fputws): Likewise.
19405         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19406         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19407         * doc/posix-functions/getopt.texi (getopt): Likewise.
19408         * doc/posix-functions/perror.texi (perror): Likewise.
19409         * doc/posix-functions/printf.texi (printf): Likewise.
19410         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19411         * doc/posix-functions/psignal.texi (psignal): Likewise.
19412         * doc/posix-functions/putc.texi (putc): Likewise.
19413         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19414         Likewise.
19415         * doc/posix-functions/putchar.texi (putchar): Likewise.
19416         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19417         Likewise.
19418         * doc/posix-functions/puts.texi (puts): Likewise.
19419         * doc/posix-functions/putwc.texi (putwc): Likewise.
19420         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19421         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19422         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19423         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19424         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19425         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19426         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19427         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19428
19429 2011-05-22  Bruno Haible  <bruno@clisp.org>
19430
19431         strerror: Move AC_LIBOBJ invocations to module description.
19432         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19433         gl_PREREQ_STRERROR invocations from here...
19434         * modules/strerror (configure.ac): ... to here.
19435
19436 2011-05-21  Bruno Haible  <bruno@clisp.org>
19437
19438         perror: Use common idiom.
19439         * modules/perror (configure.ac): Reorder statements.
19440
19441 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19442
19443         tests: fix usage message in 'mktempd_'
19444         * tests/init.sh (mktempd_): In the usage message, use literal
19445         'mktempd_', not '$ME' (which is even undefined), as the name of
19446         the subroutine.
19447
19448 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19449
19450         tests init: new function 'fatal_', for hard errors
19451         Before this patch, the only way offered by tests/init.sh to
19452         properly signal a hard error was the `framework_failure_'
19453         function.  But the error message issued by that function,
19454         as its name would suggest, refers to a set-up failure in the
19455         testsuite, while hard errors can obviously also be due to
19456         other reasons.  The best way to fix this inconsistency is to
19457         introduce a new function with a more general error message.
19458         * tests/init.sh (fatal_): New function.
19459
19460 2011-06-06  Eric Blake  <eblake@redhat.com>
19461
19462         canonicalize-lgpl: use common idiom
19463         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19464         over newer POSIX -Rf.
19465         Reported by Bruno Haible.
19466
19467         canonicalize-lgpl: work around AIX realpath bug
19468         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19469         * doc/posix-functions/realpath.texi (realpath): Document it.
19470         Reported by Bruno Haible.
19471
19472         strerror: work around FreeBSD bug
19473         * lib/strerror.c (strerror): Special case 0.
19474         Reported by Bruno Haible.
19475
19476         strerror-override: avoid bloating errno module
19477         * modules/errno (Files, configure.ac): Move replacement strings...
19478         * modules/strerror-override: ...to new module.
19479         * modules/strerror (Depends-on): Add strerror-override.
19480         * modules/strerror_r-posix (Depends-on): Likewise.
19481         * MODULES.html.sh: Document new module.
19482         Reported by Bruno Haible.
19483
19484 2011-06-06  Bruno Haible  <bruno@clisp.org>
19485
19486         spawn-pipe tests: Rename program.
19487         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19488         * tests/test-spawn-pipe-child.c: Update comment.
19489         * tests/test-spawn-pipe.sh: Update.
19490         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19491
19492         spawn-pipe tests: Link the child program only against libc.
19493         * tests/test-spawn-pipe-child.c: New file, extracted from
19494         tests/test-spawn-pipe.c.
19495         (main): Expect only one argument.
19496         (is_open): New function, copied from tests/test-pipe.c.
19497         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19498         (child_main): Remove function.
19499         (test_pipe): Pass only one argument to the child program.
19500         (main): Remove child process code. Expect the child program's name as
19501         first argument.
19502         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19503         argument.
19504         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19505         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19506         test-spawn-pipe-child against no libraries.
19507
19508 2011-06-06  Bruno Haible  <bruno@clisp.org>
19509
19510         careadlinkat: Avoid mismatch between ssize_t and int.
19511         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19512         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19513
19514 2011-06-06  Jim Meyering  <meyering@redhat.com>
19515
19516         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19517         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19518         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19519
19520 2011-06-05  Bruno Haible  <bruno@clisp.org>
19521
19522         ansi-c++-opt: Interoperability with libtool.
19523         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19524         set the variable to "no", not to ":".
19525         * NEWS: Mention the change.
19526
19527 2011-06-05  Bruno Haible  <bruno@clisp.org>
19528
19529         acl: Fix test failure on AIX 7.
19530         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19531         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19532
19533 2011-06-05  Bruno Haible  <bruno@clisp.org>
19534
19535         pipe-filter-ii: Fix test failure on AIX and IRIX.
19536         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19537         with EAGAIN, retry with a smaller buffer size.
19538
19539 2011-06-05  Bruno Haible  <bruno@clisp.org>
19540
19541         localename: Fix link dependencies.
19542         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19543         * modules/localename-tests (Makefile.am): Link test-localename with
19544         $(LIBTHREAD).
19545
19546 2011-06-05  Bruno Haible  <bruno@clisp.org>
19547
19548         error: Avoid gcc warning.
19549         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19550
19551 2011-06-05  Bruno Haible  <bruno@clisp.org>
19552
19553         unsetenv: Avoid gcc warning.
19554         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19555
19556 2011-06-05  Bruno Haible  <bruno@clisp.org>
19557
19558         setenv: Avoid gcc warning.
19559         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19560
19561 2011-06-05  Bruno Haible  <bruno@clisp.org>
19562
19563         sys_select: Ensure memset is declared also on AIX 7.
19564         * lib/sys_select.in.h: Include <string.h> also on AIX.
19565         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19566         self-contained also on AIX 7.1.
19567
19568 2011-06-04  Jim Meyering  <meyering@redhat.com>
19569
19570         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19571         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19572         function name, "error".
19573         (_gl_translatable_diag_func_re): New configurable variable.
19574
19575 2011-06-04  Bruno Haible  <bruno@clisp.org>
19576
19577         getopt: Avoid gcc warning.
19578         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19579
19580 2011-06-04  Bruno Haible  <bruno@clisp.org>
19581
19582         strerror_r: Fix comments.
19583         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19584         commit.
19585
19586 2011-06-04  Bruno Haible  <bruno@clisp.org>
19587
19588         perror: Fix compilation error.
19589         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19590         Undefine fprintf, not sprintf.
19591         * modules/perror (Depends-on): Remove intprops, verify.
19592
19593 2011-06-04  Bruno Haible  <bruno@clisp.org>
19594
19595         setlocale: Enable replacement on Cygwin 1.5.
19596         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19597         Cygwin 1.5.x.
19598         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19599         LC_CTYPE category also exists on Cygwin 1.5.x.
19600
19601 2011-06-04  Bruno Haible  <bruno@clisp.org>
19602
19603         strerror-override: Don't disable symbol renamings.
19604         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19605         * lib/strerror-override.c: Include config.h.
19606         (strerror_override): Don't undefine.
19607
19608 2011-06-03  Bruno Haible  <bruno@clisp.org>
19609
19610         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19611         * lib/localename.h: Update copyright header.
19612         * lib/localename.c: Likewise.
19613         * lib/relocatable.h: Likewise.
19614         * lib/relocatable.c: Likewise.
19615
19616 2011-06-02  Bruno Haible  <bruno@clisp.org>
19617
19618         doc: Fix a module name.
19619         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19620
19621 2011-06-02  Bruno Haible  <bruno@clisp.org>
19622
19623         pipe2: Remove dependency on 'nonblocking' module.
19624         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19625         O_NONBLOCK is defined by gnulib.
19626         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19627         is zero.
19628         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19629         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19630         defined by gnulib.
19631         (get_nonblocking_flag): New function.
19632         (main): Test O_NONBLOCK flag only if it is nonzero.
19633         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19634
19635 2011-06-03  Jim Meyering  <meyering@redhat.com>
19636
19637         maint: three new prohibit-header-without-use rules
19638         Prohibit use of cloexec.h, posixver.h, same.h without use.
19639         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19640         (sc_prohibit_posixver_without_use): Likewise.
19641         (sc_prohibit_same_without_use): Likewise.
19642
19643 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19644
19645         allocator: 'die' routine is now given requested size
19646         * lib/allocator.h (struct allocator.die): New size arg.
19647         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19648         If the actual problem is an ssize_t limitation, not a size_t or
19649         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19650
19651 2011-06-01  Eric Blake  <eblake@redhat.com>
19652
19653         strerror: drop strerror_r dependency
19654         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19655         * lib/strerror-override.c (strerror_override): ...to new file.
19656         * lib/strerror-override.h: Add prototype.
19657         * lib/strerror-impl.h: Delete.
19658         * lib/strerror.c (strerror): New implementation.
19659         * modules/errno (Files): Add new files.
19660         (configure.ac): Compile new file as appropriate.
19661         * modules/strerror (Files): Drop unused file.
19662         (Depends-on): Drop strerror_r-posix.
19663         * MODULES.html.sh: Document strerror_r-posix.
19664         Requested by Sam Steingold.
19665
19666         perror: call strerror_r directly
19667         * modules/perror (Files): Drop strerror-impl.h.
19668         * lib/perror.c (perror): Use our own stack buffer, rather than
19669         calling a wrapper that uses static storage.
19670         * doc/posix-functions/perror.texi (perror): Document a limitation
19671         of our replacement.
19672
19673         strerror_r: fix includes for FreeBSD
19674         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19675         since we use abort on some platforms.
19676         Reported by Matthias Bolte.
19677
19678 2011-05-31  Bruno Haible  <bruno@clisp.org>
19679
19680         Fix link errors in tests: openat-die uses gettext-h.
19681         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19682         against $(LIBINTL).
19683         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19684         against $(LIBINTL).
19685         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19686         $(LIBINTL).
19687         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19688         against $(LIBINTL).
19689         * modules/linkat-tests (Makefile.am): Link test-linkat against
19690         $(LIBINTL).
19691         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19692         $(LIBINTL).
19693         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19694         against $(LIBINTL).
19695         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19696         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19697         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19698         $(LIBINTL).
19699         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19700         $(LIBINTL).
19701         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19702         $(LIBINTL).
19703         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19704
19705 2011-05-31  Bruno Haible  <bruno@clisp.org>
19706
19707         Fix link errors in tests: wait-process uses gettext-h.
19708         * modules/nonblocking-pipe-tests (Makefile.am): Set
19709         test_nonblocking_pipe_main_LDADD.
19710         * modules/nonblocking-socket-tests (Makefile.am): Link
19711         test-nonblocking-socket-main against $(LIBINTL).
19712         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19713
19714 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19715
19716         assert-h: work around 'verify' incompatibility
19717         * lib/verify.h: Use @...@ directives, not ifdef.
19718         * modules/assert-h (assert.h): Implement the directives.
19719         (assert.h): Substitute the symbol-prefix more consistently.
19720
19721 2011-05-29  Jim Meyering  <meyering@redhat.com>
19722
19723         trim: remove three superfluous assignments
19724         * lib/trim.c (trim2): Remove three superfluous assignments
19725         and correct brace positioning.
19726
19727 2011-05-29  Bruno Haible  <bruno@clisp.org>
19728
19729         wctype-h: Avoid namespace pollution on Solaris 2.6.
19730         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19731         identifiers.
19732         * doc/posix-headers/wctype.texi: Mention the problem.
19733         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19734
19735 2011-05-28  Jim Meyering  <meyering@redhat.com>
19736
19737         parse-datetime.y: accommodate -Wstrict-overflow
19738         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19739         placate -Wstrict-overflow.
19740
19741         trim: avoid a warning from -O2 -Wstrict-overflow
19742         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19743
19744 2011-05-29  Bruno Haible  <bruno@clisp.org>
19745
19746         gnulib-tool: Fix bug in yesterday's commit.
19747         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19748         twice.
19749
19750 2011-05-29  Bruno Haible  <bruno@clisp.org>
19751
19752         Allow multiple gnulib generated include files to be combined.
19753         * gnulib-tool (func_compute_include_guard_prefix): New function.
19754         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19755         ${gl_include_guard_prefix} references.
19756         (func_import, func_create_testdir): Invoke
19757         func_compute_include_guard_prefix.
19758         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19759         * lib/ctype.in.h: Likewise.
19760         * lib/dirent.in.h: Likewise.
19761         * lib/errno.in.h: Likewise.
19762         * lib/fcntl.in.h: Likewise.
19763         * lib/float.in.h: Likewise.
19764         * lib/getopt.in.h: Likewise.
19765         * lib/iconv.in.h: Likewise.
19766         * lib/langinfo.in.h: Likewise.
19767         * lib/locale.in.h: Likewise.
19768         * lib/math.in.h: Likewise.
19769         * lib/netdb.in.h: Likewise.
19770         * lib/netinet_in.in.h: Likewise.
19771         * lib/poll.in.h: Likewise.
19772         * lib/pthread.in.h: Likewise.
19773         * lib/pty.in.h: Likewise.
19774         * lib/sched.in.h: Likewise.
19775         * lib/se-selinux.in.h: Likewise.
19776         * lib/search.in.h: Likewise.
19777         * lib/signal.in.h: Likewise.
19778         * lib/spawn.in.h: Likewise.
19779         * lib/stdarg.in.h: Likewise.
19780         * lib/stddef.in.h: Likewise.
19781         * lib/stdint.in.h: Likewise.
19782         * lib/stdio.in.h: Likewise.
19783         * lib/stdlib.in.h: Likewise.
19784         * lib/string.in.h: Likewise.
19785         * lib/strings.in.h: Likewise.
19786         * lib/sys_file.in.h: Likewise.
19787         * lib/sys_ioctl.in.h: Likewise.
19788         * lib/sys_select.in.h: Likewise.
19789         * lib/sys_socket.in.h: Likewise.
19790         * lib/sys_stat.in.h: Likewise.
19791         * lib/sys_time.in.h: Likewise.
19792         * lib/sys_times.in.h: Likewise.
19793         * lib/sys_uio.in.h: Likewise.
19794         * lib/sys_utsname.in.h: Likewise.
19795         * lib/sys_wait.in.h: Likewise.
19796         * lib/sysexits.in.h: Likewise.
19797         * lib/termios.in.h: Likewise.
19798         * lib/time.in.h: Likewise.
19799         * lib/unistd.in.h: Likewise.
19800         * lib/wchar.in.h: Likewise.
19801         * lib/wctype.in.h: Likewise.
19802         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19803         * modules/ctype (Makefile.am): Likewise.
19804         * modules/dirent (Makefile.am): Likewise.
19805         * modules/errno (Makefile.am): Likewise.
19806         * modules/fcntl-h (Makefile.am): Likewise.
19807         * modules/float (Makefile.am): Likewise.
19808         * modules/getopt-posix (Makefile.am): Likewise.
19809         * modules/iconv-h (Makefile.am): Likewise.
19810         * modules/langinfo (Makefile.am): Likewise.
19811         * modules/locale (Makefile.am): Likewise.
19812         * modules/math (Makefile.am): Likewise.
19813         * modules/netdb (Makefile.am): Likewise.
19814         * modules/netinet_in (Makefile.am): Likewise.
19815         * modules/poll-h (Makefile.am): Likewise.
19816         * modules/pthread (Makefile.am): Likewise.
19817         * modules/pty (Makefile.am): Likewise.
19818         * modules/sched (Makefile.am): Likewise.
19819         * modules/search (Makefile.am): Likewise.
19820         * modules/selinux-h (Makefile.am): Likewise.
19821         * modules/signal (Makefile.am): Likewise.
19822         * modules/spawn (Makefile.am): Likewise.
19823         * modules/stdarg (Makefile.am): Likewise.
19824         * modules/stddef (Makefile.am): Likewise.
19825         * modules/stdint (Makefile.am): Likewise.
19826         * modules/stdio (Makefile.am): Likewise.
19827         * modules/stdlib (Makefile.am): Likewise.
19828         * modules/string (Makefile.am): Likewise.
19829         * modules/strings (Makefile.am): Likewise.
19830         * modules/sys_file (Makefile.am): Likewise.
19831         * modules/sys_ioctl (Makefile.am): Likewise.
19832         * modules/sys_select (Makefile.am): Likewise.
19833         * modules/sys_socket (Makefile.am): Likewise.
19834         * modules/sys_stat (Makefile.am): Likewise.
19835         * modules/sys_time (Makefile.am): Likewise.
19836         * modules/sys_times (Makefile.am): Likewise.
19837         * modules/sys_uio (Makefile.am): Likewise.
19838         * modules/sys_utsname (Makefile.am): Likewise.
19839         * modules/sys_wait (Makefile.am): Likewise.
19840         * modules/sysexits (Makefile.am): Likewise.
19841         * modules/termios (Makefile.am): Likewise.
19842         * modules/time (Makefile.am): Likewise.
19843         * modules/unistd (Makefile.am): Likewise.
19844         * modules/wchar (Makefile.am): Likewise.
19845         * modules/wctype-h (Makefile.am): Likewise.
19846         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19847
19848 2011-05-29  Bruno Haible  <bruno@clisp.org>
19849
19850         assert-h: Allow multiple gnulib generated replacements to coexist.
19851         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19852
19853 2011-05-29  Bruno Haible  <bruno@clisp.org>
19854
19855         argp: Allow coexistence with strerror_r-posix module.
19856         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19857         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19858         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19859         not the glibc signature.
19860
19861 2011-05-28  Bruno Haible  <bruno@clisp.org>
19862
19863         gnulib-tool: Alternative structure of testdirs, similar to --import.
19864         * gnulib-tool: New option --single-configure.
19865         (func_usage): Document it.
19866         (single_configure): New variable.
19867         (func_modules_transitive_closure_separately,
19868         func_modules_transitive_closure_separately,
19869         func_determine_use_libtests, func_modules_add_dummy_separately,
19870         func_modules_to_filelist_separately): New functions, extracted from
19871         func_import.
19872         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19873         (func_import): Use the new functions.
19874         (func_create_testdir): Set final_modules. Handle $single_configure =
19875         true case.
19876
19877 2011-05-28  Bruno Haible  <bruno@clisp.org>
19878
19879         getloadavg: Remove an unreliable safety check.
19880         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19881         getloadavg.c is in place.
19882         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19883         Reported by Sam Steingold <sds@gnu.org>.
19884
19885 2011-05-28  Bruno Haible  <bruno@clisp.org>
19886
19887         doc: Cleanup yet another file produced by texinfo.tex.
19888         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19889
19890 2011-05-28  Bruno Haible  <bruno@clisp.org>
19891
19892         Finish the conditional dependencies mechanism.
19893         * gnulib-tool: New option --no-conditional-dependencies.
19894         (func_usage): Document it. Don't mark --conditional-dependencies as
19895         experimental.
19896         (cond_dependencies): The possible values can now be true, false, empty.
19897         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19898         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19899         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19900
19901 2011-05-28  Bruno Haible  <bruno@clisp.org>
19902
19903         doc: Use a recent texinfo.tex.
19904         * doc/Makefile (tex_opts): New variable.
19905         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19906
19907 2011-05-28  Jim Meyering  <meyering@redhat.com>
19908
19909         intprops.h: adjust comment to match code change
19910         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19911         only once, it *may* have side effects.  Also fix an unrelated typo.
19912         (_GL_INT_SIGNED): Likewise.
19913
19914 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19915
19916         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19917
19918 2011-05-26  Bruno Haible  <bruno@clisp.org>
19919
19920         mbsrchr: Avoid collision with system function on Interix.
19921         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19922         Reported by Markus Duft <mduft@gentoo.org>.
19923
19924 2011-05-15  James Youngman  <jay@gnu.org>
19925
19926         getopt: for ambiguous options, enumerate the possibilities.
19927         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19928         the ambiguous options when an ambiguous prefix is given. This was
19929         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19930         glibc change was
19931         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19932
19933 2011-05-25  Eric Blake  <eblake@redhat.com>
19934
19935         getcwd: work around mingw bug
19936         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19937         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19938         Reported by Matthias Bolte.
19939
19940 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19941
19942         test-intprops: disable -Wtype-limits diagnostics
19943         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19944         diagnostics.  Otherwise, the integer overflow macros generate many
19945         diagnostics.  Reported by Jim Meyering in
19946         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19947
19948         intprops: shorten, to pacify gcc -Woverlength-strings
19949         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19950         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19951         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19952         likely to run afoul of C compiler limits for string constant lengths.
19953         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19954
19955 2011-05-24  Eric Blake  <eblake@redhat.com>
19956
19957         docs: document recently fixed glibc printf bug
19958         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19959         * doc/posix-functions/printf.texi (printf): Likewise.
19960         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19961         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19962
19963         closein-tests: convert to init.sh
19964         * modules/closein-tests (Files): Add init.sh
19965         * tests/test-closein.sh Use it.
19966
19967         yesno-tests: convert to init.sh
19968         * modules/yesno-tests (Files): Add init.sh.
19969         * tests/test-yesno.sh: Use it.
19970
19971         atexit-tests: ensure reliable exit status
19972         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19973         Reported by Bruno Haible.
19974
19975 2011-05-24  Bruno Haible  <bruno@clisp.org>
19976
19977         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19978         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19979         gl_PREREQ_STRERROR_R invocations from here...
19980         * modules/strerror_r-posix (configure.ac): ... to here.
19981
19982 2011-05-24  Eric Blake  <eblake@redhat.com>
19983
19984         strerror_r: fix missing header
19985         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19986
19987         strerror_r: fix AIX test failures
19988         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19989         ERANGE failure.
19990
19991         strerror_r: fix Solaris test failures
19992         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19993         failures.
19994         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19995
19996         strerror_r: enforce POSIX recommendations
19997         * lib/strerror_r.c (safe_copy): New helper method.
19998         (strerror_r): Guarantee a non-empty string.
19999         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20000         recent POSIX rulings and to match our strerror guarantees.
20001         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20002
20003 2011-05-24  Jim Meyering  <meyering@redhat.com>
20004
20005         test-perror2.c: avoid warning about unused variable
20006         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20007
20008 2011-05-24  Eric Blake  <eblake@redhat.com>
20009
20010         perror: avoid spurious test failure on HP-UX
20011         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20012
20013         tests: fix logic bug in init.sh
20014         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20015         shell.
20016
20017 2011-05-24  Jim Meyering  <meyering@redhat.com>
20018
20019         utimensat: do not reference an out-of-scope buffer
20020         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20021         declared in an inner scope, yet "times" would be dereferenced outside
20022         the scope in which "ts" was valid.
20023         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20024         of ts[2] "out/up", so that the use of aliased "times" (via
20025         "times = ts;") does not end up referencing an out-of-scope "ts"
20026
20027         opendir-safer.c: don't clobber errno; don't close negative FD
20028         * lib/opendir-safer.c (opendir_safer):
20029         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20030         file descriptor, and more importantly, don't clobber the
20031         offending errno value with EINVAL.  Before, upon failure
20032         of dup_safer, we would pass the negative file descriptor to
20033         fdopendir, which would clobber errno.
20034
20035 2011-05-23  Bruno Haible  <bruno@clisp.org>
20036
20037         idcache: Fix module description.
20038         * modules/idcache (Include): Set to "idcache.h".
20039
20040 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20041
20042         gnulib-tool: fix portability problem with MacOS sed
20043         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20044         before the "}".  Problem reported by Leo in
20045         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20046         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20047         sed_extract_condition1, sed_extract_condition2.
20048
20049 2011-05-23  Bruno Haible  <bruno@clisp.org>
20050
20051         hash: Simplify autoconf macro.
20052         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20053
20054 2011-05-23  Bruno Haible  <bruno@clisp.org>
20055
20056         getugroups: Fix module description.
20057         * modules/getugroups (Include): Set to "getugroups.h".
20058
20059 2011-05-23  Bruno Haible  <bruno@clisp.org>
20060
20061         linkat: Simplify autoconf macro.
20062         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20063
20064 2011-05-23  Bruno Haible  <bruno@clisp.org>
20065             Eric Blake  <eblake@redhat.com>
20066
20067         linkat, renameat: Update dependencies.
20068         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20069         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20070         symlinkat.
20071
20072 2011-05-23  Jim Meyering  <meyering@redhat.com>
20073
20074         maint.mk: more tight_scope improvements
20075         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20076         (_gl_TS_headers): Define only in if-0'd block.
20077         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20078         sometimes we must *not* use it.  Adjust uses accordingly.
20079         (sc_tight_scope): Use much simpler grep-based test to determine
20080         whether we skip this rule.
20081
20082         maint.mk: generalize/improve the tight-scope rule
20083         * top/maint.mk: Emit a warning when the test is skipped.
20084         (_gl_TS_dir): Add $(srcdir)/ prefix.
20085         (_gl_TS_function_match): Simplify, rather than trying
20086         to enumerate common types.  Otherwise, it would fail to match an
20087         "extern unsigned char const *" declaration in idutils.
20088         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20089         a way to support use of that type of macro.
20090         (_gl_TS_var_match): Simplify regexp.
20091         (_gl_TS_obj_files): New configurable variable.
20092         (_gl_TS_headers): Likewise.
20093
20094 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20095
20096         verify: fix bug when gnulib <assert.h> is also included
20097         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20098         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20099         Perhaps there's a better way, but this fixes the immediate problem.
20100         Problem reported by Bruno Haible in
20101         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20102
20103 2011-05-22  Bruno Haible  <bruno@clisp.org>
20104
20105         xgetcwd: Simplify autoconf macro.
20106         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20107
20108 2011-05-22  Bruno Haible  <bruno@clisp.org>
20109
20110         New module 'mktime-internal'.
20111         * modules/mktime-internal: New file.
20112         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20113         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20114         mktime_internal as a C macro if libc has __mktime_internal.
20115         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20116         conditions.
20117         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20118
20119 2011-05-22  Bruno Haible  <bruno@clisp.org>
20120
20121         timegm: Correct mktime replacement statements.
20122         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20123         defining mktime as a C macro. This completes a 2009-07-28 commit.
20124
20125 2011-05-22  Bruno Haible  <bruno@clisp.org>
20126
20127         timegm: Simplify autoconf macro.
20128         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20129
20130 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20131
20132         clock-time: change to LGPLv2+.
20133         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20134         BSD-like but we have no mark for that; this is good enough for now.
20135
20136 2011-05-21  Bruno Haible  <bruno@clisp.org>
20137
20138         strerror_r: Fix comments.
20139         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20140
20141 2011-05-21  Bruno Haible  <bruno@clisp.org>
20142
20143         relocatable-prog-wrapper: Fix possible link error.
20144         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20145         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20146         (gl_FUNC_SETENV): ... to here.
20147         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20148         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20149
20150 2011-05-21  Bruno Haible  <bruno@clisp.org>
20151
20152         relocatable-prog-wrapper: Assume strerror() exists.
20153         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20154         m4/strerror.m4.
20155         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20156         * lib/relocwrapper.c: Remove mention of strerror module.
20157         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20158         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20159         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20160         C macro.
20161
20162 2011-05-21  Bruno Haible  <bruno@clisp.org>
20163
20164         select: Simplify replacement idiom.
20165         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20166         Win32 platforms.
20167         * lib/sys_select.in.h (select): Simplify accordingly.
20168         * modules/select (Depends-on): Likewise.
20169
20170 2011-05-21  Bruno Haible  <bruno@clisp.org>
20171
20172         mkdir-p: Simplify autoconf macro.
20173         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20174         gl_FUNC_LCHOWN.
20175
20176 2011-05-21  Eric Blake  <eblake@redhat.com>
20177
20178         strerror_r: avoid clobbering strerror on cygwin
20179         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20180         fall back instead to sys_errlist.
20181         * modules/strerror (configure.ac): Add witness.
20182         * tests/test-strerror_r.c (main): Enhance test.
20183         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20184         * tests/test-perror2.c (main): Free memory before exit.
20185
20186 2011-05-21  Bruno Haible  <bruno@clisp.org>
20187
20188         mkdtemp: Use gnulib naming conventions.
20189         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20190         * modules/mkdtemp (configure.ac): Update.
20191
20192 2011-05-20  Eric Blake  <eblake@redhat.com>
20193
20194         strerror_r: avoid corrupting errno on Solaris
20195         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20196         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20197
20198         strerror_r: avoid compiler warning
20199         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20200
20201         strerror_r: simplify AIX code
20202         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20203
20204         test-perror: avoid spurious failure on FreeBSD
20205         * modules/perror-tests (Depends-on): Add strerror, now that
20206         strerror_r no longer pulls it in.
20207
20208 2011-05-20  Bruno Haible  <bruno@clisp.org>
20209
20210         strerror_r-posix: Remove unused dependencies.
20211         * modules/strerror_r-posix (Depends-on): Remove strerror.
20212         Reported by Eric Blake.
20213
20214 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20215
20216         intprops: remove assumption about A|B representation
20217         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20218         is a valid integer if both A and B are.  Although this is true for
20219         all known practical hosts, the C standard doesn't guarantee it,
20220         and the code need not assume it.  Also, this change may work around
20221         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20222         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20223
20224 2011-05-20  Eric Blake  <eblake@redhat.com>
20225
20226         perror: work around FreeBSD bug
20227         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20228         is broken.  Move AC_LIBOBJ...
20229         * modules/perror (configure.ac): Here.
20230         * doc/posix-functions/perror.texi (perror): Document this.
20231         * tests/test-perror2.c (main): Enhance test.
20232
20233         test-perror: check for strerror interactions
20234         * tests/macros.h (STREQ): Add macro.
20235         * modules/perror-tests (Files): Add second test.
20236         * tests/test-perror2.c (main): New file.
20237         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20238
20239         test-perror: rewrite to use init script
20240         * modules/perror-tests (Files): Add init.sh.
20241         * tests/test-perror.sh: Use temporary directory.
20242
20243 2011-05-20  Jim Meyering  <meyering@redhat.com>
20244
20245         maint: replace misused "a" with "an"
20246         * doc/intprops.texi: "a integer"
20247         * doc/regex.texi: "a explanation"
20248         * lib/alignof.h: "a object"
20249         * lib/argmatch.h: "a explanation"
20250         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20251         * lib/stdint.in.h: "a integer"
20252         * lib/userspec.c: "a owner"
20253         * doc/gnulib.texi: Fix "a idea", and reword.
20254
20255 2011-05-19  Jim Meyering  <meyering@redhat.com>
20256
20257         maint: correct misuse of "a" and "an"
20258         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20259         * lib/argp-help.c: "an docum...": s/an/a/
20260         * lib/argp-parse.c: "An vector": s/An/A/
20261         * lib/execute.c: "an native": s/an/a/
20262         * lib/spawn-pipe.c: Likewise.
20263         * lib/gc.h: "an Gc_rc": s/an/a/
20264         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20265         * lib/fts.c: "an stat.st_dev": s/an/a/
20266
20267 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20268
20269         intprops-tests: work around HP-UX 11.23 cc bug with constants
20270         * tests/test-intprops.c (VERIFY): New macro.
20271         (main): Use it, instead of verify, to work around the compiler bug; see
20272         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20273
20274         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20275         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20276         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20277         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20278         (_GL_REMAINDER_OVERFLOW): Use it.
20279
20280         intprops-tests: revert unsigned part of previous change
20281         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20282         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20283         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20285
20286 2011-05-19  Bruno Haible  <bruno@clisp.org>
20287
20288         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20289         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20290         strerror_r() returned without filling the buffer.
20291         Reported by Eric Blake.
20292
20293 2011-05-19  Eric Blake  <eblake@redhat.com>
20294
20295         strerror_r: guarantee unchanged errno
20296         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20297         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20298         failure.
20299         * tests/test-strerror_r.c (main): Enhance test.
20300
20301 2011-05-19  Bruno Haible  <bruno@clisp.org>
20302
20303         strerror_r: Reorder #if blocks.
20304         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20305         for consistency with the previous commit.
20306
20307 2011-05-19  Bruno Haible  <bruno@clisp.org>
20308
20309         perror: Avoid clobbering the strerror buffer when possible.
20310         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20311         * lib/strerror.c: Include it.
20312         * modules/strerror (Files): Add lib/strerror-impl.h.
20313         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20314         (my_strerror): New function, defined through lib/strerror-impl.h.
20315         (perror): Use it instead of strerror.
20316         * modules/perror (Files): Add lib/strerror-impl.h.
20317         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20318
20319 2011-05-19  Eric Blake  <eblake@redhat.com>
20320
20321         strerror_r: fix on newer cygwin
20322         * lib/strerror_r.c (strerror_r): Cygwin now has
20323         __xpg_strerror_r, use it.
20324
20325 2011-05-19  Bruno Haible  <bruno@clisp.org>
20326
20327         strerror_r: Avoid clobbering the strerror buffer when possible.
20328         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20329         (sys_nerr, sys_errlist): New declarations.
20330         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20331         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20332         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20333
20334 2011-05-19  Bruno Haible  <bruno@clisp.org>
20335
20336         strerror_r: Fix test failure on mingw.
20337         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20338         EXTEND_STRERROR_R.
20339         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20340         macros from errno.in.h instead.
20341
20342 2011-05-19  Eric Blake  <eblake@redhat.com>
20343
20344         strerror: relax test for Solaris
20345         * tests/test-strerror.c (main): Permit Solaris behavior.
20346         * tests/test-strerror_r.c (main): Likewise.
20347
20348         strerror: enforce POSIX ruling on strerror(0)
20349         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20350         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20351         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20352         * doc/posix-functions/strerror.texi (strerror): Document it.
20353         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20354         * tests/test-strerror.c (main): Strengthen test.
20355         * tests/test-strerror_r.c (main): Likewise.
20356
20357 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20358
20359         intprop-tests: port to older and more-pedantic compilers
20360         * modules/intprops-tests (Files): Add tests/macros.h.
20361         * tests/test-intprops.c: Include macros.h.
20362         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20363         it's no longer documented to expand to an integer constant expression.
20364         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20365         argument is floating point, as it's no longer documented to expand
20366         to an integer constant expression in that case.
20367         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20368         compiler bugs reported by Bruno Haible.  See
20369         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20370         (U0, U1): New constants, to work around the same bugs.  Also,
20371         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20372
20373         intprops: work around C compiler bugs
20374         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20375         bug in Sun C 5.11 2010/08/13 and other compilers; see
20376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20377
20378         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20379         * doc/intprops.texi (Integer Type Determination): Fix
20380         documentation for TYPE_IS_INTEGER: it returns an constant
20381         expression, not an integer constant expression.  Fix doc for
20382         TYPE_SIGNED: it returns an integer constant expression only if its
20383         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20384         hardly worth documented that way....)
20385
20386 2011-05-18  Bruno Haible  <bruno@clisp.org>
20387
20388         strerror_r: Avoid clobbering the strerror buffer when possible.
20389         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20390         Handle gnulib defined errno values here. When strerror() returns NULL
20391         or an empty string, return EINVAL.
20392         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20393         gnulib defined errno values here.
20394         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20395
20396 2011-05-18  Eric Blake  <eblake@redhat.com>
20397
20398         fnmatch: avoid compiler warning
20399         * lib/fnmatch_loop.c (FCT): Use correct type.
20400         Reported by Matthias Bolte.
20401
20402 2011-05-13  Jim Meyering  <meyering@redhat.com>
20403
20404         maint.mk: three new prohibit_<HDR>_without_use rules
20405         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20406         (sc_prohibit_stdio-safer_without_use): Likewise.
20407         (sc_prohibit_xfreopen_without_use): Likewise.
20408
20409 2011-05-17  Jim Meyering  <meyering@redhat.com>
20410
20411         announce-gen: fail if the NEWS delta is empty
20412         If there's nothing noteworthy in NEWS, then either you forgot
20413         or you shouldn't be releasing.
20414         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20415
20416 2011-05-17  Pádraig Brady <P@draigBrady.com>
20417
20418         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20419         reserved symbols starting with double underscore from the check.
20420
20421 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20422
20423         intprops: add doc
20424         * doc/intprops.texi: New file, documenting intprops.
20425         * doc/gnulib.texi (Particular Modules): Include it.
20426
20427         verify: add doc to gnulib manual and fix example
20428         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20429         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20430         (Compile-time Assertions): Fix example so it can't overflow.
20431
20432 2011-05-17  Jim Meyering  <meyering@redhat.com>
20433
20434         warnings.m4: don't usurp save_CPPFLAGS variable name
20435         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20436
20437         doc: fix typo
20438         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20439
20440 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20441             Bruno Haible  <bruno@clisp.org>
20442
20443         doc: Tweak recent change.
20444         * README (Portability guidelines): Tweak new text.
20445         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20446         Interix 6.1.
20447
20448 2011-05-16  Eric Blake  <eblake@redhat.com>
20449
20450         inttypes: avoid autoconf warning
20451         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20452         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20453
20454 2011-05-16  Sam Steingold <sds@gnu.org>
20455         and Eric Blake  <eblake@redhat.com>
20456
20457         vc-list-files: accept multiple directory operands
20458         * build-aux/vc-list-files: Iterate over all remaining operands.
20459
20460 2011-05-16  Bruno Haible  <bruno@clisp.org>
20461
20462         Fix confusion regarding deprecated modules.
20463         * modules/calloc (Status, Notice): Mark module as deprecated, not
20464         obsolete.
20465         * modules/fnmatch-posix (Status, Notice): Likewise.
20466         * modules/getdate (Status, Notice): Likewise.
20467         * modules/getopt (Status, Notice): Likewise.
20468         * modules/malloc (Status, Notice): Likewise.
20469         * modules/pipe (Status, Notice): Likewise.
20470         * modules/realloc (Status, Notice): Likewise.
20471         * modules/rename-dest-slash (Status, Notice): Likewise.
20472         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20473         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20474         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20475         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20476         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20477
20478 2011-05-16  Bruno Haible  <bruno@clisp.org>
20479
20480         doc: List the target platforms.
20481         * doc/gnulib-intro.texi (Target Platforms): New section.
20482         * doc/gnulib.texi (Introduction): Update menu.
20483         * README (Portability guidelines): Refer to the new section. Update
20484         statement about oldest supported environment. Remove rationale why
20485         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20486         unportable C89 function.
20487         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20488         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20489
20490 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20491
20492         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20493
20494 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20495
20496         intprops-tests: new module
20497         * modules/intprops-tests, tests/test-intprops.c: New files.
20498
20499         intprops: add safe, portable integer overflow checking
20500         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20501         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20502         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20503         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20504         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20505         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20506         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20507         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20508         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20509         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20510         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20511
20512 2011-05-12  James Youngman  <jay@gnu.org>
20513
20514         Add a test for glibc's Bugzilla bug #12378.
20515         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20516         doesn't allow the literal matching of a lone "[" (which is
20517         required by POSIX).
20518         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20519
20520 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20521
20522         Sync glibc change fixing Bugzilla bug #12378.
20523         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20524         beginning and fall back to matching as normal character if the
20525         string ends before the matching ']' is found.  This is what POSIX
20526         requires.
20527
20528 2011-05-13  Eric Blake  <eblake@redhat.com>
20529
20530         getcwd-lgpl: relax test for FreeBSD
20531         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20532         issue.
20533         * tests/test-getcwd-lgpl.c (main): Relax test.
20534         Reported by Matthias Bolte.
20535
20536 2011-05-11  Eric Blake  <eblake@redhat.com>
20537
20538         test-fflush: silence compiler warning
20539         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20540
20541 2011-05-11  Bruno Haible  <bruno@clisp.org>
20542
20543         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20544         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20545         * modules/canonicalize (Depends-on): Add 'nocrash'.
20546         * modules/canonicalize-lgpl (Depends-on): Likewise.
20547         * doc/posix-functions/realpath.texi: Update platforms list.
20548         Reported by Ryan Schmidt <ryandesign@macports.org>.
20549
20550 2011-05-11  Bruno Haible  <bruno@clisp.org>
20551
20552         group-member: Declare function in <unistd.h>.
20553         * lib/unistd.in.h (group_member): New declaration.
20554         * lib/group-member.h: Remove file.
20555         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20556         * tests/test-unistd-c++.cc: Check signature of group_member.
20557         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20558         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20559         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20560         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20561         HAVE_GROUP_MEMBER.
20562         * modules/group-member (Files): Remove lib/group-member.h.
20563         (Depends-on): Add unistd. Specify conditions.
20564         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20565         (Include): Change to <unistd.h>.
20566         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20567         HAVE_GROUP_MEMBER.
20568         * NEWS: Mention the change.
20569         * lib/euidaccess.c: Don't include group-member.h.
20570
20571 2011-05-11  Bruno Haible  <bruno@clisp.org>
20572
20573         group-member: Document module.
20574         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20575         module.
20576
20577 2011-05-11  Bruno Haible  <bruno@clisp.org>
20578
20579         fclose: Fix mistake earlier today.
20580         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20581
20582 2011-05-11  Eric Blake  <eblake@redhat.com>
20583
20584         fclose: preserve fflush errors
20585         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20586         Reported by Jim Meyering.
20587
20588         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20589         * build-aux/bootstrap (check_versions): When no specific version
20590         is required, merely check that the app produces an exit status
20591         that indicates its existence.
20592
20593         maint.mk: drop redundant check
20594         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20595         the same but better.
20596
20597 2011-05-11  Bruno Haible  <bruno@clisp.org>
20598
20599         fclose: Fix possible link error.
20600         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20601         unregister_shadow_fd. Improve comments.
20602         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20603         Eric Blake.
20604
20605 2011-05-11  Jim Meyering  <meyering@redhat.com>
20606
20607         maint.mk: improve "can not" detection and generalize rule name
20608         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20609         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20610         Use the same technique as in sc_prohibit_doubled_word, so that
20611         we recognize "can not" also when the words are separated by a newline.
20612         Suggested by Eric Blake.
20613         (perl_filename_lineno_text_): Define.  Factored out of...
20614         (prohibit_doubled_word_): ...here.  Use the new definition.
20615         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20616         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20617         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20618
20619 2011-05-10  Eric Blake  <eblake@redhat.com>
20620
20621         fclose: avoid double close race when possible
20622         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20623         all but WINDOWS_SOCKETS.
20624
20625 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20626
20627         openat: correct new comment
20628         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20629
20630 2011-05-10  Jim Meyering  <meyering@redhat.com>
20631
20632         openat: add comments
20633         * lib/openat-proc.c (openat_proc_name): Add comments,
20634         mostly from Eric Blake.
20635
20636 2011-05-09  Eric Blake  <eblake@redhat.com>
20637
20638         openat: reduce syscalls in first probe of /proc
20639         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20640         be a directory.  Simplify the probe for .. bugs.
20641         * modules/openat (Depends-on): Drop same-inode.
20642         Reported by Bastien ROUCARIES.
20643
20644 2011-05-09  Jim Meyering  <meyering@redhat.com>
20645
20646         maint.mk: change semantics/name of tight_scope variables
20647         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20648         Rename variables to align with semantics that make them more useful.
20649
20650         maint.mk: tweak new rule's name not to impinge
20651         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20652         (sc_tight_scope): Use new rule name rather than $@-0.
20653
20654         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20655         * top/maint.mk (sc_tight_scope): New rule.
20656         (sc_tight_scope-0): New rule, ifdef'd out.
20657         (_gl_TS_dir): Default.
20658         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20659         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20660
20661 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20662
20663         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20664         Haible <bruno@clisp.org>.
20665
20666 2011-05-08  Bruno Haible  <bruno@clisp.org>
20667
20668         Comments.
20669         * m4/isnanf.m4: Add comment.
20670         * m4/isnanl.m4: Likewise.
20671
20672 2011-05-08  Bruno Haible  <bruno@clisp.org>
20673
20674         glob: Remove obsolete macro.
20675         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20676
20677 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20678
20679         intprops: Sun C 5.11 supports __typeof__
20680         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20681         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20682         which is new.
20683         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20684
20685         intprops: switch to usual gnulib indenting and naming
20686         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20687         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20688
20689         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20690
20691 2011-05-08  Jim Meyering  <meyering@redhat.com>
20692
20693         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20694         * top/maint.mk (release-prep): Use make's --no-print-directory
20695         option when generating the announcement.  This eliminates the
20696         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20697         generated announcement template.
20698
20699 2011-05-08  Bruno Haible  <bruno@clisp.org>
20700
20701         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20702         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20703         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20704
20705 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20706
20707         ignore-value, verify: Omit include files from lib_SOURCES.
20708         * modules/ignore-value, modules/verify (Makefile.am):
20709         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20710         that leads Automake to duplicate use of am__objects_... variables
20711         in Makefile.in.  See
20712         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20713
20714 2011-05-07  Bruno Haible  <bruno@clisp.org>
20715
20716         fclose: Simplify autoconf macro.
20717         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20718         defined.
20719
20720 2011-05-07  Bruno Haible  <bruno@clisp.org>
20721
20722         canonicalize-lgpl: Fix autoconf macro ordering bug.
20723         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20724         gl_STDLIB_H_DEFAULTS.
20725
20726 2011-05-06  Eric Blake  <eblake@redhat.com>
20727
20728         maintainer-makefile: make sc_po_check easier to tune
20729         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20730         to probe for strings, such as an alternate location for gnulib.
20731
20732         fclose: guarantee behavior on seekable stdin
20733         * modules/fclose (Depends-on): Add fflush.
20734         * doc/posix-functions/fclose.texi (fclose): Document this.
20735         * tests/test-fclose.c (main): Make test for this unconditional.
20736
20737 2011-05-06  Bruno Haible  <bruno@clisp.org>
20738
20739         fflush, fpurge: Relicense under LGPLv2+.
20740         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20741         * modules/fpurge (License): Likewise.
20742         With permission from Eric Blake and Jim Meyering.
20743         Suggested by Eric Blake.
20744
20745 2011-05-06  Karl Berry  <karl@gnu.org>
20746
20747         * MODULES.html.sh (func_all_modules): remove exit.
20748
20749 2011-05-06  Jim Meyering  <meyering@redhat.com>
20750
20751         maint.mk: use info-gnu@ as the default only for a stable release
20752         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20753         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20754         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20755         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20756
20757 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20758
20759         assert-h: new module, which supports C1X-style static_assert
20760         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20761         * lib/verify.h: Revamp so that this can be copied into assert.h,
20762         while retaining the ability to use it standalone as before.
20763         Rename private identifiers so as not to encroach on the
20764         standard C namespace, since this is now used by assert.h.
20765         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20766         the old verify_true.
20767         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20768         the old verify_true.  Use _GL_VERIFY_TYPE.
20769         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20770         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20771         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20772         defined when this file is copied into the replacement assert.h.
20773         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20774         and _Static_assert is not built in.
20775         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20776         defined, and use the new macros mentioned above.
20777         * doc/posix-headers/assert.texi: Document this.
20778
20779 2011-05-05  Bruno Haible  <bruno@clisp.org>
20780
20781         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20782         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20783         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20784         gl_REPLACE_FCLOSE here.
20785         * modules/fflush (Depends-on): Remove fclose.
20786         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20787         combination with module 'fclose'.
20788
20789 2011-05-05  Bruno Haible  <bruno@clisp.org>
20790
20791         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20792         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20793         gl_FUNC_FFLUSH.
20794         (gl_FUNC_FFLUSH): Use it.
20795         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20796         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20797         gl_REPLACE_FSEEKO here.
20798
20799 2011-05-05  Bruno Haible  <bruno@clisp.org>
20800
20801         tzset: Relicense under LGPL.
20802         * modules/tzset (License): Change to LGPL.
20803         No agreement needed; it's a no-op.
20804
20805         strtoimax, strtoumax: Relicense under LGPL.
20806         * modules/strtoimax (License): Change to LGPL.
20807         * modules/strtoumax (License): Likewise.
20808         With permission from Jim Meyering, Paul Eggert:
20809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20810         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20811
20812         getgroups: Relicense under LGPL.
20813         * modules/getgroups (License): Change to LGPL.
20814         With permission from Jim Meyering, Paul Eggert, Eric Blake:
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
20819         nanosleep: Relicense under LGPL.
20820         * modules/nanosleep (License): Change to LGPL.
20821         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20822         Haible:
20823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20825         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20827
20828         futimens: Relicense under LGPL.
20829         * modules/futimens (License): Change to LGPL.
20830         With permission from Eric Blake:
20831         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20832
20833         fflush: Relicense under LGPL.
20834         * modules/fflush (License): Change to LGPL.
20835         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20836         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20837         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20838         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20839
20840         tmpfile: Relicense under LGPL.
20841         * modules/tmpfile (License): Change to LGPL.
20842         With permission from Ben Pfaff:
20843         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20844
20845         isfinite: Relicense under LGPL.
20846         * modules/isfinite (License): Change to LGPL.
20847         With permission from Ben Pfaff, Bruno Haible:
20848         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20849         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20850
20851         acosl..tanl: Relicense under LGPL.
20852         * modules/acosl (License): Change to LGPL.
20853         * modules/asinl (License): Likewise.
20854         * modules/atanl (License): Likewise.
20855         * modules/cosl (License): Likewise.
20856         * modules/expl (License): Likewise.
20857         * modules/logl (License): Likewise.
20858         * modules/sinl (License): Likewise.
20859         * modules/sqrtl (License): Likewise.
20860         * modules/tanl (License): Likewise.
20861         Source code originally from glibc and Paolo Bonzini. Agreements:
20862         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20863         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20864
20865 2011-05-05  Bruno Haible  <bruno@clisp.org>
20866
20867         signal: Define sighandler_t.
20868         * lib/signal.in.h (sighandler_t): New type.
20869         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20870         whether sighandler_t is defined.
20871         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20872         * modules/signal (Depends-on): Add extensions.
20873         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20874         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20875         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20876
20877 2011-05-05  Eric Blake  <eblake@redhat.com>
20878
20879         maint: remove useless REPLACE_*_H macros
20880         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20881         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20882         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20883         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20884         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20885         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20886         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20887         * m4/btowc.m4: Update callers.
20888         * m4/dirfd.m4: Likewise.
20889         * m4/duplocale.m4: Likewise.
20890         * m4/fchdir.m4: Likewise.
20891         * m4/fdopendir.m4: Likewise.
20892         * m4/inet_ntop.m4: Likewise.
20893         * m4/inet_pton.m4: Likewise.
20894         * m4/ioctl.m4: Likewise.
20895         * m4/mbrlen.m4: Likewise.
20896         * m4/mbrtowc.m4: Likewise.
20897         * m4/mbsinit.m4: Likewise.
20898         * m4/mbsnrtowcs.m4: Likewise.
20899         * m4/mbsrtowcs.m4: Likewise.
20900         * m4/poll.m4: Likewise.
20901         * m4/setlocale.m4: Likewise.
20902         * m4/wcrtomb.m4: Likewise.
20903         * m4/wcsnrtombs.m4: Likewise.
20904         * m4/wcsrtombs.m4: Likewise.
20905         * m4/wctob.m4: Likewise.
20906         * m4/wcwidth.m4: Likewise.
20907         * modules/posix_spawn: Likewise.
20908         * modules/posix_spawn_file_actions_addclose: Likewise.
20909         * modules/posix_spawn_file_actions_adddup2: Likewise.
20910         * modules/posix_spawn_file_actions_addopen: Likewise.
20911         * modules/posix_spawn_file_actions_destroy: Likewise.
20912         * modules/posix_spawn_file_actions_init: Likewise.
20913         * modules/posix_spawnattr_destroy: Likewise.
20914         * modules/posix_spawnattr_getflags: Likewise.
20915         * modules/posix_spawnattr_getpgroup: Likewise.
20916         * modules/posix_spawnattr_getschedparam: Likewise.
20917         * modules/posix_spawnattr_getschedpolicy: Likewise.
20918         * modules/posix_spawnattr_getsigdefault: Likewise.
20919         * modules/posix_spawnattr_getsigmask: Likewise.
20920         * modules/posix_spawnattr_init: Likewise.
20921         * modules/posix_spawnattr_setflags: Likewise.
20922         * modules/posix_spawnattr_setpgroup: Likewise.
20923         * modules/posix_spawnattr_setschedparam: Likewise.
20924         * modules/posix_spawnattr_setschedpolicy: Likewise.
20925         * modules/posix_spawnattr_setsigdefault: Likewise.
20926         * modules/posix_spawnattr_setsigmask: Likewise.
20927         * modules/posix_spawnp: Likewise.
20928
20929 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20930
20931         Add option to do-release-commit-and-tag to specify branch.
20932         * build-aux/do-release-commit-and-tag: Add --branch.
20933
20934 2011-05-03  Bruno Haible  <bruno@clisp.org>
20935
20936         Avoid unnecessary compilation units, through conditional dependencies.
20937         * modules/accept (Depends-on): Add conditions to the dependencies.
20938         * modules/acosl (Depends-on): Likewise.
20939         * modules/argz (Depends-on): Likewise.
20940         * modules/asinl (Depends-on): Likewise.
20941         * modules/atanl (Depends-on): Likewise.
20942         * modules/atoll (Depends-on): Likewise.
20943         * modules/bind (Depends-on): Likewise.
20944         * modules/btowc (Depends-on): Likewise.
20945         * modules/canonicalize-lgpl (Depends-on): Likewise.
20946         * modules/ceil (Depends-on): Likewise.
20947         * modules/ceilf (Depends-on): Likewise.
20948         * modules/ceill (Depends-on): Likewise.
20949         * modules/chdir-long (Depends-on): Likewise.
20950         * modules/chown (Depends-on): Likewise.
20951         * modules/close (Depends-on): Likewise.
20952         * modules/connect (Depends-on): Likewise.
20953         * modules/cosl (Depends-on): Likewise.
20954         * modules/dirfd (Depends-on): Likewise.
20955         * modules/dprintf (Depends-on): Likewise.
20956         * modules/dprintf-posix (Depends-on): Likewise.
20957         * modules/error (Depends-on): Likewise.
20958         * modules/euidaccess (Depends-on): Likewise.
20959         * modules/expl (Depends-on): Likewise.
20960         * modules/faccessat (Depends-on): Likewise.
20961         * modules/fchdir (Depends-on): Likewise.
20962         * modules/fclose (Depends-on): Likewise.
20963         * modules/fcntl (Depends-on): Likewise.
20964         * modules/fdopendir (Depends-on): Likewise.
20965         * modules/fflush (Depends-on): Likewise.
20966         * modules/floor (Depends-on): Likewise.
20967         * modules/floorf (Depends-on): Likewise.
20968         * modules/floorl (Depends-on): Likewise.
20969         * modules/fnmatch (Depends-on): Likewise.
20970         * modules/fopen (Depends-on): Likewise.
20971         * modules/fprintf-posix (Depends-on): Likewise.
20972         * modules/frexp (Depends-on): Likewise.
20973         * modules/frexp-nolibm (Depends-on): Likewise.
20974         * modules/frexpl (Depends-on): Likewise.
20975         * modules/frexpl-nolibm (Depends-on): Likewise.
20976         * modules/fseek (Depends-on): Likewise.
20977         * modules/fsusage (Depends-on): Likewise.
20978         * modules/ftell (Depends-on): Likewise.
20979         * modules/ftello (Depends-on): Likewise.
20980         * modules/futimens (Depends-on): Likewise.
20981         * modules/getcwd (Depends-on): Likewise.
20982         * modules/getcwd-lgpl (Depends-on): Likewise.
20983         * modules/getdelim (Depends-on): Likewise.
20984         * modules/getdomainname (Depends-on): Likewise.
20985         * modules/getgroups (Depends-on): Likewise.
20986         * modules/gethostname (Depends-on): Likewise.
20987         * modules/getline (Depends-on): Likewise.
20988         * modules/getlogin_r (Depends-on): Likewise.
20989         * modules/getopt-posix (Depends-on): Likewise.
20990         * modules/getpeername (Depends-on): Likewise.
20991         * modules/getsockname (Depends-on): Likewise.
20992         * modules/getsockopt (Depends-on): Likewise.
20993         * modules/getsubopt (Depends-on): Likewise.
20994         * modules/getusershell (Depends-on): Likewise.
20995         * modules/glob (Depends-on): Likewise.
20996         * modules/grantpt (Depends-on): Likewise.
20997         * modules/iconv_open (Depends-on): Likewise.
20998         * modules/iconv_open-utf (Depends-on): Likewise.
20999         * modules/inet_ntop (Depends-on): Likewise.
21000         * modules/inet_pton (Depends-on): Likewise.
21001         * modules/ioctl (Depends-on): Likewise.
21002         * modules/isapipe (Depends-on): Likewise.
21003         * modules/isfinite (Depends-on): Likewise.
21004         * modules/isinf (Depends-on): Likewise.
21005         * modules/lchown (Depends-on): Likewise.
21006         * modules/ldexpl (Depends-on): Likewise.
21007         * modules/link (Depends-on): Likewise.
21008         * modules/linkat (Depends-on): Likewise.
21009         * modules/listen (Depends-on): Likewise.
21010         * modules/logl (Depends-on): Likewise.
21011         * modules/lstat (Depends-on): Likewise.
21012         * modules/mbrlen (Depends-on): Likewise.
21013         * modules/mbrtowc (Depends-on): Likewise.
21014         * modules/mbsinit (Depends-on): Likewise.
21015         * modules/mbsnrtowcs (Depends-on): Likewise.
21016         * modules/mbsrtowcs (Depends-on): Likewise.
21017         * modules/mbtowc (Depends-on): Likewise.
21018         * modules/memcmp (Depends-on): Likewise.
21019         * modules/mkdir (Depends-on): Likewise.
21020         * modules/mkdtemp (Depends-on): Likewise.
21021         * modules/mkfifo (Depends-on): Likewise.
21022         * modules/mkfifoat (Depends-on): Likewise.
21023         * modules/mknod (Depends-on): Likewise.
21024         * modules/mkostemp (Depends-on): Likewise.
21025         * modules/mkostemps (Depends-on): Likewise.
21026         * modules/mkstemp (Depends-on): Likewise.
21027         * modules/mkstemps (Depends-on): Likewise.
21028         * modules/mktime (Depends-on): Likewise.
21029         * modules/nanosleep (Depends-on): Likewise.
21030         * modules/open (Depends-on): Likewise.
21031         * modules/openat (Depends-on): Likewise.
21032         * modules/perror (Depends-on): Likewise.
21033         * modules/poll (Depends-on): Likewise.
21034         * modules/popen (Depends-on): Likewise.
21035         * modules/posix_spawn (Depends-on): Likewise.
21036         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21037         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21038         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21039         * modules/posix_spawnp (Depends-on): Likewise.
21040         * modules/pread (Depends-on): Likewise.
21041         * modules/printf-posix (Depends-on): Likewise.
21042         * modules/ptsname (Depends-on): Likewise.
21043         * modules/putenv (Depends-on): Likewise.
21044         * modules/pwrite (Depends-on): Likewise.
21045         * modules/readline (Depends-on): Likewise.
21046         * modules/readlink (Depends-on): Likewise.
21047         * modules/readlinkat (Depends-on): Likewise.
21048         * modules/recv (Depends-on): Likewise.
21049         * modules/recvfrom (Depends-on): Likewise.
21050         * modules/regex (Depends-on): Likewise.
21051         * modules/remove (Depends-on): Likewise.
21052         * modules/rename (Depends-on): Likewise.
21053         * modules/renameat (Depends-on): Likewise.
21054         * modules/rmdir (Depends-on): Likewise.
21055         * modules/round (Depends-on): Likewise.
21056         * modules/roundf (Depends-on): Likewise.
21057         * modules/roundl (Depends-on): Likewise.
21058         * modules/rpmatch (Depends-on): Likewise.
21059         * modules/select (Depends-on): Likewise.
21060         * modules/send (Depends-on): Likewise.
21061         * modules/sendto (Depends-on): Likewise.
21062         * modules/setenv (Depends-on): Likewise.
21063         * modules/setlocale (Depends-on): Likewise.
21064         * modules/setsockopt (Depends-on): Likewise.
21065         * modules/shutdown (Depends-on): Likewise.
21066         * modules/sigaction (Depends-on): Likewise.
21067         * modules/signbit (Depends-on): Likewise.
21068         * modules/sigprocmask (Depends-on): Likewise.
21069         * modules/sinl (Depends-on): Likewise.
21070         * modules/sleep (Depends-on): Likewise.
21071         * modules/snprintf (Depends-on): Likewise.
21072         * modules/snprintf-posix (Depends-on): Likewise.
21073         * modules/socket (Depends-on): Likewise.
21074         * modules/sprintf-posix (Depends-on): Likewise.
21075         * modules/sqrtl (Depends-on): Likewise.
21076         * modules/stat (Depends-on): Likewise.
21077         * modules/strchrnul (Depends-on): Likewise.
21078         * modules/strdup-posix (Depends-on): Likewise.
21079         * modules/strerror (Depends-on): Likewise.
21080         * modules/strerror_r-posix (Depends-on): Likewise.
21081         * modules/strndup (Depends-on): Likewise.
21082         * modules/strnlen (Depends-on): Likewise.
21083         * modules/strptime (Depends-on): Likewise.
21084         * modules/strsep (Depends-on): Likewise.
21085         * modules/strsignal (Depends-on): Likewise.
21086         * modules/strstr-simple (Depends-on): Likewise.
21087         * modules/strtod (Depends-on): Likewise.
21088         * modules/strtoimax (Depends-on): Likewise.
21089         * modules/strtok_r (Depends-on): Likewise.
21090         * modules/strtoumax (Depends-on): Likewise.
21091         * modules/symlink (Depends-on): Likewise.
21092         * modules/symlinkat (Depends-on): Likewise.
21093         * modules/tanl (Depends-on): Likewise.
21094         * modules/tcgetsid (Depends-on): Likewise.
21095         * modules/tmpfile (Depends-on): Likewise.
21096         * modules/trunc (Depends-on): Likewise.
21097         * modules/truncf (Depends-on): Likewise.
21098         * modules/truncl (Depends-on): Likewise.
21099         * modules/uname (Depends-on): Likewise.
21100         * modules/unlink (Depends-on): Likewise.
21101         * modules/unlockpt (Depends-on): Likewise.
21102         * modules/unsetenv (Depends-on): Likewise.
21103         * modules/usleep (Depends-on): Likewise.
21104         * modules/utimensat (Depends-on): Likewise.
21105         * modules/vasprintf (Depends-on): Likewise.
21106         * modules/vdprintf (Depends-on): Likewise.
21107         * modules/vdprintf-posix (Depends-on): Likewise.
21108         * modules/vfprintf-posix (Depends-on): Likewise.
21109         * modules/vprintf-posix (Depends-on): Likewise.
21110         * modules/vsnprintf (Depends-on): Likewise.
21111         * modules/vsnprintf-posix (Depends-on): Likewise.
21112         * modules/vsprintf-posix (Depends-on): Likewise.
21113         * modules/wcrtomb (Depends-on): Likewise.
21114         * modules/wcscasecmp (Depends-on): Likewise.
21115         * modules/wcscspn (Depends-on): Likewise.
21116         * modules/wcsdup (Depends-on): Likewise.
21117         * modules/wcsncasecmp (Depends-on): Likewise.
21118         * modules/wcsnrtombs (Depends-on): Likewise.
21119         * modules/wcspbrk (Depends-on): Likewise.
21120         * modules/wcsrtombs (Depends-on): Likewise.
21121         * modules/wcsspn (Depends-on): Likewise.
21122         * modules/wcsstr (Depends-on): Likewise.
21123         * modules/wcstok (Depends-on): Likewise.
21124         * modules/wcswidth (Depends-on): Likewise.
21125         * modules/wctob (Depends-on): Likewise.
21126         * modules/wctomb (Depends-on): Likewise.
21127         * modules/wctype (Depends-on): Likewise.
21128         * modules/wcwidth (Depends-on): Likewise.
21129         * modules/write (Depends-on): Likewise.
21130
21131 2011-05-03  Bruno Haible  <bruno@clisp.org>
21132
21133         Support for conditional dependencies.
21134         * doc/gnulib.texi (Module description): Document the syntax of
21135         conditional dependencies.
21136         * gnulib-tool: New option --conditional-dependencies.
21137         (func_usage): Document it.
21138         (cond_dependencies): New variable.
21139         (func_get_automake_snippet_conditional,
21140         func_get_automake_snippet_unconditional): New functions, extracted from
21141         func_get_automake_snippet.
21142         (func_get_automake_snippet): Use them.
21143         (sed_first_32_chars): New variable.
21144         (func_module_shellfunc_name): New function.
21145         (func_module_shellvar_name): New function.
21146         (func_module_conditional_name): New function.
21147         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21148         func_cond_module_condition): New functions.
21149         (func_modules_transitive_closure): Add support for conditional
21150         dependencies.
21151         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21152         conditional automake snippet in an automake conditional.
21153         (func_emit_autoconf_snippets): Emit shell functions that contain the
21154         code for conditional modules.
21155         (func_import, func_create_testdir): Update specification.
21156
21157 2011-05-03  Eric Blake  <eblake@redhat.com>
21158
21159         test-getaddrinfo: report error information
21160         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21161
21162 2011-05-03  Jim Meyering  <meyering@redhat.com>
21163
21164         bootstrap: avoid build failure when $GZIP is set
21165         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21166         program name.  If defined at all, it is supposed to list gzip options.
21167         Reported by Alan Curry in http://debbugs.gnu.org/8609
21168
21169 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21170
21171         readme-release: new module with release instructions
21172         * modules/readme-release: New module.
21173         * top/README-release: New file, from coreutils, grep, diffutils.
21174         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21175
21176 2011-05-02  Eric Blake  <eblake@redhat.com>
21177
21178         fflush: also replace fclose when fixing fflush
21179         * modules/fflush (Depends-on): Add fclose.
21180         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21181         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21182         memstreams with no backing fd.
21183         * doc/posix-functions/fclose.texi (fclose): Document the use of
21184         fflush module to fix the bug.
21185         * tests/test-fclose.c (main): Relax test when fclose is used in
21186         isolation.
21187
21188         fclose: add some tests
21189         * modules/fclose-tests: New test module.
21190         * tests/test-fclose.c: New file.
21191         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21192
21193         fclose: reduced dependencies
21194         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21195         simpler lseek.
21196         * lib/fclose.c (rpl_fclose): Likewise.
21197         Reported by Simon Josefsson.
21198
21199         exit: drop remaining clients
21200         * modules/argmatch (Depends-on): Replace exit with stdlib.
21201         * modules/copy-file (Depends-on): Likewise.
21202         * modules/execute (Depends-on): Likewise.
21203         * modules/exitfail (Depends-on): Likewise.
21204         * modules/obstack (Depends-on): Likewise.
21205         * modules/pagealign_alloc (Depends-on): Likewise.
21206         * modules/pipe-filter-gi (Depends-on): Likewise.
21207         * modules/pipe-filter-ii (Depends-on): Likewise.
21208         * modules/savewd (Depends-on): Likewise.
21209         * modules/spawn-pipe (Depends-on): Likewise.
21210         * modules/wait-process (Depends-on): Likewise.
21211         * modules/xsetenv (Depends-on): Likewise.
21212         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21213         * modules/git-merge-changelog (Depends-on): Likewise.
21214         * modules/long-options (Depends-on): Likewise.
21215         * modules/pt_chown (Depends-on): Likewise.
21216         * modules/sysexits (Depends-on): Likewise.
21217
21218         freading: relax license from LGPLv3+ to LGPLv2+
21219         * modules/freading (License): Relax LGPL version.
21220
21221 2011-05-02  Bruno Haible  <bruno@clisp.org>
21222
21223         fchdir: Remove unused dependencies.
21224         * modules/fchdir (Depends-on): Remove include_next.
21225
21226 2011-05-02  Bruno Haible  <bruno@clisp.org>
21227
21228         gnulib-tool: Refactor.
21229         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21230         from func_emit_autoconf_snippets.
21231         (func_emit_autoconf_snippets): Use it.
21232
21233 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21234
21235         * NEWS: Document removal of 'exit'.
21236         * modules/exit: Remove file.
21237
21238 2011-05-01  Bruno Haible  <bruno@clisp.org>
21239
21240         Update DEPENDENCIES.
21241         * DEPENDENCIES (gettext): Recommend the newest release.
21242         Reported by Simon Josefsson.
21243
21244 2011-05-01  Bruno Haible  <bruno@clisp.org>
21245
21246         gnulib-tool: Reduce code duplication.
21247         * gnulib-tool (func_emit_autoconf_snippets): New function.
21248         (func_import, func_create_testdir): Use it.
21249
21250 2011-04-30  Eric Blake  <eblake@redhat.com>
21251
21252         fclose: don't fail on non-seekable input stream
21253         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21254         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21255         since fflush is allowed to fail in that case.
21256
21257 2011-04-30  Bruno Haible  <bruno@clisp.org>
21258
21259         dup3: cleanup
21260         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21261
21262 2011-04-30  Bruno Haible  <bruno@clisp.org>
21263
21264         netdb: Make it work in C++ mode.
21265         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21266         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21267         module.
21268         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21269         gl_MODULE_INDICATOR_FOR_TESTS.
21270         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21271         * modules/netdb-c++-tests: New file.
21272         * tests/test-netdb-c++.cc: New file.
21273
21274 2011-04-30  Bruno Haible  <bruno@clisp.org>
21275
21276         New modules 'vfscanf', 'vscanf'.
21277         * modules/vfscanf: New file.
21278         * modules/vscanf: New file.
21279         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21280         here.
21281         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21282         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21283
21284 2011-04-30  Bruno Haible  <bruno@clisp.org>
21285
21286         passfd: Add comments.
21287         * lib/passfd.c: Add comments about platforms.
21288
21289 2011-04-30  Bruno Haible  <bruno@clisp.org>
21290
21291         sys_uio: Make <sys/uio.h> self-contained.
21292         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21293         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21294
21295 2011-04-30  Bruno Haible  <bruno@clisp.org>
21296
21297         sys_socket: Ensure 'struct iovec' definition.
21298         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21299         <sys/socket.h>.
21300         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21301
21302 2011-04-30  Bruno Haible  <bruno@clisp.org>
21303
21304         sys_uio: Protect definition of 'struct iovec'.
21305         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21306         it as a C struct.
21307
21308 2011-04-30  Bruno Haible  <bruno@clisp.org>
21309
21310         manywarnings: fix indentation
21311         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21312
21313 2011-04-30  Pádraig Brady <P@draigBrady.com>
21314
21315         manywarnings: add -Wno-missing-field-initializers if needed.
21316         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21317         option if it's needed to allow initialization with { 0, }
21318
21319 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21320
21321         announce-gen: cosmetic improvement
21322         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21323
21324 2011-04-29  Jim Meyering  <meyering@redhat.com>
21325
21326         vc-list-files: indent with spaces, not TABs
21327         * build-aux/vc-list-files: Convert leading TABs to spaces,
21328         to match the style of most other files in gnulib.
21329
21330         announce-gen: indent with spaces, not TABs
21331         * build-aux/announce-gen: Convert all TABs to spaces, to match
21332         the style of most other files in gnulib.
21333
21334 2011-04-29  Eric Blake  <eblake@redhat.com>
21335
21336         quotearg: avoid uninitialized variable use
21337         * lib/quotearg.c (quoting_options_from_style): Initialize
21338         remaining fields, and ensure that custom styles are only used via
21339         quoting_options rather than quoting_style.
21340
21341 2011-04-29  Jim Meyering  <meyering@redhat.com>
21342
21343         maint.mk: remove unused VC-tag variable
21344         * top/maint.mk (VC-tag): Remove unused variable.
21345
21346 2011-04-29  Bruno Haible  <bruno@clisp.org>
21347
21348         netdb: fix gai_strerror replacements
21349         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21350         * modules/netdb: Substitute it.
21351
21352 2011-04-29  Jim Meyering  <meyering@redhat.com>
21353
21354         test-getcwd.c: avoid new set-but-not-used warning
21355         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21356         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21357         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21358         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21359
21360         test-hash.c: avoid a new shadowing warning
21361         * tests/test-hash.c (main): Don't shadow "dup".
21362
21363 2011-04-28  Eric Blake  <eblake@redhat.com>
21364
21365         getaddrinfo: fix gai_strerror signature
21366         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21367         and work around mingw with UNICODE defined.
21368         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21369         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21370         * modules/netdb (Makefile.am): Substitute it.
21371         * lib/netdb.in.h (gai_strerror): Declare replacement.
21372         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21373         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21374         the fix.
21375
21376         getsockopt: avoid compiler warning
21377         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21378         Reported by Matthias Bolte.
21379
21380         tests: drop unused link dependency
21381         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21382         * modules/dirent-safer-tests (Makefile.am): Likewise.
21383         * modules/fdopendir-tests (Makefile.am): Likewise.
21384         * modules/mkfifoat-tests (Makefile.am): Likewise.
21385         * modules/openat-safer-tests (Makefile.am): Likewise.
21386         * modules/openat-tests (Makefile.am): Likewise.
21387         * modules/readlinkat-tests (Makefile.am): Likewise.
21388         * modules/symlinkat-tests (Makefile.am): Likewise.
21389         * modules/linkat-tests (Makefile.am): Likewise.
21390         (Depends-on): Switch to filenamecat-lgpl.
21391         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21392         LIBINTL.
21393         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21394         * tests/test-linkat.c (main): Don't require xalloc.
21395
21396         hash, mgetgroups: drop xalloc dependency
21397         * lib/hash.c (includes): Adjust includes.
21398         * lib/mgetgroups.c (includes): Likewise.
21399         (xgetgroups): Move...
21400         * lib/xgetgroups.c: ...to new file.
21401         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21402         * modules/xgetgroups: New file, split from...
21403         * modules/mgetgroups: ...here.
21404         (Depends-on): Add xalloc-oversized.
21405         * modules/hash (Depends-on): Likewise.
21406         * modules/hash-tests (Depends-on): Drop xalloc.
21407         (test_hash_LDADD): Drop unused library.
21408         * tests/test-hash.c (main): Break xalloc dependency.
21409         (includes): Drop unused include.
21410
21411         xalloc-oversized: new module
21412         * modules/xalloc-oversized: New module.
21413         * modules/xalloc (Depends-on): Add it.
21414         * lib/xalloc.h (xalloc_oversized): Move...
21415         * lib/xalloc-oversized.h: ...into new file.
21416
21417         utimecmp: drop dependency on xmalloc
21418         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21419         due to memory pressure.
21420         * modules/utimecmp (Depends-on): Drop xalloc.
21421
21422 2011-04-27  Eric Blake  <eblake@redhat.com>
21423
21424         getcwd: fix mingw bugs
21425         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21426         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21427         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21428
21429 2011-04-27  Bruno Haible  <bruno@clisp.org>
21430
21431         mkstemps: Ensure declaration on MacOS X 10.5.
21432         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21433         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21434         MacOS X.
21435
21436 2011-04-27  Bruno Haible  <bruno@clisp.org>
21437
21438         mkstemp: More documentation.
21439         * doc/posix-functions/mkstemp.texi: Document header file problem on
21440         MacOS X.
21441
21442 2011-04-27  Bruno Haible  <bruno@clisp.org>
21443
21444         mkstemp: Tweak configure message when cross-compiling.
21445         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21446         result as a guess.
21447
21448 2011-04-27  Bruno Haible  <bruno@clisp.org>
21449
21450         clean-temp: Clarify what it does.
21451         * lib/clean-temp.h: Add more comments.
21452         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21453         module.
21454         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21455         * doc/glibc-functions/mkstemps.texi: Likewise.
21456         * doc/glibc-functions/mkostemps.texi: Likewise.
21457
21458 2011-04-27  Eric Blake  <eblake@redhat.com>
21459
21460         fchdir: avoid extra chdir and fix test
21461         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21462         getcwd-lgpl.
21463         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21464         have to be canonical.
21465         (canonicalize_file_name): Drop unused macro.
21466         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21467
21468         filenamecat-lgpl: fix licence
21469         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21470         when it was first created.
21471
21472         linkat, renameat: add missing dependency
21473         * modules/linkat (Depends-on): Require getcwd-lgpl.
21474         * modules/renameat (Depends-on): Likewise.
21475
21476         tests: reduce dependencies
21477         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21478         * tests/test-renameat.c (main): Likewise.
21479         * modules/linkat-tests (Depends-on): Relax dependency.
21480         * modules/renameat-tests (Depends-on): Likewise.
21481         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21482         dependency explicit.
21483
21484         save-cwd: reduce default dependency
21485         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21486         * lib/save-cwd.c: Update comments.
21487         * NEWS: Document the semantic change.
21488
21489         getcwd: enhance tests
21490         * tests/test-getcwd-lgpl.c: New file, taken from...
21491         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21492         repeat long path stress tests from m4 probe.
21493         * modules/getcwd-lgpl-tests: New module.
21494         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21495         * m4/getcwd-abort-bug.m4: Update comment.
21496         * m4/getcwd-path-max.m4: Likewise.
21497
21498         getcwd-lgpl: new module
21499         * modules/getcwd-lgpl: New module.
21500         * lib/getcwd-lgpl.c: New file.
21501         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21502         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21503         * modules/getcwd (configure.ac): Set C witness.
21504         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21505
21506         getcwd: tweak comments
21507         * m4/getcwd-abort-bug.m4: Fix comments.
21508         * m4/getcwd-path-max.m4: Likewise.
21509         * m4/getcwd.m4: Likewise.
21510
21511 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21512         and Eric Blake  <eblake@redhat.com>
21513
21514         mkstemp: replace if system version uses wrong permissions
21515         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21516         read/write mode bits set in file created by mkstemp.
21517         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21518
21519 2011-04-27  Eric Blake  <eblake@redhat.com>
21520
21521         passfd: avoid compiler warning
21522         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21523         Reported by Laine Stump.
21524
21525 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21526
21527         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21528         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21529
21530 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21531         and Eric Blake  <eblake@redhat.com>
21532
21533         mkstemp: mention clean-temp module
21534         * lib/mkstemp.c: Add comment.
21535         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21536
21537 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21538
21539         inttypes: also provide default values for 32-bit tests
21540         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21541         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21542
21543 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21544
21545         strtoumax: remove dependency on strtoimax
21546         This is like the strtoull change of yesterday.
21547         * modules/strtoumax (Files): Add lib/strtoimax.c.
21548         (Depends-on): Remove strtoimax and add verify.
21549
21550         inttypes-incomplete: new module
21551         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21552         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21553         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21554         of gl_INTTYPES_H.
21555         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21556         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21557         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21558         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21559         * modules/strtoumax, modules/xstrtol (Depends-on):
21560         Depend on inttypes-incomplete, not inttypes.
21561         * modules/inttypes-incomplete: New module, containing the contents
21562         of the old modules/inttypes module, except that the Files: section
21563         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21564         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21565         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21566         (Depends-on): Depend only on inttypes-incomplete.
21567         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21568
21569         inttypes: omit now-redundant strtoimax and strtoumax work
21570         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21571         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21572
21573         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21574         This supports apps that need pointers to strtoimax and strtoumax,
21575         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21576         nonexistent functions.  See
21577         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21578         et seq.
21579         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21580         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21581         a macro.
21582         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21583
21584 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21585
21586         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21587
21588 2011-04-25  Bruno Haible  <bruno@clisp.org>
21589
21590         strtol, strtoul: Mark modules as obsolete.
21591         * modules/strtol (Status, Notice): New sections.
21592         * modules/strtoul (Status, Notice): New sections.
21593
21594 2011-04-25  Bruno Haible  <bruno@clisp.org>
21595
21596         strtod: Remove check for strtod, unless supporting old platforms.
21597         * modules/strtod-obsolete: New file.
21598         * m4/strtod-obsolete.m4: New file.
21599         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21600         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21601         * modules/strtod (Depends-on): Add strtod-obsolete.
21602         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21603
21604 2011-04-25  Bruno Haible  <bruno@clisp.org>
21605
21606         strcase: Make module obsolete.
21607         * modules/strcase (Status, Notice): New sections.
21608
21609 2011-04-25  Bruno Haible  <bruno@clisp.org>
21610
21611         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21612         * modules/dup2-obsolete: New file.
21613         * m4/dup2-obsolete.m4: New file.
21614         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21615         gl_FUNC_DUP2_OBSOLETE is not also defined.
21616         * modules/dup2 (Depends-on): Add dup2-obsolete.
21617         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21618
21619 2011-04-25  Bruno Haible  <bruno@clisp.org>
21620
21621         strnlen: Avoid memchr related link error on old obsolete platforms.
21622         * modules/memchr-obsolete: New file.
21623         * m4/memchr-obsolete.m4: New file.
21624         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21625         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21626         * modules/memchr (Depends-on): Add memchr-obsolete.
21627         * modules/strnlen (Depends-on): Likewise.
21628         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21629
21630 2011-04-25  Jim Meyering  <meyering@redhat.com>
21631
21632         maint.mk: makefile_at_at_check extend and clean up
21633         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21634         in addition to */Makefile.am.
21635         Exempt legitimate uses of @VAR@ notation, e.g.,
21636         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21637         Remove obsolete coreutils-specific comment.
21638         Prompted by discussion here:
21639         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21640
21641 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21642
21643         strtoul: remove dependency on strtol
21644         This is so that 'configure' need not check for strtol merely because
21645         the application needs strtoul.
21646         * modules/strtoul (Files): Add lib/strtol.c.
21647         (Depends-on): Remove strtol.
21648
21649         strtoull: remove dependency on strtoul
21650         This is like the strtoll change.
21651         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21652         (Depends-on): Remove strtoul.
21653
21654         strtoll: remove dependency on strtol
21655         This is so that 'configure' need not check for strtol merely because
21656         the application needs strtoll.
21657         * modules/strtoll (Files): Add lib/strtol.c.
21658         (Depends-on): Remove strtol.
21659
21660 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21661
21662         inttypes: Move some configure check to module 'imaxdiv'.
21663         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21664         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21665         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21666
21667 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21668
21669         inttypes: Move some configure check to module 'imaxabs'.
21670         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21671         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21672         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21673
21674 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21675
21676         inttypes: Remove configure tests that are not needed since 2009-12-31.
21677         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21678         gl_cv_header_working_inttypes_h.
21679
21680 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21681
21682         * modules/strnlen (Depends-on): Remove memchr.
21683         The strnlen implementation doesn't need the memchr module's fixes; see
21684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21685
21686         strtol: remove dependency on wchar
21687         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21688         * modules/strtol (Depends-on): Remove wchar.
21689
21690 2011-04-21  Eric Blake  <eblake@redhat.com>
21691
21692         passfd: fix test regression on Linux
21693         * modules/passfd-tests (configure.ac): Correct socketpair check.
21694
21695         passfd: speed up configure and drop unused code
21696         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21697         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21698         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21699         Instead of probing at configure for unix_scm_rights_bsd44_way,
21700         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21701         check to a struct member probe.
21702         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21703         (sendfd, recvfd): Update preprocessor checks.
21704         * modules/passfd (Files): Reflect rename, and drop unused file.
21705         (Depends-on): Drop unused dependency.
21706
21707         passfd: allow compilation on mingw
21708         * modules/sys_socket (Depends-on): Add sys_uio.
21709         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21710         iovec and a minimal struct msghdr.
21711         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21712         * tests/test-sys_socket.c (main): Enhance test.
21713         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21714         guaranteed to provide what we need.
21715         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21716         * modules/passfd-tests (Depends-on): Add sys_wait.
21717         * tests/test-passfd.c (main): Skip test on mingw, for now.
21718         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21719         partial 'struct msghdr' implementation.
21720
21721         sys_uio: new module
21722         * modules/sys_uio: New module.
21723         * modules/sys_uio-tests: Likewise.
21724         * lib/sys_uio.in.h: New file.
21725         * m4/sys_uio_h.m4: Likewise.
21726         * tests/test-sys_uio.c: Likewise.
21727         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21728         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21729
21730 2011-04-20  Jim Meyering  <meyering@redhat.com>
21731
21732         useless-if-before-free: avoid false-positive
21733         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21734         disjunct so that it too requires a terminating ";".  Without that,
21735         this script would identify as useless one statement from gcc that
21736         was not:
21737           if (aligned_ptr)
21738             free (((void **) aligned_ptr) [-1]);
21739
21740 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21741
21742         doc: update users.txt.
21743         * users.txt: Add barcode.
21744
21745 2011-04-19  Bruno Haible  <bruno@clisp.org>
21746
21747         ioctl: Remove link dependency on native Windows.
21748         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21749         (gl_close_fn, gl_ioctl_fn): New types.
21750         (struct fd_hook): Renamed from struct close_hook. Change type of
21751         private_close_fn field. Add private_ioctl_fn field.
21752         (close_hook_fn): Add parameter for primary close method.
21753         (execute_close_hooks, execute_all_close_hooks): Likewise.
21754         (ioctl_hook_fn): New type.
21755         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21756         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21757         argument.
21758         (unregister_fd_hook): Renamed from unregister_close_hook.
21759         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21760         Don't include <unistd.h>.
21761         (close): Remove undef.
21762         (anchor): Update.
21763         (execute_close_hooks): Add argument for primary close method.
21764         (execute_all_close_hooks): Likewise.
21765         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21766         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21767         argument. Allow each argument to be NULL.
21768         (unregister_fd_hook): Renamed from unregister_close_hook.
21769         * lib/close.c (rpl_close): Pass 'close' function pointer to
21770         execute_all_close_hooks.
21771         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21772         (primary_ioctl): New function.
21773         (ioctl): Don't call ioctlsocket here. Instead, call
21774         execute_all_ioctl_hooks.
21775         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21776         close method.
21777         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21778         (fd_sockets_hook): Renamed from close_sockets_hook.
21779         (gl_sockets_startup, gl_sockets_cleanup): Update.
21780         * modules/fd-hook: Renamed from modules/close-hook. Update.
21781         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21782         * modules/sockets (Depends-on): Likewise.
21783         * modules/ioctl (Depends-on): Add fd-hook.
21784         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21785         GNULIB_SOCKET.
21786
21787 2011-04-19  Bruno Haible  <bruno@clisp.org>
21788
21789         Move the support of O_NONBLOCK in open() to the 'open' module.
21790         * modules/nonblocking (Depends-on): Remove 'open'.
21791         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21792         gl_cv_have_open_O_NONBLOCK.
21793         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21794         O_NONBLOCK support.
21795         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21796
21797 2011-04-17  Bruno Haible  <bruno@clisp.org>
21798
21799         pipe2: Simplify code.
21800         * lib/pipe2.c (pipe2): Reduce code duplication.
21801
21802 2011-04-17  Bruno Haible  <bruno@clisp.org>
21803
21804         nonblocking: Add comment.
21805         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21806
21807 2011-04-17  Bruno Haible  <bruno@clisp.org>
21808
21809         nonblocking: Add tests for sockets.
21810         * tests/test-nonblocking-socket.sh: New file.
21811         * tests/test-nonblocking-socket-main.c: New file.
21812         * tests/test-nonblocking-socket-child.c: New file.
21813         * tests/test-nonblocking-socket.h: New file.
21814         * tests/socket-server.h: New file.
21815         * tests/socket-client.h: New file.
21816         * modules/nonblocking-socket-tests: New file.
21817         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21818
21819 2011-04-17  Bruno Haible  <bruno@clisp.org>
21820
21821         nonblocking: Add tests for pipes.
21822         * tests/test-nonblocking-pipe.sh: New file.
21823         * tests/test-nonblocking-pipe-main.c: New file.
21824         * tests/test-nonblocking-pipe-child.c: New file.
21825         * tests/test-nonblocking-pipe.h: New file.
21826         * tests/test-nonblocking-writer.h: New file.
21827         * tests/test-nonblocking-reader.h: New file.
21828         * tests/test-nonblocking-misc.h: New file.
21829         * modules/nonblocking-pipe-tests: New file.
21830         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21831
21832 2011-04-16  Bruno Haible  <bruno@clisp.org>
21833
21834         gettext: Clarify the needed programmer actions.
21835         * modules/gettext (Notice): New field.
21836         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21837
21838 2011-04-16  Bruno Haible  <bruno@clisp.org>
21839
21840         strchrnul: Tweak last commit.
21841         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21842         bug.
21843         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21844         as in _GL_FUNCDECL_SYS.
21845         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21846         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21847
21848 2011-04-15  Eric Blake  <eblake@redhat.com>
21849
21850         strchrnul: work around cygwin bug
21851         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21852         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21853         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21854         * modules/string (Makefile.am): Substitute it.
21855         * lib/string.in.h (strchrnul): Use it.
21856
21857 2011-04-15  Bruno Haible  <bruno@clisp.org>
21858
21859         Don't require lib/stdio-write.c when only module 'stdio' is used.
21860         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21861         invocation.
21862         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21863
21864 2011-04-14  Bruno Haible  <bruno@clisp.org>
21865
21866         Support non-blocking pipe I/O in read() on native Windows.
21867         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21868         (read): New declaration.
21869         * lib/read.c: New file.
21870         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21871         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21872         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21873         vscanf): New declarations.
21874         * lib/stdio-read.c: New file.
21875         * m4/read.m4: New file.
21876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21877         REPLACE_READ.
21878         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21879         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21880         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21881         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21882         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21883         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21884         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21885         * modules/read: New file.
21886         * modules/nonblocking (Files): Add lib/stdio-read.c.
21887         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21888         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21889         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21890         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21891         * modules/pread (Depends-on): Add read.
21892         * modules/safe-read (Depends-on): Likewise.
21893         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21894         gets, scanf, vfscanf, vscanf): Verify signatures.
21895         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21896         problem with non-blocking pipes.
21897         * doc/posix-functions/fgetc.texi: Likewise.
21898         * doc/posix-functions/fgets.texi: Likewise.
21899         * doc/posix-functions/fread.texi: Likewise.
21900         * doc/posix-functions/fscanf.texi: Likewise.
21901         * doc/posix-functions/getc.texi: Likewise.
21902         * doc/posix-functions/getchar.texi: Likewise.
21903         * doc/posix-functions/gets.texi: Likewise.
21904         * doc/posix-functions/scanf.texi: Likewise.
21905         * doc/posix-functions/vfscanf.texi: Likewise.
21906         * doc/posix-functions/vscanf.texi: Likewise.
21907
21908 2011-04-14  Bruno Haible  <bruno@clisp.org>
21909
21910         Support non-blocking pipe I/O in write() on native Windows.
21911         * lib/write.c (rpl_write): Split a write request that failed merely
21912         because the byte count was larger than the pipe buffer's size.
21913         * doc/posix-functions/write.texi: Mention the problem with large byte
21914         counts.
21915
21916 2011-04-14  Bruno Haible  <bruno@clisp.org>
21917
21918         wchar: Ensure that wchar_t gets defined on uClibc.
21919         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21920         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21921
21922 2011-04-13  Bruno Haible  <bruno@clisp.org>
21923
21924         safe-write, full-read: Avoid unnecessary compilation units.
21925         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21926         (Depends-on): Remove safe-read. Add ssize_t.
21927         * modules/full-read (Files): Add lib/full-write.c.
21928         (Depends-on): Add full-write.
21929
21930 2011-04-13  Bruno Haible  <bruno@clisp.org>
21931
21932         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21933         * modules/pwrite (Depends-on): Add 'write'.
21934
21935 2011-04-13  Bruno Haible  <bruno@clisp.org>
21936
21937         Support non-blocking pipe I/O in write() on native Windows.
21938         * lib/unistd.in.h (write): Enable replacement also if
21939         GNULIB_UNISTD_H_NONBLOCKING is 1.
21940         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21941         (rpl_write): When failing to write on a non-blocking pipe, change
21942         errno from ENOSPC to EAGAIN.
21943         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21944         putchar, puts, vfprintf, vprintf): Enable replacement also if
21945         GNULIB_STDIO_H_NONBLOCKING is 1.
21946         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21947         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21948         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21949         CALL_WITH_SIGPIPE_EMULATION.
21950         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21951         * m4/nonblocking.m4: New file.
21952         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21953         for non-blocking I/O support.
21954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21955         GNULIB_UNISTD_H_NONBLOCKING.
21956         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21957         required for non-blocking I/O support.
21958         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21959         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21960         lib/stdio-write.c, m4/asm-underscore.m4.
21961         (Depends-on): Add stdio, unistd.
21962         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21963         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21964         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21965         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21966         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21967         problem with non-blocking pipes.
21968         * doc/posix-functions/fputc.texi: Likewise.
21969         * doc/posix-functions/fputs.texi: Likewise.
21970         * doc/posix-functions/fwrite.texi: Likewise.
21971         * doc/posix-functions/printf.texi: Likewise.
21972         * doc/posix-functions/putc.texi: Likewise.
21973         * doc/posix-functions/putchar.texi: Likewise.
21974         * doc/posix-functions/puts.texi: Likewise.
21975         * doc/posix-functions/vfprintf.texi: Likewise.
21976         * doc/posix-functions/vprintf.texi: Likewise.
21977         * doc/posix-functions/write.texi: Likewise.
21978
21979 2011-04-10  Jim Meyering  <meyering@redhat.com>
21980
21981         maint.mk: prohibit doubled words
21982         Detect them also when they're separated by a newline.
21983         There are 3 ways to customize it:
21984           - disable the test on a per file basis, as usual with rules using
21985             $(VC_LIST_EXCEPT)
21986           - replace the default doubled-word-selecting regexp (affects all files)
21987           - ignore a particular file-vs-doubled-word match
21988         I nearly used that last one to ignore the "is is" match in
21989         coreutils' NEWS file, since the text was "ls -is is ..."
21990         To do that, I would have added this line to cfg.mk:
21991           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21992         but it would have ignored any "is is" match in NEWS.
21993         Low probability, but still...
21994         Instead, I changed the text, slightly:
21995           -  ls -is is now consistent with ls -lis in ignoring values returned
21996           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21997         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21998         (prohibit_doubled_word_): Define.
21999         (sc_prohibit_doubled_word): New rule.
22000         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22001
22002 2011-04-10  Jim Meyering  <meyering@redhat.com>
22003
22004         maint: fix doubled-word typo in comment
22005         * m4/gethostname.m4: s/is is/it is/
22006         * m4/getdomainname.m4: Likewise.
22007
22008 2011-04-10  Jim Meyering  <meyering@redhat.com>
22009
22010         maint: remove doubled word: s/it it/it/
22011         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22012
22013 2011-04-10  Jim Meyering  <meyering@redhat.com>
22014
22015         maint.mk: remove useless semicolon and backslash
22016         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22017         semicolon and backslash.
22018
22019 2011-04-10  Bruno Haible  <bruno@clisp.org>
22020
22021         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22022         * modules/stdint-tests (Depends-on): Add wchar.
22023
22024 2011-04-10  Jim Meyering  <meyering@redhat.com>
22025
22026         maint: remove doubled words in comments, e.g., s/a a/a/
22027         * lib/strptime.c (day_of_the_week): s/the the/the/
22028         * tests/test-chown.h (test_chown): s/a a/a/
22029
22030         test-chown.h: correct a cast
22031         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22032         when the destination is a stat.st_gid.
22033
22034 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22035
22036         getaddrinfo: Fix test for sa_len member.
22037         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22038         include <sys/types.h> before <sys/socket.h>.
22039
22040 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22041
22042         maint: change "can not" to "cannot"
22043         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22044         boundaries.
22045
22046 2011-04-09  Jim Meyering  <meyering@redhat.com>
22047
22048         maint: change "a a" to "a"
22049         * tests/test-lchown.h (test_lchown): s/a a/a/
22050
22051         maint.mk: prohibit \<the the\>
22052         * top/maint.mk (sc_prohibit_the_the): New rule.
22053
22054         maint: fix "the the" in comment
22055         * lib/count-one-bits.h: s/the the/the/
22056
22057         maint: change "can not" to "cannot"
22058         But do not change the occurrences in maintain.texi or in
22059         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22060         * doc/gnulib-tool.texi: s/can not/cannot/
22061         * doc/posix-functions/accept.texi (accept): Likewise.
22062         * doc/posix-functions/socket.texi (socket): Likewise.
22063         * lib/mbrtowc.c: Likewise.
22064
22065         maint.mk: prohibit use of "can not"
22066         * top/maint.mk (sc_prohibit_can_not): New rule.
22067         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22068
22069 2011-04-09  Bruno Haible  <bruno@clisp.org>
22070
22071         careadlinkat: Guard against misuse of careadlinkatcwd.
22072         * lib/careadlinkat.c: Include <stdlib.h>.
22073         (careadlinkatcwd): Check that the fd argument is as expected.
22074
22075 2011-04-09  Bruno Haible  <bruno@clisp.org>
22076
22077         careadlinkat: Use common coding style.
22078         * lib/careadlinkat.c: Move gnulib includes after system includes.
22079
22080 2011-04-09  Bruno Haible  <bruno@clisp.org>
22081
22082         careadlinkat: Clarify specification.
22083         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22084         (careadlinkatcwd): Add comment.
22085         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22086
22087 2011-04-09  Bruno Haible  <bruno@clisp.org>
22088
22089         areadlinkat: Avoid link error on many platforms.
22090         * modules/areadlinkat (Depends-on): Add areadlink.
22091
22092 2011-04-09  Bruno Haible  <bruno@clisp.org>
22093
22094         allocator, careadlinkat: Fix double-inclusion guard.
22095         * lib/allocator.h: Fix double-inclusion guard.
22096         * lib/careadlinkat.h: Likewise.
22097
22098 2011-04-09  Bruno Haible  <bruno@clisp.org>
22099
22100         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22101         * lib/relocwrapper.c: Update dependencies hierarchy.
22102         * build-aux/install-reloc: Update list of files to be compiled.
22103         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22104         lib/allocator.[hc].
22105
22106 2011-04-08  Eric Blake  <eblake@redhat.com>
22107
22108         strftime: silence gnulib-tool warning
22109         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22110
22111 2011-04-08  Bruno Haible  <bruno@clisp.org>
22112
22113         verify: Fix syntax error with GCC 4.6 in C++ mode.
22114         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22115         (HAVE_STATIC_ASSERT): New macro.
22116         (verify_true, verify): Use 'static_assert' if it is supported and
22117         '_Static_assert' is not supported.
22118
22119 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22120
22121         allocator: New module.
22122         * modules/allocator, lib/allocator.c: New files.
22123         * lib/allocator.h (stdlib_allocator): New decl.
22124         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22125         Remove.  Do not include <stdlib.h>.
22126         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22127         * modules/careadlinkat (Files): Remove lib/allocator.h.
22128         (Depends-on): Add allocator.
22129
22130         stdlib: let modules use system malloc, realloc
22131         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22132         if !_GL_USE_STDLIB_ALLOC.
22133         (malloc, realloc): Limit this change to a smaller scope.
22134
22135         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22136         (malloc, realloc): Don't #undef; no longer needed.
22137         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22138         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22139         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22140         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22141         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22142         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22143         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22144         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22145
22146         careadlinkat: rename members to avoid problem
22147         * lib/allocator.h (struct allocator): Rename members from
22148         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22149         and realloc are #define'd.  Reported by Eric Blake in
22150         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22151         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22152
22153 2011-04-08  Eric Blake  <eblake@redhat.com>
22154
22155         nonblocking: reduce dependency
22156         * tests/test-nonblocking.c: Only test sockets when in use.
22157         * modules/nonblocking-tests (Depends-on): Drop socket.
22158         (Makefile.am): Link even if sockets are not present.
22159         * modules/pipe2-tests (Makefile.am): Likewise.
22160         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22161
22162         pipe2: fix O_NONBLOCK support on mingw
22163         * modules/pipe2 (Depends-on): Add nonblocking.
22164         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22165         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22166         * tests/test-nonblocking.c (main): Likewise.
22167         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22168
22169         fcntl-h: fix O_ACCMODE on cygwin
22170         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22171         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22172
22173         pipe-filter: drop O_NONBLOCK workarounds
22174         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22175         * modules/pipe-filter-ii (Depends-on): Likewise.
22176         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22177
22178         nonblocking: provide O_NONBLOCK for mingw
22179         * modules/nonblocking (Depends-on): Add open.
22180         (configure.ac): Set new witness macro.
22181         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22182         * modules/fcntl-h (Makefile.am): Substitute it.
22183         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22184         nonblocking module is in use.
22185         * lib/nonblocking.c: Adjust portability test.
22186         * lib/open.c (open): Don't let native open see gnulib flag.
22187         * tests/test-fcntl-h.c (main): Enhance test.
22188         * tests/test-open.h (test_open): Likewise.
22189         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22190
22191         careadlinkat: fix compilation error on mingw
22192         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22193         within struct allocator.
22194
22195 2011-04-06  Eric Blake  <eblake@redhat.com>
22196
22197         binary-io: relicense under LGPLv2+
22198         * modules/binary-io (License): Relax to LGPLv2+.
22199         Requested for libvirt, and required by pipe2.
22200
22201 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22202
22203         verify: use _Static_assert if available
22204         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22205         (verify_true, verify): Use it if available.  This generates better
22206         diagnostics with GCC 4.6.0 and later.
22207
22208 2011-04-05  Bruno Haible  <bruno@clisp.org>
22209
22210         Remove leftover generated .h files after config.status changed.
22211
22212         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22213         GL_GENERATE_ALLOCA_H.
22214         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22215         GL_GENERATE_ALLOCA_H evaluates to false.
22216
22217         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22218         GL_GENERATE_ARGZ_H.
22219         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22220         evaluates to false.
22221
22222         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22223         GL_GENERATE_BYTESWAP_H.
22224         * modules/byteswap (Makefile.am): Remove byteswap.h if
22225         GL_GENERATE_BYTESWAP_H evaluates to false.
22226
22227         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22228         GL_GENERATE_ERRNO_H.
22229         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22230         evaluates to false.
22231
22232         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22233         GL_GENERATE_FLOAT_H.
22234         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22235         evaluates to false.
22236
22237         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22238         GL_GENERATE_FNMATCH_H.
22239         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22240         GL_GENERATE_FNMATCH_H evaluates to false.
22241
22242         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22243         GL_GENERATE_GLOB_H.
22244         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22245         evaluates to false.
22246
22247         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22248         automake conditional GL_GENERATE_ICONV_H.
22249         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22250         evaluates to false.
22251
22252         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22253         GL_GENERATE_NETINET_IN_H.
22254         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22255         GL_GENERATE_NETINET_IN_H evaluates to false.
22256
22257         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22258         conditional GL_GENERATE_PTHREAD_H.
22259         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22260         * modules/pthread (Makefile.am): Remove pthread.h if
22261         GL_GENERATE_PTHREAD_H evaluates to false.
22262
22263         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22264         GL_GENERATE_SCHED_H.
22265         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22266         evaluates to false.
22267
22268         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22269         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22270         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22271         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22272
22273         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22274         GL_GENERATE_STDARG_H.
22275         * modules/stdarg (Makefile.am): Remove stdarg.h if
22276         GL_GENERATE_STDARG_H evaluates to false.
22277
22278         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22279         GL_GENERATE_STDBOOL_H.
22280         * modules/stdbool (Makefile.am): Remove stdbool.h if
22281         GL_GENERATE_STDBOOL_H evaluates to false.
22282
22283         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22284         conditional GL_GENERATE_STDDEF_H.
22285         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22286         * modules/stddef (Makefile.am): Remove stddef.h if
22287         GL_GENERATE_STDDEF_H evaluates to false.
22288
22289         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22290         GL_GENERATE_STDINT_H.
22291         * modules/stdint (Makefile.am): Remove stdint.h if
22292         GL_GENERATE_STDINT_H evaluates to false.
22293
22294         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22295         GL_GENERATE_SYSEXITS_H.
22296         * modules/sysexits (Makefile.am): Remove sysexits.h if
22297         GL_GENERATE_SYSEXITS_H evaluates to false.
22298
22299         Reported by Karl Berry and Ralf Wildenhues.
22300
22301 2011-04-05  Bruno Haible  <bruno@clisp.org>
22302
22303         Ensure to rebuild generated .h files when config.status has changed.
22304         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22305         config.status.
22306         * modules/ctype (Makefile.am): Likewise.
22307         * modules/dirent (Makefile.am): Likewise.
22308         * modules/errno (Makefile.am): Likewise.
22309         * modules/fcntl-h (Makefile.am): Likewise.
22310         * modules/float (Makefile.am): Likewise.
22311         * modules/getopt-posix (Makefile.am): Likewise.
22312         * modules/glob (Makefile.am): Likewise.
22313         * modules/iconv-h (Makefile.am): Likewise.
22314         * modules/inttypes (Makefile.am): Likewise.
22315         * modules/langinfo (Makefile.am): Likewise.
22316         * modules/locale (Makefile.am): Likewise.
22317         * modules/math (Makefile.am): Likewise.
22318         * modules/netdb (Makefile.am): Likewise.
22319         * modules/netinet_in (Makefile.am): Likewise.
22320         * modules/poll-h (Makefile.am): Likewise.
22321         * modules/pthread (Makefile.am): Likewise.
22322         * modules/pty (Makefile.am): Likewise.
22323         * modules/sched (Makefile.am): Likewise.
22324         * modules/search (Makefile.am): Likewise.
22325         * modules/selinux-h (Makefile.am): Likewise.
22326         * modules/signal (Makefile.am): Likewise.
22327         * modules/spawn (Makefile.am): Likewise.
22328         * modules/stdarg (Makefile.am): Likewise.
22329         * modules/stdbool (Makefile.am): Likewise.
22330         * modules/stddef (Makefile.am): Likewise.
22331         * modules/stdint (Makefile.am): Likewise.
22332         * modules/stdio (Makefile.am): Likewise.
22333         * modules/stdlib (Makefile.am): Likewise.
22334         * modules/string (Makefile.am): Likewise.
22335         * modules/strings (Makefile.am): Likewise.
22336         * modules/sys_file (Makefile.am): Likewise.
22337         * modules/sys_ioctl (Makefile.am): Likewise.
22338         * modules/sys_select (Makefile.am): Likewise.
22339         * modules/sys_socket (Makefile.am): Likewise.
22340         * modules/sys_stat (Makefile.am): Likewise.
22341         * modules/sys_time (Makefile.am): Likewise.
22342         * modules/sys_times (Makefile.am): Likewise.
22343         * modules/sys_utsname (Makefile.am): Likewise.
22344         * modules/sys_wait (Makefile.am): Likewise.
22345         * modules/sysexits (Makefile.am): Likewise.
22346         * modules/termios (Makefile.am): Likewise.
22347         * modules/time (Makefile.am): Likewise.
22348         * modules/unistd (Makefile.am): Likewise.
22349         * modules/wchar (Makefile.am): Likewise.
22350         * modules/wctype-h (Makefile.am): Likewise.
22351         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22352
22353 2011-04-05  Bruno Haible  <bruno@clisp.org>
22354
22355         pipe2: Relicense under LGPLv2+.
22356         * modules/pipe2 (License): Change to LGPLv2+.
22357         Requested by Eric Blake, for libvirt.
22358
22359 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22360
22361         bootstrap: compute gnulib_extra_files after updating build_aux
22362         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22363         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22364
22365 2011-04-05  Eric Blake  <eblake@redhat.com>
22366
22367         bootstrap: preserve git whitelist item sorting
22368         * build-aux/bootstrap (sort_patterns): New function.
22369         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22370
22371 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22372
22373         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22374         sc_space_tab check.
22375
22376 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22377
22378         areadlink, areadlinkat: rewrite in terms of careadlinkat
22379         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22380         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22381         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22382         (malloc, realloc): Remove #undefs.
22383         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22384         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22385         readlink, ssize_t, stdint, unistd.
22386         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22387         areadlink, stdint.
22388
22389         careadlinkat: new module
22390         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22391         * modules/careadlinkat: New files, written by me with
22392         a review and feedback from Ben Pfaff in
22393         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22394
22395 2011-04-01  Bruno Haible  <bruno@clisp.org>
22396
22397         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22398         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22399         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22400         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22401         Reported by Bruce Korb <bruce.korb@gmail.com>.
22402
22403 2011-04-01  Bruno Haible  <bruno@clisp.org>
22404
22405         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22406         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22407         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22408         * modules/wcpcpy (Depends-on): Add extensions.
22409         * modules/wcpncpy (Depends-on): Likewise.
22410         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22411         systems.
22412         * doc/posix-functions/wcpncpy.texi: Likewise.
22413         * doc/posix-functions/wcwidth.texi: Likewise.
22414
22415 2011-03-31  Eric Blake  <eblake@redhat.com>
22416
22417         nonblocking: fix mingw test failures
22418         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22419         non-blocking flag on regular file.
22420         (get_nonblocking_flag): Set errno on invalid fd.
22421         * tests/test-nonblocking.c (main): Avoid test failure on
22422         directories if fchdir is not active.
22423         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22424
22425 2011-03-31  Bruno Haible  <bruno@clisp.org>
22426
22427         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22428         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22429         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22430         Reported by Simon Josefsson <simon@josefsson.org>.
22431
22432 2011-03-31  Bruno Haible  <bruno@clisp.org>
22433         and Eric Blake  <eblake@redhat.com>
22434
22435         nonblocking: new module
22436         * modules/nonblocking: New module.
22437         * modules/nonblocking-tests: Likewise.
22438         * lib/nonblocking.h: New file.
22439         * lib/nonblocking.c: Likewise.
22440         * tests/test-nonblocking.c: New test.
22441         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22442
22443 2011-03-30  Bruno Haible  <bruno@clisp.org>
22444
22445         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22446         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22447         instead of 'printf' format for GCC >= 4.4.
22448         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22449         (fprintf, printf, vfprintf, vprintf): Declare with
22450         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22451         the system's vfprintf() function.
22452         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22453
22454 2011-03-30  Eric Blake  <eblake@redhat.com>
22455
22456         passfd: fix scoping bug
22457         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22458         before sendmsg/recvmsg.
22459
22460         passfd: standardize coding conventions
22461         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22462         can be learned at compile time.
22463         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22464         ifdefs.
22465         (sendfd, recvfd): Follow gnulib code conventions.
22466
22467         passfd: fix incorrect sendmsg arguments
22468         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22469         incorrect msg_controllen value.
22470         * modules/passfd-tests (Depends-on): Check for alarm.
22471         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22472         Reported by Bastien ROUCARIES.
22473
22474 2011-03-30  Bruno Haible  <bruno@clisp.org>
22475
22476         c-strcasestr: Relicense under LGPLv2+.
22477         * modules/c-strcasestr (License): Change to LGPLv2+.
22478         Requested by Eric Blake, for libvirt.
22479
22480 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22481
22482         * users.txt: Add libidn2.  Fix libtasn1 link.
22483
22484 2011-03-30  Jim Meyering  <meyering@redhat.com>
22485
22486         tests: readlink* ("",... fails with EINVAL on newer kernels
22487         readlink and readlinkat have typically failed with ENOENT for
22488         the invalid, empty file name,  "".  However, with the advent
22489         of linux-2.6.39, they fail with EINVAL.
22490         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22491         when operating on the empty file name.
22492         * tests/test-readlink.h (test_readlink): Likewise.
22493
22494 2011-03-29  Bruno Haible  <bruno@clisp.org>
22495
22496         Relicense some modules under LGPLv2+, for libidn2.
22497         * modules/array-mergesort (License): Change to LGPLv2+.
22498         * modules/c-strcaseeq (License): Likewise.
22499         * modules/striconveh (License): Likewise.
22500         * modules/striconveha (License): Likewise.
22501         * modules/uniconv/base (License): Likewise.
22502         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22503         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22504         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22505         * modules/unictype/base (License): Likewise.
22506         * modules/unictype/bidiclass-of (License): Likewise.
22507         * modules/unictype/category-M (License): Likewise.
22508         * modules/unictype/category-none (License): Likewise.
22509         * modules/unictype/category-of (License): Likewise.
22510         * modules/unictype/category-test (License): Likewise.
22511         * modules/unictype/category-test-withtable (License): Likewise.
22512         * modules/unictype/combining-class (License): Likewise.
22513         * modules/unictype/joiningtype-of (License): Likewise.
22514         * modules/unictype/scripts (License): Likewise.
22515         * modules/uninorm/base (License): Likewise.
22516         * modules/uninorm/canonical-decomposition (License): Likewise.
22517         * modules/uninorm/composition (License): Likewise.
22518         * modules/uninorm/decompose-internal (License): Likewise.
22519         * modules/uninorm/decomposition-table (License): Likewise.
22520         * modules/uninorm/nfc (License): Likewise.
22521         * modules/uninorm/nfd (License): Likewise.
22522         * modules/uninorm/u32-normalize (License): Likewise.
22523         * modules/unistr/base (License): Likewise.
22524         * modules/unistr/u32-cpy (License): Likewise.
22525         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22526         * modules/unistr/u32-to-u8 (License): Likewise.
22527         * modules/unistr/u32-uctomb (License): Likewise.
22528         * modules/unistr/u8-check (License): Likewise.
22529         * modules/unistr/u8-mblen (License): Likewise.
22530         * modules/unistr/u8-mbtouc (License): Likewise.
22531         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22532         * modules/unistr/u8-mbtoucr (License): Likewise.
22533         * modules/unistr/u8-prev (License): Likewise.
22534         * modules/unistr/u8-strlen (License): Likewise.
22535         * modules/unistr/u8-to-u32 (License): Likewise.
22536         * modules/unistr/u8-uctomb (License): Likewise.
22537         * modules/unitypes (License): Likewise.
22538         Requested by Simon Josefsson.
22539
22540 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22541
22542         lib-symbol-visibility: Add a notice.
22543         * modules/lib-symbol-visibility (Notice): New field.
22544
22545 2011-03-29  Bruno Haible  <bruno@clisp.org>
22546
22547         getaddrinfo: Doc fix.
22548         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22549         section "fixed in Gnulib".
22550
22551 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22552
22553         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22554         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22555
22556 2011-03-26  Bruno Haible  <bruno@clisp.org>
22557
22558         unictype/property-byname: Reduce the number of load-time relocations.
22559         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22560         (UC_PROPERTY_INDEX_*): New enumeration values.
22561         (uc_property_byname): Convert an index from the lookup table to an
22562         uc_property_t.
22563         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22564         values.
22565
22566 2011-03-26  Bruno Haible  <bruno@clisp.org>
22567
22568         unictype/property-byname: Allow omitted word separators and aliases.
22569         * lib/unictype/pr_byname.gperf: Add property names without word
22570         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22571         for 'space'.
22572
22573 2011-03-26  Bruno Haible  <bruno@clisp.org>
22574
22575         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22576         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22577         also hyphens to space.
22578         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22579         without spaces.
22580         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22581
22582 2011-03-26  Bruno Haible  <bruno@clisp.org>
22583
22584         unictype/joiningtype-byname: Recognize long names as well.
22585         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22586         a long name.
22587         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22588         unictype/joiningtype_byname.h.
22589         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22590         * lib/unictype/joiningtype_byname.gperf: New file.
22591         * modules/unictype/joiningtype-byname (Files): Add
22592         lib/unictype/joiningtype_byname.gperf.
22593         (Depends-on): Add gperf.
22594         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22595         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22596         long names.
22597
22598         Tests for module 'unictype/joiningtype-longname'.
22599         * modules/unictype/joiningtype-longname-tests: New file.
22600         * tests/unictype/test-joiningtype_longname.c: New file.
22601
22602         New module 'unictype/joiningtype-longname'.
22603         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22604         * lib/unictype/joiningtype_longname.c: New file.
22605         * modules/unictype/joiningtype-longname: New file.
22606         * modules/unictype/joiningtype-all (Depends-on): Add
22607         unictype/joiningtype-longname.
22608
22609 2011-03-26  Bruno Haible  <bruno@clisp.org>
22610
22611         unictype/bidiclass-byname: Recognize long names as well.
22612         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22613         name.
22614         * lib/unictype/bidi_byname.c: Include <string.h>,
22615         unictype/bidi_byname.h.
22616         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22617         * lib/unictype/bidi_byname.gperf: New file.
22618         * modules/unictype/bidiclass-byname (Files): Add
22619         lib/unictype/bidi_byname.gperf.
22620         (Depends-on): Add gperf.
22621         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22622         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22623         long names.
22624
22625         Tests for module 'unictype/bidiclass-longname'.
22626         * modules/unictype/bidiclass-longname-tests: New file.
22627         * tests/unictype/test-bidi_longname.c: New file.
22628
22629         New module 'unictype/bidiclass-longname'.
22630         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22631         * lib/unictype/bidi_longname.c: New file.
22632         * modules/unictype/bidiclass-longname: New file.
22633         * modules/unictype/bidiclass-all (Depends-on): Add
22634         unictype/bidiclass-longname.
22635
22636 2011-03-26  Bruno Haible  <bruno@clisp.org>
22637
22638         unictype/bidi*: Rename modules.
22639         * modules/unictype/bidiclass-all: Renamed from
22640         modules/unictype/bidicategory-all.
22641         * modules/unictype/bidiclass-name: Renamed from
22642         modules/unictype/bidiclass-name.
22643         (Description): Update.
22644         * modules/unictype/bidiclass-name-tests: Renamed from
22645         modules/unictype/bidicategory-name-tests.
22646         * modules/unictype/bidiclass-byname: Renamed from
22647         modules/unictype/bidicategory-byname.
22648         (Description): Update.
22649         * modules/unictype/bidiclass-byname-tests: Renamed from
22650         modules/unictype/bidicategory-byname-tests.
22651         * modules/unictype/bidiclass-of: Renamed from
22652         modules/unictype/bidicategory-of.
22653         (Description): Update.
22654         * modules/unictype/bidiclass-of-tests: Renamed from
22655         modules/unictype/bidicategory-of-tests.
22656         * modules/unictype/bidiclass-test: Renamed from
22657         modules/unictype/bidicategory-test.
22658         (Description): Update.
22659         * modules/unictype/bidiclass-test-tests: Renamed from
22660         modules/unictype/bidicategory-test-tests.
22661         * modules/unictype/bidicategory-all: New file, a simple redirection.
22662         * modules/unictype/bidicategory-name: Likewise.
22663         * modules/unictype/bidicategory-byname: Likewise.
22664         * modules/unictype/bidicategory-of: Likewise.
22665         * modules/unictype/bidicategory-test: Likewise.
22666         * modules/unictype/property-bidi-* (Dependencies): Update.
22667         * lib/unictype/bidi_*.c: Update comment.
22668
22669 2011-03-26  Bruno Haible  <bruno@clisp.org>
22670
22671         unictype/bidi*: Rename functions, part 2.
22672         * modules/unictype/bidicategory-name (configure.ac): Update required
22673         libunistring version.
22674         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22675
22676 2011-03-25  Bruno Haible  <bruno@clisp.org>
22677
22678         New module 'unictype/combining-class-all'.
22679         * modules/unictype/combining-class-all: New file.
22680
22681         Tests for module 'unictype/combining-class-byname'.
22682         * modules/unictype/combining-class-byname-tests: New file.
22683         * tests/unictype/test-combiningclass_byname.c: New file.
22684
22685         New module 'unictype/combining-class-byname'.
22686         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22687         * lib/unictype/combiningclass_byname.c: New file.
22688         * lib/unictype/combiningclass_byname.gperf: New file.
22689         * modules/unictype/combining-class-byname: New file.
22690
22691         Tests for module 'unictype/combining-class-longname'.
22692         * modules/unictype/combining-class-longname-tests: New file.
22693         * tests/unictype/test-combiningclass_longname.c: New file.
22694
22695         New module 'unictype/combining-class-longname'.
22696         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22697         * lib/unictype/combiningclass_longname.c: New file.
22698         * modules/unictype/combining-class-longname: New file.
22699
22700         Tests for module 'unictype/combining-class-name'.
22701         * modules/unictype/combining-class-name-tests: New file.
22702         * tests/unictype/test-combiningclass_name.c: New file.
22703
22704         New module 'unictype/combining-class-name'.
22705         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22706         * lib/unictype/combiningclass_name.c: New file.
22707         * modules/unictype/combining-class-name: New file.
22708
22709 2011-03-25  Bruno Haible  <bruno@clisp.org>
22710
22711         unictype/combining-class: Rename source files.
22712         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22713         of unictype/combining.h.
22714         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22715         Update.
22716         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22717         * modules/unictype/combining-class (Description): Fix.
22718         (Files, Makefile.am): Update.
22719         * tests/unictype/test-combiningclass.c: Renamed from
22720         tests/unictype/test-combining.c.
22721         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22722
22723 2011-03-25  Bruno Haible  <bruno@clisp.org>
22724
22725         unictype: Update list of canonical combining classes.
22726         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22727
22728 2011-03-25  Bruno Haible  <bruno@clisp.org>
22729
22730         unictype/category-byname: Recognize long names as well.
22731         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22732         a long name.
22733         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22734         unictype/categ_byname.h.
22735         (UC_CATEGORY_INDEX_*): New enumeration values.
22736         (uc_general_category_byname): Use uc_general_category_lookup and
22737         convert from index to value.
22738         * lib/unictype/categ_byname.gperf: New file.
22739         * modules/unictype/category-byname (Files): Add
22740         lib/unictype/categ_byname.gperf.
22741         (Depends-on): Add gperf.
22742         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22743         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22744         long names.
22745
22746         Tests for module 'unictype/category-longname'.
22747         * modules/unictype/category-longname-tests: New file.
22748         * tests/unictype/test-categ_longname.c: New file.
22749
22750         New module 'unictype/category-longname'.
22751         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22752         * lib/unictype/categ_longname.c: New file.
22753         * modules/unictype/category-longname: New file.
22754         * modules/unictype/category-all (Depends-on): Add it.
22755
22756 2011-03-25  Bruno Haible  <bruno@clisp.org>
22757
22758         Tests for module 'unictype/category-LC'.
22759         * modules/unictype/category-LC-tests: New file.
22760         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22761
22762         New module 'unictype/category-LC'.
22763         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22764         (UC_CATEGORY_LC): New declaration.
22765         (UC_CASED_LETTER): New macro.
22766         * lib/gen-uni-tables.c (is_category_LC): New function.
22767         (output_categories): Also handle category LC.
22768         (UC_CATEGORY_MASK_LC): New enumeration value.
22769         (general_category_byname): Also handle category LC.
22770         * lib/unictype/categ_LC.c: New file.
22771         * lib/unictype/categ_LC.h: New file, automatically generated.
22772         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22773         category LC.
22774         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22775         * modules/unictype/category-LC: New file.
22776         * modules/unictype/category-byname (Depends-on): Add
22777         unictype/category-LC.
22778         * modules/unictype/category-all (Depends-on): Likewise.
22779
22780 2011-03-25  Eric Blake  <eblake@redhat.com>
22781
22782         xmalloc: revert yesterday's regression
22783         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22784         realloc's underlying behavior (allowing allocation of zero-size
22785         objects, especially if malloc-gnu is also in use).
22786
22787 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22788
22789         maint.mk: add missing version to VC-tag
22790         * top/maint.mk: git tag was missing actual tag name; add it.
22791
22792         valgrind: do leak checking, and exit with code 1 on error (not 0)
22793         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22794         to VALGRIND.
22795
22796 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22797
22798         posix-modules: say what it does.
22799         * posix-modules: Add a line to the --help output saying what it does.
22800
22801 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22802
22803         xmalloc: Do not leak if underlying realloc is C99 compatible.
22804         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22805         This avoids a leak on C99-based systems.  See
22806         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22807
22808 2011-03-24  Eric Blake  <eblake@redhat.com>
22809
22810         realloc: document portability problem
22811         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22812         passing 0 size to realloc.
22813
22814 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22815
22816         doc: update users.txt
22817         * users.txt: Add cvsps, tmpwatch
22818
22819 2011-03-23  Matt Rice  <ratmice@gmail.com>
22820
22821         doc: update users.txt
22822         * users.txt: Add gdb.
22823
22824 2011-03-23  Jim Meyering  <meyering@redhat.com>
22825
22826         doc: update users.txt
22827         Looking through matches up to the following URL (there are still
22828         several more pages), I found several projects that use gnulib:
22829         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22830         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22831         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22832
22833 2011-03-22  Bruno Haible  <bruno@clisp.org>
22834
22835         unictype/bidi*: Rename functions.
22836         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22837         uc_bidi_class, uc_is_bidi_class): New declarations.
22838         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22839         uc_bidi_category_byname.
22840         (uc_bidi_category_byname): New function.
22841         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22842         u_bidi_category_name.
22843         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22844         (uc_bidi_category_name): New function.
22845         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22846         uc_bidi_category.
22847         (uc_bidi_category): New function.
22848         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22849         uc_is_bidi_category. Invoke uc_bidi_class.
22850         (uc_is_bidi_category): New function.
22851         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22852         instead of uc_bidi_category_byname.
22853         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22854         instead of uc_bidi_category_name.
22855         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22856         uc_bidi_category.
22857         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22858         instead of uc_is_bidi_category.
22859
22860 2011-03-21  Bruno Haible  <bruno@clisp.org>
22861
22862         New module 'unictype/joininggroup-all'.
22863         * modules/unictype/joininggroup-all: New file.
22864
22865         Tests for module 'unictype/joininggroup-of'.
22866         * modules/unictype/joininggroup-of-tests: New file.
22867         * tests/unictype/test-joininggroup_of.c: New file.
22868         * tests/unictype/test-joininggroup_of.h: New file, automatically
22869         generated by gen-uni-tables.
22870
22871         New module 'unictype/joininggroup-of'.
22872         * modules/unictype/joininggroup-of: New file.
22873         * lib/unictype/joininggroup_of.c: New file.
22874         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22875         gen-uni-tables.
22876
22877         Tests for module 'unictype/joininggroup-byname'.
22878         * modules/unictype/joininggroup-byname-tests: New file.
22879         * tests/unictype/test-joininggroup_byname.c: New file.
22880
22881         New module 'unictype/joininggroup-byname'.
22882         * modules/unictype/joininggroup-byname: New file.
22883         * lib/unictype/joininggroup_byname.c: New file.
22884         * lib/unictype/joininggroup_byname.gperf: New file.
22885
22886         Tests for module 'unictype/joininggroup-name'.
22887         * modules/unictype/joininggroup-name-tests: New file.
22888         * tests/unictype/test-joininggroup_name.c: New file.
22889
22890         New module 'unictype/joininggroup-name'.
22891         * modules/unictype/joininggroup-name: New file.
22892         * lib/unictype/joininggroup_name.c: New file.
22893         * lib/unictype/joininggroup_name.h: New file.
22894
22895         New module 'unictype/joiningtype-all'.
22896         * modules/unictype/joiningtype-all: New file.
22897
22898         Tests for module 'unictype/joiningtype-of'.
22899         * modules/unictype/joiningtype-of-tests: New file.
22900         * tests/unictype/test-joiningtype_of.c: New file.
22901         * tests/unictype/test-joiningtype_of.h: New file, automatically
22902         generated by gen-uni-tables.
22903
22904         New module 'unictype/joiningtype-of'.
22905         * modules/unictype/joiningtype-of: New file.
22906         * lib/unictype/joiningtype_of.c: New file.
22907         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22908         gen-uni-tables.
22909
22910         Tests for module 'unictype/joiningtype-byname'.
22911         * modules/unictype/joiningtype-byname-tests: New file.
22912         * tests/unictype/test-joiningtype_byname.c: New file.
22913
22914         New module 'unictype/joiningtype-byname'.
22915         * modules/unictype/joiningtype-byname: New file.
22916         * lib/unictype/joiningtype_byname.c: New file.
22917
22918         Tests for module 'unictype/joiningtype-name'.
22919         * modules/unictype/joiningtype-name-tests: New file.
22920         * tests/unictype/test-joiningtype_name.c: New file.
22921
22922         New module 'unictype/joiningtype-name'.
22923         * modules/unictype/joiningtype-name: New file.
22924         * lib/unictype/joiningtype_name.c: New file.
22925
22926         unictype: Add support for Arabic shaping properties.
22927         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22928         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22929         declarations.
22930         (UC_JOINING_GROUP_*): New enumeration values.
22931         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22932         declarations.
22933         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22934         (unicode_joining_type): New variable.
22935         (UC_JOINING_GROUP_*): New enumeration values.
22936         (unicode_joining_group): New variable.
22937         (fill_arabicshaping, joining_type_as_c_identifier,
22938         output_joining_type_test, output_joining_type,
22939         joining_group_as_c_identifier, output_joining_group_test,
22940         output_joining_group): New functions.
22941         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22942         fill_arabicshaping and output_joining_type_test, output_joining_type,
22943         output_joining_group_test, output_joining_group.
22944         Reported by Simon Josefsson.
22945
22946 2011-03-21  Jim Meyering  <meyering@redhat.com>
22947
22948         strftime: fix a bug in yesterday's change
22949         * lib/strftime.c (add): Accommodate width's initial value of -1.
22950         Otherwise, nstrftime would copy uninitialized data into
22951         the result buffer.
22952
22953 2011-03-21  Jim Meyering  <meyering@redhat.com>
22954
22955         tests: add strftime-tests module
22956         * tests/test-strftime.c: New file.
22957         * modules/strftime-tests: New module.
22958
22959 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22960
22961         strftime: don't assume a byte count fits in 'int'
22962         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22963         found this problem by static analysis, using gcc -Wstrict-overflow
22964         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22965         on an integer overflow having undefined behavior, but it turns out
22966         that the argument is a size, which might not fit in 'int' anyway,
22967
22968 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22969
22970         stdio: don't require ignore_value around fwrite
22971
22972         This patch works around libc bug 11959
22973         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22974         Without this patch, applications must often write
22975         ignore_value (fwrite (...)) even though the ignore_value is
22976         not helpful here.  It's common to write many objects, using
22977         fwrite/printf/etc., and then use ferror to detect output error.
22978
22979         I considered making this patch optional, but decided against it,
22980         because libc is obviously being inconsistent here: there is no
22981         reason libc should insist that user code must inspect fwrite
22982         return's value without also insisting that it inspect printf's,
22983         putchar's, etc.  If user code wants to have a strict style where
22984         all these functions' values are checked (so that ferror need not
22985         be checked), we could add support for that style in a new gnulib
22986         module, but in the meantime it's better to be consistent and to
22987         support common usage.
22988
22989         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22990         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22991         that we are compiling in checking mode, and if not C++, and
22992         if not already wrapping fwrite for some other reason.
22993         (fwrite): #define to rpl_fwrite if the latter is defined.
22994
22995 2011-03-20  Bruno Haible  <bruno@clisp.org>
22996
22997         verror: Fix compilation error introduced on 2011-02-13.
22998         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22999         instead of __attribute__.
23000         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23001
23002 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23003             Bruno Haible  <bruno@clisp.org>
23004
23005         socklen: do not depend on sys_socket
23006         While trying to modify Emacs to use gnulib's socklen module,
23007         I discovered a circular dependency: socklen depends on sys_socket
23008         and vice versa.  Emacs can use socklen, but it does not need
23009         sys_socket because it has its own substitute for sys/socket.h.
23010         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23011         gl_TYPE_SOCKLEN_T.
23012         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23013         gl_PREREQ_SYS_H_SOCKET.
23014         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23015         gl_PREREQ_SYS_H_SOCKET.
23016         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23017         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23018         * modules/socklen (Depends-on): Do not depend on sys_socket.
23019         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23020
23021 2011-03-20  Jim Meyering  <meyering@redhat.com>
23022
23023         maint.mk: sort file names *after* new transformation
23024         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23025         prefix would have led to an unwarranted failure in GNU parted.
23026         Sort after that transformation.
23027
23028 2011-03-19  Jim Meyering  <meyering@redhat.com>
23029
23030         maint.mk: fix po-file syntax-check rule
23031         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23032         Patch by Bruno Haible.
23033
23034 2011-03-19  Bruno Haible  <bruno@clisp.org>
23035
23036         socklen: Update comment.
23037         * m4/socklen.m4: Update comment about platforms.
23038
23039 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23040             Bruno Haible  <bruno@clisp.org>
23041
23042         inet_ntop, inet_pton: Simplify.
23043         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23044         documented to provide socklen_t and we already depend on sys_socket.
23045         * modules/inet_pton (Depends-on): Likewise.
23046         * lib/arpa_inet.in.h: Adjust comment.
23047
23048 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23049             Bruno Haible  <bruno@clisp.org>
23050
23051         netdb: Simplify.
23052         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23053         documented to provide socklen_t and we already depend on sys_socket.
23054         * lib/netdb.in.h: Adjust comment.
23055
23056 2011-03-19  Bruno Haible  <bruno@clisp.org>
23057
23058         sys_socket, netdb: Document problem with socklen_t.
23059         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23060         platforms.
23061         * doc/posix-headers/netdb.texi: Likewise.
23062
23063 2011-03-18  Eric Blake  <eblake@redhat.com>
23064
23065         maint.mk: let po check work in VPATH build
23066         * top/maint.mk (po_file): Allow cfg.mk override.
23067         (sc_po_check): Allow VPATH use.
23068         Reported by Jiri Denemark.
23069
23070 2011-03-16  Jim Meyering  <meyering@redhat.com>
23071
23072         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23073         Before, you would have had to create one .x-sc_ file per rule in order
23074         to exempt offending files.  Now, you may instead use a Make variable --
23075         usually defined in cfg.mk -- whose name identifies the affected rule.
23076         * top/maint.mk (_sc_excl): Define.
23077         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23078         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23079
23080 2011-03-13  Bruno Haible  <bruno@clisp.org>
23081
23082         ignore-value tests: Avoid warnings.
23083         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23084         empty for gcc < 3.4.
23085
23086 2011-03-13  Bruno Haible  <bruno@clisp.org>
23087
23088         passfd: Fix link error on Solaris.
23089         * modules/passfd (Description): Correct.
23090         (Depends-on): Add socketlib.
23091         (Link): New section.
23092         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23093
23094 2011-03-13  Bruno Haible  <bruno@clisp.org>
23095
23096         passfd: Fix link error on AIX 5.2.
23097         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23098
23099 2011-03-13  Bruno Haible  <bruno@clisp.org>
23100
23101         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23102         * lib/sys_socket.in.h: Include <stddef.h>.
23103         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23104         CMSG_FIRSTHDR. Remove unused variable.
23105
23106 2011-03-13  Bruno Haible  <bruno@clisp.org>
23107
23108         passfd: Fix compilation error on OpenBSD.
23109         * lib/passfd.c: Include <sys/uio.h>.
23110
23111 2011-03-13  Bruno Haible  <bruno@clisp.org>
23112
23113         passfd test: Fix warnings.
23114         * tests/test-passfd.c: Include <sys/wait.h>.
23115         (main): Fix typo.
23116
23117 2011-03-13  Bruno Haible  <bruno@clisp.org>
23118
23119         passfd module, part 4, tweaks.
23120         * tests/test-passfd.c: Reorder includes.
23121         (main): Fix perror and printf calls.
23122
23123 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23124
23125         passfd module, part 4.
23126         * modules/passfd-tests: New file.
23127         * tests/test-passfd.c: New file.
23128
23129 2011-03-13  Jim Meyering  <meyering@redhat.com>
23130
23131         Makefile: rely on GNU make; derive syntax-check rule names
23132         Rather than requiring that each sc_ rule be listed as a dependent
23133         of "check", use features of GNU make to derive the list.
23134         * Makefile (syntax-check-rules): Define.
23135         (check): Depend on the new variable, not the hard-coded list.
23136
23137 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23138             Bruno Haible  <bruno@clisp.org>
23139
23140         passfd module, part 3.
23141         * lib/passfd.h (recvfd): Add a flags argument.
23142         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23143         (recvfd): Add a flags argument.
23144         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23145         exists.
23146         * modules/passfd (Depends-on): Add cloexec.
23147         Suggested by Eric Blake.
23148
23149 2011-03-13  Bruno Haible  <bruno@clisp.org>
23150
23151         passfd module, part 2, tweaks.
23152         * modules/passfd (Files): Reorder.
23153         (Depends-on): Remove errno.
23154         (Include): Remove <sys/socket.h>, <sys/un.h>.
23155         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23156         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23157         specification header. Include <sys/socket.h> always. Don't include
23158         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23159         (sendfd): Clarify that it sets errno when it fails.
23160         (recvfd): Fix specification.
23161
23162 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23163
23164         passfd module, part 2.
23165         * modules/passfd: New file.
23166         * lib/passfd.h: New file.
23167         * lib/passfd.c: New file.
23168
23169 2011-03-12  Bruno Haible  <bruno@clisp.org>
23170
23171         wcswidth, mbswidth: Avoid integer overflow.
23172         * lib/wcswidth.c: Include <limits.h>.
23173         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23174         * lib/mbswidth.c: Include <limits.h>.
23175         (mbsnwidth): Avoid 'int' overflow.
23176         Reported by Jim Meyering.
23177
23178 2011-03-12  Bruno Haible  <bruno@clisp.org>
23179
23180         futimens, utimensat: Avoid endless recursion on Solaris 10.
23181         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23182         Solaris.
23183         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23184         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23185
23186 2011-03-11  Jim Meyering  <meyering@redhat.com>
23187
23188         maint.mk: relax a regexp to accommodate other formatting styles
23189         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23190         between "ngettext" and the following "(".
23191
23192 2011-03-11  Pádraig Brady <P@draigBrady.com>
23193
23194         maint.mk: suppress a false positive warning
23195         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23196         diagnostics are marked with ngettext.
23197
23198 2011-03-10  Eric Blake  <eblake@redhat.com>
23199
23200         wchar: add explicit dependencies, for Tru64
23201         * modules/mbmemcasecoll (Depends-on): Add wchar.
23202         * modules/mbtowc (Depends-on): Likewise.
23203         * modules/vasnprintf (Depends-on): Likewise.
23204         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23205         * modules/wctomb (Depends-on): Likewise.
23206         Reported by Peter O'Gorman.
23207
23208 2011-03-08  Bruno Haible  <bruno@clisp.org>
23209
23210         passfd module, part 1, tweaks.
23211         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23212         Improve indentation. Improve AC_MSG_CHECKING messages.
23213         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23214         gl_SOCKET_FAMILIES.
23215
23216 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23217
23218         passfd module, part 1.
23219         * m4/afunix.m4: New file.
23220         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23221         sockets.
23222
23223 2011-03-08  Bruno Haible  <bruno@clisp.org>
23224
23225         regex-quote: New API.
23226         * lib/regex-quote.h: Include <stdbool.h>.
23227         (struct regex_quote_spec): New type.
23228         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23229         New declarations.
23230         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23231         'const struct regex_quote_spec *' argument.
23232         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23233         (pcre_special): New constant.
23234         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23235         New functions.
23236         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23237         'const struct regex_quote_spec *' argument.
23238         * modules/regex-quote (Depends-on): Add stdbool.
23239         * tests/test-regex-quote.c (check): Update for new API. Add test for
23240         anchored results.
23241         * NEWS: Mention the API change.
23242         Reported by Reuben Thomas and Eric Blake.
23243
23244 2011-03-06  Bruno Haible  <bruno@clisp.org>
23245
23246         regex-quote: Fix creation of POSIX extended regular expressions.
23247         * lib/regex-quote.c (ere_special): Add grouping and alternation
23248         operators.
23249
23250 2011-03-05  Bruno Haible  <bruno@clisp.org>
23251
23252         doc: Improve doc regarding autopoint vs. gnulib.
23253         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23254         disable autopoint while running autoreconf.
23255         Suggested by Ralf Wildenhues.
23256
23257 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23258
23259         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23260         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23261
23262 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23263
23264         parse-duration: remove xalloc.h dependency
23265         * lib/parse-duration.c (parse_period): handle NULL return from
23266         strdup instead of calling xstrdup().
23267         * modules/parse-duration: remove "xalloc" dependency
23268
23269 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23270
23271         bootstrap: honor m4_base when running aclocal
23272         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23273
23274 2011-03-02  Jim Meyering  <meyering@redhat.com>
23275
23276         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23277         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23278         on request from Matt Booth.
23279
23280 2011-03-01  Eric Blake  <eblake@redhat.com>
23281
23282         test-link: work on Hurd
23283         * tests/test-link.h (test_link): Hurd rejects linking directories
23284         with EISDIR instead of the POSIX-mandated EPERM.
23285
23286 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23287
23288         stdio: simplify by moving files to printf-posix, sigpipe
23289         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23290         since this symbol is needed only if printf is replaced.
23291         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23292         Require gl_ASM_SYMBOL_PREFIX.
23293         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23294         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23295         (Depends-on): Add 'raise'.
23296         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23297         * modules/stdio (Files): Remove lib/stdio-write.c,
23298         m4/asm-underscore.m4.
23299         (Depends-on): Remove 'raise'.
23300
23301         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23302         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23303         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23304         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23305
23306 2011-02-28  Bruno Haible  <bruno@clisp.org>
23307
23308         localcharset: Assume ANSI C behaviour of free().
23309         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23310         calling free().
23311         Suggested by Simon Josefsson <simon@josefsson.org>.
23312
23313 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23314             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23315             Bruno Haible  <bruno@clisp.org>  (tiny change)
23316
23317         On Cygwin, use /proc file system instead of win32 API.
23318         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23319         Win32 file names.
23320         (DllMain): Simplify by removing Cygwin specific code.
23321         (find_shared_library_fullname): Use Linux specific implementation also
23322         for Cygwin.
23323         (get_shared_library_fullname): Update accordingly.
23324         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23325         Win32 file names.
23326         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23327         Cygwin specific code.
23328
23329 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23330             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23331
23332         Fix OpenMP flag detection for various Fortran compilers.
23333         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23334         OpenMP-conditional compilation construct, to force compile
23335         failure with missing OpenMP flag.
23336         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23337
23338 2011-02-25  Eric Blake  <eblake@redhat.com>
23339
23340         strstr: expand test coverage
23341         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23342         compilation.
23343         * tests/test-memmem.c (main): Duplicate tests.
23344         * tests/test-strcasestr.c (main): Likewise.
23345         * tests/test-c-strcasestr.c (main): Likewise.
23346
23347 2011-02-25  Jim Meyering  <meyering@redhat.com>
23348
23349         maint.mk: detect missing-NL-at-EOF, too
23350         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23351         it also detects when a file lacks a newline at EOF.
23352         (require_exactly_one_NL_at_EOF_): Renamed from
23353         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23354         since people may well have .x-sc_... file names tied to the
23355         existing name.  Suggested by Eric Blake.
23356
23357 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23358
23359         dirname: move m4/dos.m4 functionality into lib/dosname.h
23360
23361         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23362         extracts symbols from it, puts them into config.h; but it's much
23363         easier to use the symbols directly.  filename.h already does this,
23364         but it disagrees with dos.m4 in some respects.  This patch
23365         introduces a different include file dosname.h that packages up
23366         dos.m4, and then later we can work on merging filename.h and
23367         dosname.h.  Applications that need only the easy-to-configure
23368         symbols should consider including dosname.h rather than dirname.h.
23369         * NEWS: Mention incompatible changes.
23370         * m4/dos.m4: Remove.
23371         * lib/dosname.h, modules/dosname: New files.
23372         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23373         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23374         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23375         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23376         Include dosname.h, not dirname.h.
23377         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23378         Include dosname.h, for definitions of symbols like ISSLASH
23379         that used to be in config.h.
23380         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23381         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23382         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23383         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23384         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23385         * modules/rmdir (Files): Likewise.
23386         * modules/stat (Files): Likewise.
23387         * modules/unlink (Files): Likewise.
23388         * modules/dirname-lgpl (Depends-on): Add dosname.
23389         * modules/lstat (Depends-on): Likewise.
23390         * modules/openat (Depends-on): Likewise.
23391         * modules/rmdir (Depends-on): Likewise.
23392         * modules/savewd (Depends-on): Likewise.
23393         * modules/stat (Depends-on): Likewise.
23394         * modules/unlink (Depends-on): Likewise.
23395         * modules/openat (Depends-on): Remove dirname-lgpl.
23396         * modules/savewd (Depends-on): Likewise.
23397         * tests/test-dirname.c: Do not use removed symbols like
23398         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23399         the remaining symbols, e.g., ISSLASH ('\\').
23400
23401 2011-02-25  Eric Blake  <eblake@redhat.com>
23402
23403         strstr: revert patches that introduced bug and pessimization
23404         * lib/str-two-way.h: Add another reference.
23405         (two_way_short_needle, two_way_long_needle): Revert changes from
23406         2011-02-24; they pessimize search speed.
23407         (critical_factorization): Partially revert changes from
23408         2010-06-22; they violate the requirement that the left half of the
23409         needle be smaller than the period of the needle.
23410
23411 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23412
23413         filenamecat: remove unnecessary dependency on dirname-lgpl
23414         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23415         is no direct dependency, just an indirect one via filenamecat-lgpl.
23416
23417         remove: remove unnecessary use of m4/dos.m4
23418         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23419         * modules/remove (FILES): Remove m4/dos.m4.
23420
23421         * lib/openat-proc.c: Don't include dirname.h; not needed.
23422
23423         backupfile: remove unnecessary use of m4/dos.m4
23424         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23425         of its symbols are used by the backupfile code.  backupfile.c does
23426         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23427         for the rare case of programs that want all their backup file
23428         names to live within 8+3 limits, and dos.m4 doesn't address that.
23429         * modules/backupfile (Files): Remove m4/dos.m4.
23430
23431 2011-02-24  Jim Meyering  <meyering@redhat.com>
23432
23433         strstr: fix a bug whereby strstr would mistakenly return NULL
23434         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23435         in period calculation.
23436         (two_way_long_needle): Likewise.
23437         The original problem was reported by Mike Stump in
23438         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23439         Ralf Wildenhues provided the short needle and haystack.
23440         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23441         Add a more involved test to trigger the bug in two_way_long_needle.
23442
23443 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23444
23445         gnulib-tool: remove use of bold display in help screen
23446         * gnulib-tool (func_usage): Do not use bold display anymore in the
23447         help screen.  That was just meant to be a temporary emphasis for a
23448         backward-incompatible change.
23449
23450 2011-02-23  Bruno Haible  <bruno@clisp.org>
23451
23452         Fix misindentation of preprocessor directives.
23453         * lib/argp-namefrob.h: Reindent preprocessor directives.
23454         * lib/getopt_int.h (struct _getopt_data): Likewise.
23455         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23456         * lib/vasnprintf.c (decode_long_double): Likewise.
23457         * tests/test-argmatch.c: Insert blank lines, for clarity.
23458         * tests/test-exclude.c: Likewise.
23459
23460 2011-02-22  Bruno Haible  <bruno@clisp.org>
23461
23462         ioctl: Fix for MacOS X in 64-bit mode.
23463         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23464         value.
23465         Suggested by Eric Blake.
23466         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23467
23468 2011-02-22  Jim Meyering  <meyering@redhat.com>
23469
23470         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23471         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23472         in lib/.
23473
23474 2011-02-22  Eric Blake  <eblake@redhat.com>
23475
23476         maint: avoid any CDPATH issue
23477         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23478
23479         maint: adjust cpp indentation for my modules, as well
23480         * Makefile (sc_cpp_indent_check): Add my name.
23481         * lib/fbufmode.c: Filter through cppi.
23482         * lib/fpurge.c: Likewise.
23483         * lib/freadable.c: Likewise.
23484         * lib/freading.c: Likewise.
23485         * lib/fwritable.c: Likewise.
23486         * lib/fwriting.c: Likewise.
23487         * lib/sigaction.c: Likewise.
23488
23489 2011-02-22  Jim Meyering  <meyering@redhat.com>
23490
23491         maint: adjust cpp indentation to reflect nesting depth
23492         I.e., in a block of code that begins with an unnested "#if",
23493         put one space between the "#" in column 1 and following token.
23494         For example,
23495         -#include <sys/vfs.h>
23496         +# include <sys/vfs.h>
23497         Do this only in .c files that are part of a module I maintain.
23498         * lib/linkat.c: Filter through cppi.
23499         * lib/nanosleep.c: Likewise.
23500         * lib/openat.c: Likewise.
23501         * lib/openat-die.c: Likewise.
23502         * lib/dup3.c: Likewise.
23503         * lib/fchownat.c: Likewise.
23504         * lib/flock.c: Likewise.
23505         * lib/fsync.c: Likewise.
23506         * lib/fts.c: Likewise.
23507         * lib/getpass.c: Likewise.
23508         * lib/gettimeofday.c: Likewise.
23509         * lib/userspec.c: Likewise.
23510         * Makefile (sc_cpp_indent_check): New rule, to check this.
23511
23512 2011-02-22  Bruno Haible  <bruno@clisp.org>
23513
23514         New module 'wctomb'.
23515         * lib/stdlib.in.h (wctomb): New declaration.
23516         * lib/wctomb.c: New file.
23517         * lib/wctomb-impl.h: New file.
23518         * m4/wctomb.m4: New file.
23519         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23520         REPLACE_WCTOMB.
23521         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23522         REPLACE_WCTOMB.
23523         * modules/wctomb: New file.
23524         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23525         * doc/posix-functions/wctomb.texi: Mention the new module.
23526         * modules/wctob (Depends-on): Add wctomb.
23527
23528 2011-02-22  Bruno Haible  <bruno@clisp.org>
23529
23530         New module 'mbtowc'.
23531         * lib/stdlib.in.h (mbtowc): New declaration.
23532         * lib/mbtowc.c: New file.
23533         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23534         * m4/mbtowc.m4: New file.
23535         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23536         REPLACE_MBTOWC.
23537         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23538         REPLACE_MBTOWC.
23539         * modules/mbtowc: New file.
23540         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23541         * doc/posix-functions/mbtowc.texi: Mention the new module.
23542         * modules/btowc (Depends-on): Add mbtowc.
23543
23544 2011-02-22  Bruno Haible  <bruno@clisp.org>
23545
23546         wcrtomb: Add more tests for native Windows platforms.
23547         * tests/test-wcrtomb-w32-1.sh: New file.
23548         * tests/test-wcrtomb-w32-2.sh: New file.
23549         * tests/test-wcrtomb-w32-3.sh: New file.
23550         * tests/test-wcrtomb-w32-4.sh: New file.
23551         * tests/test-wcrtomb-w32-5.sh: New file.
23552         * tests/test-wcrtomb-w32.c: New file.
23553         * modules/wcrtomb-tests (Files): Add them.
23554         (Makefile.am): Arrange to run these tests.
23555         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23556         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23557
23558 2011-02-20  Bruno Haible  <bruno@clisp.org>
23559
23560         wcrtomb: Enhance test.
23561         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23562
23563 2011-02-20  Bruno Haible  <bruno@clisp.org>
23564
23565         mbrtowc: Tiny optimization.
23566         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23567
23568 2011-02-20  Jim Meyering  <meyering@redhat.com>
23569
23570         test-exclude.c: remove unmatched #endif
23571         * tests/test-exclude.c: Remove stray #endif, left over from
23572         the change of a week ago.
23573
23574 2011-02-19  Jim Meyering  <meyering@redhat.com>
23575
23576         git-version-gen: skip "-dirty" check when appropriate
23577         * build-aux/git-version-gen: Don't run any git commands when the
23578         version string comes from .tarball-version.  Prior to this, we
23579         would run git update-index --refresh even from a just-unpacked
23580         tarball directory, and that could affect a .git/ directory in a
23581         parent of the build directory.  Reported by Mike Frysinger.
23582
23583 2011-02-19  Bruno Haible  <bruno@clisp.org>
23584
23585         unictype/property-byname: Reduce the size of the 'data' segment.
23586         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23587
23588 2011-02-19  Bruno Haible  <bruno@clisp.org>
23589
23590         unictype/scripts: Reduce the size of the 'data' segment.
23591         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23592         '%pic'.
23593         * lib/unictype/scripts_byname.gperf: Regenerated.
23594
23595 2011-02-19  Bruno Haible  <bruno@clisp.org>
23596
23597         stdint: Update documentation.
23598         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23599
23600 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23601
23602         stdint: omit redundant check for wchar.h
23603         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23604         always tests whether wchar.h exists, so remove the now-redundant test.
23605
23606 2011-02-18  Bruno Haible  <bruno@clisp.org>
23607
23608         stdint: Cut dependency to module 'wchar'.
23609         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23610         include the necessary prerequisites.
23611         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23612         * modules/stdint (Depends-on): Remove wchar.
23613         (Makefile.am): Substitute HAVE_WCHAR_H.
23614         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23615
23616 2011-02-18  Eric Blake  <eblake@redhat.com>
23617
23618         longlong: skip, rather than fail, on cross-compilation
23619         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23620         when cross-compiling; regression from 2011-02-16.
23621
23622 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23623
23624         * NEWS: Mention 2011-02-08 change to stdlib.
23625
23626 2011-02-17  Bruno Haible  <bruno@clisp.org>
23627
23628         getloadavg: Add comments about platforms.
23629         * m4/getloadavg.m4: Add comment.
23630         * lib/getloadavg.c: Likewise.
23631
23632 2011-02-17  Bruno Haible  <bruno@clisp.org>
23633
23634         getloadavg: Fix link error on Solaris 2.6.
23635         * modules/getloadavg (Link): New section.
23636         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23637         linking test-getloadavg.
23638         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23639         getloadavg.
23640
23641 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23642
23643         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23644         It was 'int', but this doesn't match the IRIX 6.5 manual.
23645         Suggested by Bruno Haible in
23646         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23647
23648 2011-02-17  Bruno Haible  <bruno@clisp.org>
23649
23650         havelib: Fix comments.
23651         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23652         change.
23653
23654 2011-02-17  Bruno Haible  <bruno@clisp.org>
23655
23656         havelib: Update config.rpath.
23657         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23658
23659 2011-02-17  Bruno Haible  <bruno@clisp.org>
23660
23661         getloadavg test: Add some plausibility checks.
23662         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23663         is improbable.
23664
23665 2011-02-16  Eric Blake  <eblake@redhat.com>
23666
23667         maintainer-makefile: make syntax-check a no-op from tarballs
23668         * top/maint.mk (no-vc-detected): New rule.
23669         (local-checks-available): Use it to avoid hanging if someone tries
23670         'make syntax-check' from a tarball.  Also append to any non-syntax
23671         checks already defined in cfg.mk.
23672
23673 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23674
23675         longlong: tune, particularly for common case of c99
23676
23677         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23678         or running anything if c99, or if unsigned long long int does not
23679         work.  In either case, we know the answer without further tests.
23680         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23681         it at most once, and use its results for both long long int and
23682         unsigned long long int.  This is more likely to be efficient in
23683         the common case where the program wants to check for both long
23684         long int and unsigned long long int.
23685         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23686         since the answer is already known.
23687
23688 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23689
23690         getloadavg: set errno
23691         * lib/getloadavg.c: Set errno when returning -1.  If no other
23692         error number looks appropriate, set it to ENOSYS if the getloadavg
23693         looks like it can't possibly ever work, ENOTSUP otherwise.
23694         Suggested by Bruno Haible in
23695         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23696
23697         getloadavg: trim unused parts and speed up 'configure'
23698         * NEWS: Document this.
23699         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23700         always compiled if getloadavg is absent.
23701         Move test code to ...
23702         * tests/test-getloadavg.c: New file, containing previous
23703         contents of test from lib/getloadavg.c.  It also contains
23704         suggestions by Bruno Haible in
23705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23706         * modules/getloadavg-tests: New file.
23707         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23708         Do tests in the same order as they're needed for getloadavg.c.
23709         Omit setgid-related tests that generate symbols KMEM_GROUP,
23710         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23711         Do only the tests that are needed to see whether the system has
23712         getloadavg, moving the other tests into ...
23713         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23714         NLIST_NAME_UNION; nobody should be using it.  Do not define
23715         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23716         relevant, as the user of this module shouldn't care how getloadavg
23717         is implemented.
23718
23719         getloadavg: omit unused var
23720         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23721
23722 2011-02-15  Jim Meyering  <meyering@redhat.com>
23723
23724         doc: update users.txt
23725         * users.txt: Update iwhd's URL.
23726
23727 2011-02-13  Bruno Haible  <bruno@clisp.org>
23728
23729         Consistent macro naming for macros that use GCC __attribute__.
23730         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23731         _ATTRIBUTE_NONNULL_.
23732         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23733         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23734         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23735         ATTRIBUTE_DEPRECATED.
23736         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23737         ATTRIBUTE_NORETURN.
23738         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23739         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23740         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23741         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23742         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23743         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23744         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23745         ATTRIBUTE_SENTINEL.
23746         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23747         ATTRIBUTE_RETURN_CHECK.
23748         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23749         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23750         ATTRIBUTE_NORETURN.
23751         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23752         Reported by Paul Eggert.
23753
23754 2011-02-13  Bruno Haible  <bruno@clisp.org>
23755
23756         Don't interfere with a program's definition of __attribute__.
23757         * lib/argp.h (__attribute__): Remove definition.
23758         (_GL_ATTRIBUTE_FORMAT): New macro.
23759         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23760         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23761         (_GL_ATTRIBUTE_FORMAT): New macro.
23762         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23763         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23764         GCC 3 or newer.
23765         * lib/error.h (__attribute__): Remove definition.
23766         (_GL_ATTRIBUTE_FORMAT): New macro.
23767         (error, error_at_line): Use it.
23768         * lib/hash.h (__attribute__): Remove definition.
23769         (ATTRIBUTE_WUR): Update definition. Define always.
23770         * lib/openat.h (__attribute__): Remove definition.
23771         (ATTRIBUTE_NORETURN): Update definition. Define always.
23772         * lib/sigpipe-die.h (__attribute__): Remove definition.
23773         (ATTRIBUTE_NORETURN): Update definition. Define always.
23774         * lib/vasnprintf.h (__attribute__): Remove definition.
23775         (_GL_ATTRIBUTE_FORMAT): New macro.
23776         (asnprintf, vasnprintf): Use it.
23777         * lib/xalloc.h (__attribute__): Remove definition.
23778         (ATTRIBUTE_NORETURN): Update definition. Define always.
23779         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23780         * lib/xmemdup0.h (__attribute__): Remove definition.
23781         (ATTRIBUTE_NORETURN): Update definition. Define always.
23782         * lib/xprintf.h (__attribute__): Remove definition.
23783         (_GL_ATTRIBUTE_FORMAT): New macro.
23784         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23785         * lib/xstrtol.h (__attribute__): Remove definition.
23786         (ATTRIBUTE_NORETURN): Update definition. Define always.
23787         * lib/xvasprintf.h (__attribute__): Remove definition.
23788         (_GL_ATTRIBUTE_FORMAT): New macro.
23789         (xasprintf, xvasprintf): Use it.
23790         * tests/test-argmatch.c (__attribute__): Remove definition.
23791         (ATTRIBUTE_NORETURN): Update definition. Define always.
23792         * tests/test-exclude.c (__attribute__): Remove definition.
23793         (ATTRIBUTE_NORETURN): Update definition. Define always.
23794         Reported by Paul Eggert.
23795
23796 2011-02-13  Bruno Haible  <bruno@clisp.org>
23797
23798         mbrtowc: Add more tests for native Windows platforms.
23799         * tests/test-mbrtowc-w32-1.sh: New file.
23800         * tests/test-mbrtowc-w32-2.sh: New file.
23801         * tests/test-mbrtowc-w32-3.sh: New file.
23802         * tests/test-mbrtowc-w32-4.sh: New file.
23803         * tests/test-mbrtowc-w32-5.sh: New file.
23804         * tests/test-mbrtowc-w32.c: New file.
23805         * modules/mbrtowc-tests (Files): Add them.
23806         (Makefile.am): Arrange to run these tests.
23807         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23808         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23809
23810 2011-02-13  Bruno Haible  <bruno@clisp.org>
23811
23812         mbrtowc: Work around native Windows bug.
23813         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23814         guess when no suitable locale for testing was found.
23815         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23816
23817 2011-02-13  Bruno Haible  <bruno@clisp.org>
23818
23819         mbsinit: Work around mingw bug.
23820         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23821         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23822         Windows.
23823         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23824
23825 2011-02-13  Bruno Haible  <bruno@clisp.org>
23826
23827         mbsinit: Don't crash for a NULL argument.
23828         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23829         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23830
23831 2011-02-13  Bruno Haible  <bruno@clisp.org>
23832
23833         Don't interfere with a program's definition of __attribute__.
23834         * lib/stdio.in.h (__attribute__): Remove definition.
23835         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23836         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23837         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23838         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23839         * lib/string.in.h (__attribute__): Remove definition.
23840         Reported by Paul Eggert.
23841
23842 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23843
23844         stdlib: don't get in the way of non-GCC __attribute__
23845         See thread starting at
23846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23847         Revert previous stdlib change, installing the following instead:
23848         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23849         to get in the way of a non-GCC compiler that supports __attribute__.
23850         (_GL_ATTRIBUTE_RETURN): New macro.
23851         (_Exit): Use it instead of __attribute__.
23852
23853 2011-02-12  Bruno Haible  <bruno@clisp.org>
23854
23855         quotearg test: Avoid test failure on mingw.
23856         * tests/test-quotearg.sh: Convert the locale identifier from native
23857         Windows syntax to Unix syntax.
23858
23859 2011-02-12  Bruno Haible  <bruno@clisp.org>
23860
23861         setlocale: Prefer gnulib's override over libintl's override.
23862         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23863         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23864         GNULIB_defined_setlocale is set.
23865
23866 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23867
23868         stdlib: support non-GCC __attribute__
23869
23870         Fix a serious and tricky problem encountered when attempting to
23871         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23872         5.5, but it crashed due to memory corruption on Solaris 10 with
23873         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23874         bits that are otherwise zero.  This tagging is optional inside
23875         Emacs but is preferred and is used when __attribute__ ((__aligned
23876         (8))) works, as it does with both recent-enough GCC and with Sun C
23877         5.11.  However, Sun C 5.11 is not GCC and does not #define
23878         __GNUC__ and __GNUC_MINOR__.
23879
23880         When I added the getloadavg module to Emacs, it brought in
23881         stdlib.in.h, which contained this fragment:
23882
23883            #ifndef __attribute__
23884            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23885            #  define __attribute__(Spec)   /* empty */
23886            # endif
23887            #endif
23888
23889         When files that include <stdlib.h> were compiled with Sun C 5.11,
23890         the above code disabled __attribute__ ((__aligned (8))), which
23891         caused variables to not be properly aligned, which eventually led
23892         to the pointer corruption mentioned above.  (This was a bit hard
23893         to diagnose, unfortunately.)
23894
23895         Several "#define __attribute__(X) /* empty */" code snippets need
23896         to be eradicated from Gnulib to work with non-GCC compilers that
23897         support __attribute__.  The Autoconf way to do this is to test for
23898         each kind of attribute that we want support for, and selectively
23899         enable that in source code.
23900
23901         Fix this problem just for stdlib.h, by adding a test for the
23902         __noreturn__ attribute, and change stdlib.in.h to use that test
23903         when needed.  This technique can be easily generalized to the
23904         other *.in.h files and attributes, and a similar technique can be
23905         used for *.h and *.c files.  This patch is enough to solve the
23906         problem for Emacs + getloadavg, and I thought I'd publish it for
23907         feedback before undertaking further, similar fixes in other
23908         modules.
23909
23910         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23911         because it's not needed for stdlib.h.  It merely substitutes the
23912         value directly into stdlib.h.  We may well need to #define it, or
23913         similar symbols, for other modules, but it's nice to also have an
23914         option to not #define it for applications like Emacs that do not
23915         need it.
23916
23917         * lib/stdlib.in.h (__attribute__): Do not #define.
23918         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23919         be defined only if the _Exit module is also used.
23920         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23921         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23922         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23923         platforms.
23924         * modules/_Exit (Files): Add m4/attribute.m4.
23925         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23926         * m4/attribute.m4: New file.
23927
23928 2011-02-12  Bruno Haible  <bruno@clisp.org>
23929
23930         wcsrtombs: Work around bug on native Windows.
23931         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23932         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23933         instead of len.
23934         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23935
23936 2011-02-12  Bruno Haible  <bruno@clisp.org>
23937
23938         mbsrtowcs: Work around bug on native Windows.
23939         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23940         against mingw bug.
23941         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23942
23943 2011-02-12  Bruno Haible  <bruno@clisp.org>
23944
23945         Avoid setlocale bugs in tests.
23946         * modules/btowc (Dependencies): Add setlocale.
23947         * modules/c-strcase (Dependencies): Likewise.
23948         * modules/mbmemcasecmp (Dependencies): Likewise.
23949         * modules/mbmemcasecoll (Dependencies): Likewise.
23950         * modules/mbrtowc (Dependencies): Likewise.
23951         * modules/mbscasecmp (Dependencies): Likewise.
23952         * modules/mbscasestr (Dependencies): Likewise.
23953         * modules/mbschr (Dependencies): Likewise.
23954         * modules/mbscspn (Dependencies): Likewise.
23955         * modules/mbsinit (Dependencies): Likewise.
23956         * modules/mbsncasecmp (Dependencies): Likewise.
23957         * modules/mbsnrtowcs (Dependencies): Likewise.
23958         * modules/mbspbrk (Dependencies): Likewise.
23959         * modules/mbspcasecmp (Dependencies): Likewise.
23960         * modules/mbsrchr (Dependencies): Likewise.
23961         * modules/mbsrtowcs (Dependencies): Likewise.
23962         * modules/mbsspn (Dependencies): Likewise.
23963         * modules/mbsstr (Dependencies): Likewise.
23964         * modules/nl_langinfo (Dependencies): Likewise.
23965         * modules/quotearg (Dependencies): Likewise.
23966         * modules/unicase/locale-language (Dependencies): Likewise.
23967         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23968         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23969         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23970         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23971         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23972         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23973         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23974         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23975         * modules/vasnprintf-posix (Dependencies): Likewise.
23976         * modules/wcrtomb (Dependencies): Likewise.
23977         * modules/wcsnrtombs (Dependencies): Likewise.
23978         * modules/wcsrtombs (Dependencies): Likewise.
23979
23980 2011-02-12  Bruno Haible  <bruno@clisp.org>
23981
23982         setlocale: Workaround native Windows bug.
23983         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23984         succeeds but sets LC_CTYPE to "C", report a failure.
23985         * tests/test-setlocale2.sh: New file.
23986         * tests/test-setlocale2.c: New file.
23987         * modules/setlocale-tests (Files): Add the new files.
23988         (Makefile.am): Enable test-setlocale2.sh test.
23989         * doc/posix-functions/setlocale.texi: Mention workaround.
23990
23991 2011-02-11  Bruno Haible  <bruno@clisp.org>
23992
23993         Tests for module 'setlocale'.
23994         * modules/setlocale-tests: New file.
23995         * tests/test-setlocale1.sh: New file.
23996         * tests/test-setlocale1.c: New file.
23997
23998         New module 'setlocale'.
23999         * lib/locale.in.h (setlocale): New declaration.
24000         * lib/setlocale.c: New file, based on
24001         gettext/gettext-runtime/intl/setlocale.c.
24002         * m4/setlocale.m4: New file.
24003         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24004         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24005         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24006         REPLACE_SETLOCALE.
24007         * modules/setlocale: New file.
24008         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24009         * doc/posix-functions/setlocale.texi: Mention the new module.
24010
24011 2011-02-11  Bruno Haible  <bruno@clisp.org>
24012
24013         Prepare for locale dependent tests on mingw.
24014         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24015         because it has the wrong locale encoding.
24016         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24017         French_France.1252 instead of "fr".
24018         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24019         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24020         because it has the wrong locale encoding.
24021         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24022         native Windows, try Turkish_Turkey.65001.
24023         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24024         Chinese_China.54936.
24025
24026         Prepare for locale dependent tests on mingw.
24027         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24028         differently.
24029         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24030         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24031         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24032         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24033
24034 2011-02-11  Eric Blake  <eblake@redhat.com>
24035
24036         strptime: avoid compiler warnings
24037         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24038         compiler warnings about dead code.
24039         Reported by Daniel P. Berrange.
24040
24041 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24042
24043         doc: update users.txt
24044         * users.txt: Add rcs.
24045
24046 2011-02-10  John W. Eaton  <jwe@gnu.org>
24047
24048         doc: update users.txt
24049         * users.txt: Add octave.
24050
24051 2011-02-10  Jim Meyering  <meyering@redhat.com>
24052
24053         doc: update users.txt
24054         * users.txt: Add iwhd.
24055
24056 2011-02-09  Bruno Haible  <bruno@clisp.org>
24057
24058         gnulib-tool: Make copyright notice adjustment more robust.
24059         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24060         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24061         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24062         License".
24063         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24064
24065 2011-02-06  Bruno Haible  <bruno@clisp.org>
24066
24067         New module 'towctrans'.
24068         * modules/towctrans: New file.
24069         * lib/wctype.in.h (towctrans): New declaration.
24070         * lib/towctrans.c: New file.
24071         * lib/towctrans-impl.h: New file.
24072         * m4/towctrans.m4: New file.
24073         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24074         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24075         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24076         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24077         * doc/posix-functions/towctrans.texi: Mention the new module.
24078
24079 2011-02-06  Bruno Haible  <bruno@clisp.org>
24080
24081         New module 'wctrans'.
24082         * modules/wctrans: New file.
24083         * lib/wctype.in.h (wctrans): New declaration.
24084         * lib/wctrans.c: New file.
24085         * lib/wctrans-impl.h: New file.
24086         * m4/wctrans.m4: New file.
24087         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24088         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24089         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24090         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24091         * doc/posix-functions/wctrans.texi: Mention the new module.
24092
24093 2011-02-06  Bruno Haible  <bruno@clisp.org>
24094
24095         New module 'iswctype'.
24096         * modules/iswctype: New file.
24097         * lib/wctype.in.h (iswctype): New declaration.
24098         * lib/iswctype.c: New file.
24099         * lib/iswctype-impl.h: New file.
24100         * m4/iswctype.m4: New file.
24101         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24102         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24103         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24104         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24105         * doc/posix-functions/iswctype.texi: Mention the new module and the
24106         HP-UX 11.00 problem.
24107
24108 2011-02-06  Bruno Haible  <bruno@clisp.org>
24109
24110         New module 'wctype'.
24111         * modules/wctype: Change to represent the wctype() substitute.
24112         * lib/wctype.in.h (wctype): New declaration.
24113         * lib/wctype.c: New file.
24114         * lib/wctype-impl.h: New file.
24115         * m4/wctype.m4: New file.
24116         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24117         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24118         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24119         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24120         * doc/posix-functions/wctype.texi: Mention the new module and the
24121         HP-UX 11.00 problem.
24122
24123 2011-02-06  Bruno Haible  <bruno@clisp.org>
24124
24125         wctype-h: Ensure wctype_t and wctrans_t are defined.
24126         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24127         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24128         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24129         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24130         HAVE_WCTRANS_T.
24131         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24132
24133 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24134
24135         flock: fix license typo
24136
24137         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24138         omitted.
24139
24140 2011-02-08  Bruno Haible  <bruno@clisp.org>
24141
24142         Split large sed scripts, for HP-UX sed.
24143         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24144         to avoid HP-UX limit of 99 commands, in the near future.
24145         * modules/stdlib (Makefile.am): Likewise.
24146         * modules/unistd (Makefile.am): Likewise.
24147         * modules/wchar (Makefile.am): Likewise.
24148         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24149         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24150         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24151
24152 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24153             Bruno Haible  <bruno@clisp.org>
24154
24155         stdlib: improve random_r modularization
24156         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24157         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24158         you also need the random_r module to get this material right.
24159         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24160         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24161         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24162
24163 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24164
24165         stdlib: don't depend on stdint
24166         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24167         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24168         be independent of whether stdint.h is needed.
24169         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24170         here, instead of ...
24171         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24172         struct random_data should be using the random_r module, not just
24173         the stdlib module (which wouldn't make sense: what package needs
24174         just struct random_data without also needing random_r?).
24175         * modules/stdlib (Depends-on): Remove stdint.
24176
24177         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24178         See the thread rooted at
24179         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24180         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24181         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24182         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24183         __VMS)); previously it was always included (via fcntl--.h).
24184         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24185         hand; this is good enough for load averages.  Also, do not use
24186         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24187         flags directly if available and don't bother otherwise.  (Packages
24188         that need the extra reliability should use the modules that define
24189         these flags on older platforms that lack them.)
24190         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24191         fcntl-safer.
24192
24193 2011-02-08  Jim Meyering  <meyering@redhat.com>
24194
24195         di-set.h, ino-map.h: add multiple-inclusion guard
24196         Technically, the guard is required only for ino-map.h, due to its
24197         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24198         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24199         * lib/ino-map.h: Likewise.
24200
24201 2011-02-06  Bruno Haible  <bruno@clisp.org>
24202
24203         iswblank: Ensure declaration on glibc systems.
24204         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24205         * modules/iswblank (Dependencies): Add 'extensions'.
24206         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24207
24208 2011-02-06  Bruno Haible  <bruno@clisp.org>
24209
24210         New module 'iswblank'.
24211         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24212         * modules/iswblank: New file.
24213         * modules/wctype-h (Files): Remove lib/iswblank.c.
24214         (Makefile.am): Substitute GNULIB_ISWBLANK.
24215         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24216         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24217         (gl_WCTYPE_H_DEFAULTS): New macro.
24218         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24219         * modules/iswblank-tests: New file.
24220         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24221         * tests/test-wctype-h.c (main): Remove iswblank tests.
24222         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24223         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24224         of 'wctype-h'.
24225         * NEWS: Mention the change.
24226         * modules/mbchar (Depends-on): Add iswblank.
24227
24228 2011-02-08  Bruno Haible  <bruno@clisp.org>
24229
24230         di-set tests: Refactor.
24231         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24232         unnecessary includes.
24233         (ASSERT): Remove macro.
24234         (main): Make C90 compliant by avoiding variable declaration after
24235         statement.
24236         * modules/di-set-tests (Files): Add tests/macros.h.
24237
24238 2011-02-08  Bruno Haible  <bruno@clisp.org>
24239
24240         ino-map tests: Refactor.
24241         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24242         unnecessary includes.
24243         (ASSERT): Remove macro.
24244         (main): Make C90 compliant by avoiding variable declaration after
24245         statement.
24246         * modules/ino-map-tests (Files): Add tests/macros.h.
24247
24248 2011-02-08  Jim Meyering  <meyering@redhat.com>
24249
24250         di-set: add "const" to a cast
24251         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24252         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24253
24254 2011-02-06  Bruno Haible  <bruno@clisp.org>
24255
24256         Rename module 'wctype' to 'wctype-h'.
24257         * modules/wctype-h: Renamed from modules/wctype.
24258         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24259         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24260         (Files, Depends-on, Makefile.am): Update.
24261         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24262         (Files, Makefile.am): Update.
24263         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24264         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24265         * doc/posix-headers/wctype.texi: Update.
24266         * doc/posix-functions/iswalnum.texi: Update.
24267         * doc/posix-functions/iswalpha.texi: Update.
24268         * doc/posix-functions/iswblank.texi: Update.
24269         * doc/posix-functions/iswcntrl.texi: Update.
24270         * doc/posix-functions/iswdigit.texi: Update.
24271         * doc/posix-functions/iswgraph.texi: Update.
24272         * doc/posix-functions/iswlower.texi: Update.
24273         * doc/posix-functions/iswprint.texi: Update.
24274         * doc/posix-functions/iswpunct.texi: Update.
24275         * doc/posix-functions/iswspace.texi: Update.
24276         * doc/posix-functions/iswupper.texi: Update.
24277         * doc/posix-functions/iswxdigit.texi: Update.
24278         * doc/posix-functions/towlower.texi: Update.
24279         * doc/posix-functions/towupper.texi: Update.
24280         * NEWS: Mention the change.
24281         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24282         * modules/mbchar (Dependencies): Likewise.
24283         * modules/mbswidth (Dependencies): Likewise.
24284         * modules/quotearg (Dependencies): Likewise.
24285         * modules/regex (Dependencies): Likewise.
24286         * modules/wcscasecmp (Dependencies): Likewise.
24287         * modules/wcsncasecmp (Dependencies): Likewise.
24288         * modules/wcwidth (Dependencies): Likewise.
24289
24290 2011-02-06  Bruno Haible  <bruno@clisp.org>
24291
24292         New module 'wcswidth'.
24293         * modules/wcswidth: New file.
24294         * lib/wchar.in.h (wcswidth): New declaration.
24295         * lib/wcswidth.c: New file.
24296         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24297         * m4/wcswidth.m4: New file.
24298         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24299         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24300         REPLACE_WCSWIDTH.
24301         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24302         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24303         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24304         * doc/posix-functions/wcswidth.texi: Mention the new module.
24305
24306 2011-02-06  Bruno Haible  <bruno@clisp.org>
24307
24308         New module 'wcstok'.
24309         * modules/wcstok: New file.
24310         * lib/wchar.in.h (wcstok): New declaration.
24311         * lib/wcstok.c: New file.
24312         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24313         * m4/wcstok.m4: New file.
24314         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24315         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24316         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24317         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24318         * doc/posix-functions/wcstok.texi: Mention the new module.
24319
24320 2011-02-06  Bruno Haible  <bruno@clisp.org>
24321
24322         New module 'wcsstr'.
24323         * modules/wcsstr: New file.
24324         * lib/wchar.in.h (wcsstr): New declaration.
24325         * lib/wcsstr.c: New file.
24326         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24327         * m4/wcsstr.m4: New file.
24328         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24329         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24331         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24332         * doc/posix-functions/wcsstr.texi: Mention the new module.
24333
24334 2011-02-06  Bruno Haible  <bruno@clisp.org>
24335
24336         New module 'wcspbrk'.
24337         * modules/wcspbrk: New file.
24338         * lib/wchar.in.h (wcspbrk): New declaration.
24339         * lib/wcspbrk.c: New file.
24340         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24341         * m4/wcspbrk.m4: New file.
24342         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24343         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24344         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24345         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24346         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24347
24348 2011-02-06  Bruno Haible  <bruno@clisp.org>
24349
24350         New module 'wcsspn'.
24351         * modules/wcsspn: New file.
24352         * lib/wchar.in.h (wcsspn): New declaration.
24353         * lib/wcsspn.c: New file.
24354         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24355         * m4/wcsspn.m4: New file.
24356         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24357         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24358         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24359         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24360         * doc/posix-functions/wcsspn.texi: Mention the new module.
24361
24362 2011-02-06  Bruno Haible  <bruno@clisp.org>
24363
24364         New module 'wcscspn'.
24365         * modules/wcscspn: New file.
24366         * lib/wchar.in.h (wcscspn): New declaration.
24367         * lib/wcscspn.c: New file.
24368         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24369         * m4/wcscspn.m4: New file.
24370         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24371         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24372         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24373         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24374         * doc/posix-functions/wcscspn.texi: Mention the new module.
24375
24376 2011-02-06  Bruno Haible  <bruno@clisp.org>
24377
24378         New module 'wcsrchr'.
24379         * modules/wcsrchr: New file.
24380         * lib/wchar.in.h (wcsrchr): New declaration.
24381         * lib/wcsrchr.c: New file.
24382         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24383         * m4/wcsrchr.m4: New file.
24384         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24385         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24386         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24387         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24388         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24389
24390 2011-02-06  Bruno Haible  <bruno@clisp.org>
24391
24392         New module 'wcschr'.
24393         * modules/wcschr: New file.
24394         * lib/wchar.in.h (wcschr): New declaration.
24395         * lib/wcschr.c: New file.
24396         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24397         * m4/wcschr.m4: New file.
24398         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24399         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24400         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24401         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24402         * doc/posix-functions/wcschr.texi: Mention the new module.
24403
24404 2011-02-06  Bruno Haible  <bruno@clisp.org>
24405
24406         New module 'wcsdup'.
24407         * modules/wcsdup: New file.
24408         * lib/wchar.in.h (wcsdup): New declaration.
24409         * lib/wcsdup.c: New file.
24410         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24411         * m4/wcsdup.m4: New file.
24412         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24413         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24414         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24415         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24416         * doc/posix-functions/wcsdup.texi: Mention the new module.
24417
24418 2011-02-06  Bruno Haible  <bruno@clisp.org>
24419
24420         New module 'wcsxfrm'.
24421         * modules/wcsxfrm: New file.
24422         * lib/wchar.in.h (wcsxfrm): New declaration.
24423         * lib/wcsxfrm.c: New file.
24424         * lib/wcsxfrm-impl.h: New file.
24425         * m4/wcsxfrm.m4: New file.
24426         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24427         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24428         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24429         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24430         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24431
24432 2011-02-06  Bruno Haible  <bruno@clisp.org>
24433
24434         New module 'wcscoll'.
24435         * modules/wcscoll: New file.
24436         * lib/wchar.in.h (wcscoll): New declaration.
24437         * lib/wcscoll.c: New file.
24438         * lib/wcscoll-impl.h: New file.
24439         * m4/wcscoll.m4: New file.
24440         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24441         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24442         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24443         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24444         * doc/posix-functions/wcscoll.texi: Mention the new module.
24445
24446 2011-02-06  Bruno Haible  <bruno@clisp.org>
24447
24448         New module 'wcsncasecmp'.
24449         * modules/wcsncasecmp: New file.
24450         * lib/wchar.in.h (wcsncasecmp): New declaration.
24451         * lib/wcsncasecmp.c: New file.
24452         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24453         * m4/wcsncasecmp.m4: New file.
24454         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24455         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24456         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24457         HAVE_WCSNCASECMP.
24458         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24459         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24460
24461 2011-02-06  Bruno Haible  <bruno@clisp.org>
24462
24463         New module 'wcscasecmp'.
24464         * modules/wcscasecmp: New file.
24465         * lib/wchar.in.h (wcscasecmp): New declaration.
24466         * lib/wcscasecmp.c: New file.
24467         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24468         * m4/wcscasecmp.m4: New file.
24469         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24470         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24471         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24472         HAVE_WCSCASECMP.
24473         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24474         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24475
24476 2011-02-05  Bruno Haible  <bruno@clisp.org>
24477
24478         New module 'wcsncmp'.
24479         * modules/wcsncmp: New file.
24480         * lib/wchar.in.h (wcsncmp): New declaration.
24481         * lib/wcsncmp.c: New file.
24482         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24483         * m4/wcsncmp.m4: New file.
24484         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24485         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24486         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24487         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24488         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24489
24490 2011-02-05  Bruno Haible  <bruno@clisp.org>
24491
24492         New module 'wcscmp'.
24493         * modules/wcscmp: New file.
24494         * lib/wchar.in.h (wcscmp): New declaration.
24495         * lib/wcscmp.c: New file.
24496         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24497         * m4/wcscmp.m4: New file.
24498         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24499         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24500         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24501         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24502         * doc/posix-functions/wcscmp.texi: Mention the new module.
24503
24504 2011-02-05  Bruno Haible  <bruno@clisp.org>
24505
24506         New module 'wcsncat'.
24507         * modules/wcsncat: New file.
24508         * lib/wchar.in.h (wcsncat): New declaration.
24509         * lib/wcsncat.c: New file.
24510         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24511         * m4/wcsncat.m4: New file.
24512         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24513         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24514         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24515         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24516         * doc/posix-functions/wcsncat.texi: Mention the new module.
24517
24518 2011-02-05  Bruno Haible  <bruno@clisp.org>
24519
24520         New module 'wcscat'.
24521         * modules/wcscat: New file.
24522         * lib/wchar.in.h (wcscat): New declaration.
24523         * lib/wcscat.c: New file.
24524         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24525         * m4/wcscat.m4: New file.
24526         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24527         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24528         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24529         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24530         * doc/posix-functions/wcscat.texi: Mention the new module.
24531
24532 2011-02-05  Bruno Haible  <bruno@clisp.org>
24533
24534         New module 'wcpncpy'.
24535         * modules/wcpncpy: New file.
24536         * lib/wchar.in.h (wcpncpy): New declaration.
24537         * lib/wcpncpy.c: New file.
24538         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24539         * m4/wcpncpy.m4: New file.
24540         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24541         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24542         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24543         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24544         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24545
24546 2011-02-05  Bruno Haible  <bruno@clisp.org>
24547
24548         New module 'wcsncpy'.
24549         * modules/wcsncpy: New file.
24550         * lib/wchar.in.h (wcsncpy): New declaration.
24551         * lib/wcsncpy.c: New file.
24552         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24553         * m4/wcsncpy.m4: New file.
24554         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24555         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24556         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24557         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24558         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24559
24560 2011-02-05  Bruno Haible  <bruno@clisp.org>
24561
24562         New module 'wcpcpy'.
24563         * modules/wcpcpy: New file.
24564         * lib/wchar.in.h (wcpcpy): New declaration.
24565         * lib/wcpcpy.c: New file.
24566         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24567         * m4/wcpcpy.m4: New file.
24568         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24569         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24570         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24571         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24572         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24573
24574 2011-02-05  Bruno Haible  <bruno@clisp.org>
24575
24576         New module 'wcscpy'.
24577         * modules/wcscpy: New file.
24578         * lib/wchar.in.h (wcscpy): New declaration.
24579         * lib/wcscpy.c: New file.
24580         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24581         * m4/wcscpy.m4: New file.
24582         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24583         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24584         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24585         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24586         * doc/posix-functions/wcscpy.texi: Mention the new module.
24587
24588 2011-02-05  Bruno Haible  <bruno@clisp.org>
24589
24590         New module 'wcsnlen'.
24591         * modules/wcsnlen: New file.
24592         * lib/wchar.in.h (wcsnlen): New declaration.
24593         * lib/wcsnlen.c: New file.
24594         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24595         * m4/wcsnlen.m4: New file.
24596         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24597         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24598         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24599         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24600         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24601
24602 2011-02-05  Bruno Haible  <bruno@clisp.org>
24603
24604         New module 'wcslen'.
24605         * modules/wcslen: New file.
24606         * lib/wchar.in.h (wcslen): New declaration.
24607         * lib/wcslen.c: New file.
24608         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24609         * m4/wcslen.m4: New file.
24610         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24611         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24612         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24613         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24614         * doc/posix-functions/wcslen.texi: Mention the new module.
24615
24616 2011-02-05  Bruno Haible  <bruno@clisp.org>
24617
24618         New module 'wmemset'.
24619         * modules/wmemset: New file.
24620         * lib/wchar.in.h (wmemset): New declaration.
24621         * lib/wmemset.c: New file.
24622         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24623         * m4/wmemset.m4: New file.
24624         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24625         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24626         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24627         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24628         * doc/posix-functions/wmemset.texi: Mention the new module.
24629
24630 2011-02-05  Bruno Haible  <bruno@clisp.org>
24631
24632         New module 'wmemmove'.
24633         * modules/wmemmove: New file.
24634         * lib/wchar.in.h (wmemmove): New declaration.
24635         * lib/wmemmove.c: New file.
24636         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24637         * m4/wmemmove.m4: New file.
24638         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24639         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24640         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24641         HAVE_WMEMMOVE.
24642         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24643         * doc/posix-functions/wmemmove.texi: Mention the new module.
24644
24645 2011-02-05  Bruno Haible  <bruno@clisp.org>
24646
24647         New module 'wmemcpy'.
24648         * modules/wmemcpy: New file.
24649         * lib/wchar.in.h (wmemcpy): New declaration.
24650         * lib/wmemcpy.c: New file.
24651         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24652         * m4/wmemcpy.m4: New file.
24653         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24654         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24655         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24656         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24657         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24658
24659 2011-02-05  Bruno Haible  <bruno@clisp.org>
24660
24661         New module 'wmemcmp'.
24662         * modules/wmemcmp: New file.
24663         * lib/wchar.in.h (wmemcmp): New declaration.
24664         * lib/wmemcmp.c: New file.
24665         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24666         * m4/wmemcmp.m4: New file.
24667         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24668         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24669         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24670         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24671         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24672
24673 2011-02-07  Jim Meyering  <meyering@redhat.com>
24674
24675         di-set, ino-map: new modules, from coreutils
24676         * lib/di-set.c: New file.
24677         * lib/di-set.h: Likewise.
24678         * lib/ino-map.c: Likewise.
24679         * lib/ino-map.h: Likewise.
24680         * modules/di-set: Likewise.
24681         * modules/di-set-tests: Likewise.
24682         * modules/ino-map: Likewise.
24683         * modules/ino-map-tests: Likewise.
24684         * tests/test-di-set.c: Likewise.
24685         * tests/test-ino-map.c: Likewise.
24686
24687 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24688
24689         getloadavg: merge minor changes from Emacs
24690
24691         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24692         (getloadavg): Use memset, not bzero.
24693
24694         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24695         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24696         clash (bug#86).
24697
24698 2010-11-14  Bruno Haible  <bruno@clisp.org>
24699
24700         Allow multiple gnulib generated replacements to coexist.
24701         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24702         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24703         * lib/langinfo.in.h (nl_item): Likewise.
24704         * lib/math.in.h (_NaN, NAN): Likewise.
24705         * lib/netdb.in.h (struct addrinfo): Likewise.
24706         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24707         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24708         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24709         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24710         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24711         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24712         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24713         pthread_mutexattr_init, pthread_mutexattr_settype,
24714         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24715         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24716         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24717         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24718         * lib/sched.in.h (struct sched_param): Likewise.
24719         * lib/se-selinux.in.h (security_class_t, security_context_t,
24720         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24721         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24722         lsetfilecon, fsetfilecon, security_check_context,
24723         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24724         Likewise.
24725         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24726         Likewise.
24727         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24728         _gl_function_taking_int_returning_void_t, union sigval,
24729         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24730         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24731         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24732         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24733         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24734         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24735         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24736         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24737         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24738         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24739         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24740         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24741         socklen_t, rpl_fd_isset): Likewise.
24742         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24743         * lib/sys_time.in.h (struct timeval): Likewise.
24744         * lib/sys_times.in.h (struct tms): Likewise.
24745         * lib/sys_utsname.in.h (struct utsname):
24746         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24747         * lib/unistd.in.h (getpagesize): Likewise.
24748         * lib/wchar.in.h (mbstate_t): Likewise.
24749         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24750         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24751         towlower, towupper): Likewise.
24752         Reported by Sam Steingold <sds@gnu.org>.
24753
24754 2011-02-05  Eric Blake  <eblake@redhat.com>
24755
24756         unsetenv: work around Haiku issues
24757         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24758         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24759
24760 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24761
24762         libposix: avoid calling error() within libposix
24763         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24764         is defined.
24765
24766 2011-02-05  Eric Blake  <eblake@redhat.com>
24767
24768         strerror_r-posix: port to cygwin
24769         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24770         implementation.
24771         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24772         * tests/test-strerror_r.c (main): Fix test.
24773         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24774         issue.
24775
24776 2011-02-05  Bruno Haible  <bruno@clisp.org>
24777
24778         New module 'wmemchr'.
24779         * modules/wmemchr: New file.
24780         * lib/wchar.in.h (wmemchr): New declaration.
24781         * lib/wmemchr.c: New file.
24782         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24783         * m4/wmemchr.m4: New file.
24784         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24785         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24786         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24787         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24788         * doc/posix-functions/wmemchr.texi: Mention the new module.
24789
24790 2011-02-04  Eric Blake  <eblake@redhat.com>
24791
24792         fdopendir: detect FreeBSD bug
24793         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24794         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24795
24796 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24797
24798         stdbool: do not define HAVE_STDBOOL_H
24799         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24800         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24801         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24802         imported from the latest Autoconf git.  It was motivated by Emacs,
24803         which uses gnulib but does not need HAVE_STDBOOL_H.
24804
24805 2011-02-04  Bruno Haible  <bruno@clisp.org>
24806
24807         wcsnrtombs: Prepare for new module wwcsnrtombs.
24808         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24809         * lib/wcsnrtombs.c: Include it.
24810         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24811
24812         wcsrtombs: Prepare for new module wwcsrtombs.
24813         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24814         * lib/wcsrtombs.c: Include it.
24815         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24816
24817         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24818         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24819         * lib/mbsnrtowcs.c: Include it.
24820         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24821
24822         mbsrtowcs: Prepare for new module mbsrtowwcs.
24823         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24824         * lib/mbsrtowcs.c: Include it.
24825         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24826
24827 2011-02-04  Bruno Haible  <bruno@clisp.org>
24828
24829         vasnprintf: Reduce use of malloc for small format strings.
24830         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24831         (arguments): Add room for the first 7 arguments.
24832         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24833         (char_directives, u8_directives, u16_directives, u32_directives): Add
24834         room for the first 7 directives.
24835         * lib/printf-parse.c: Include <string.h>.
24836         (PRINTF_PARSE): Change memory handling code so that it uses the first
24837         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24838         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24839         Reported by Pádraig Brady <P@draigbrady.com>.
24840
24841 2011-01-31  Eric Blake  <eblake@redhat.com>
24842
24843         dup2: work around Haiku bug
24844         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24845         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24846         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24847         * tests/test-dup2.c (main): Enhance test.
24848
24849 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24850
24851         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24852         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24853         declared by eglibc 2.11.2.
24854         * lib/stdio.in.h: Likewise.
24855
24856 2011-01-31  Eric Blake  <eblake@redhat.com>
24857
24858         ignore-value: add missing test dependency
24859         * tests/test-ignore-value.c: Revert previous change; stdio.h
24860         provides off_t.
24861         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24862
24863 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24864
24865         mktime: clarify long_int width checking
24866         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24867         the top level, to make it clearer that the assumption about
24868         long_int width is being checked.  See
24869         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24870
24871 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24872
24873         ignore-value: Fix self-test.
24874         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24875
24876 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24877
24878         TYPE_MAXIMUM: avoid theoretically undefined behavior
24879         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24880         negative number, which the C Standard says has undefined behavior.
24881         In practice this is not a problem, but might as well do it by the book.
24882         Reported by Rich Felker and Eric Blake; see
24883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24884         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24885         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24886         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24887         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24888         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24889         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24890
24891         mktime: #undef mktime before #defining it
24892         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24893
24894         mktime: systematically normalize tm_isdst comparisons
24895         * lib/mktime.c (isdst_differ): New function.
24896         (__mktime_internal): Use it systematically for all isdst comparisons.
24897         This completes the fix for libc BZ #6723, and removes the need for
24898         normalizing tm_isdst.  See
24899         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24900         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24901
24902         mktime: fix some integer overflow issues and sidestep the rest
24903
24904         This was prompted by a bug report by Benjamin Lindner for MinGW
24905         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24906         His bug is due to signed integer overflow (0 - INT_MIN), and I
24907         I scanned through mktime.c looking for other integer overflow
24908         problems, fixing all the bugs I found.
24909
24910         Although the C Standard says the resulting code is still not safe
24911         in the presence of integer overflow, in practice it should be good
24912         enough for all real-world two's-complement implementations, except
24913         for debugging environments that deliberately trap on integer
24914         overflow (e.g., gcc -ftrapv).
24915
24916         * lib/mktime.c (WRAPV): New macro.
24917         (SHR): Also check that long_int and time_t shift right in the
24918         usual way, before using the fast-but-unportable method.
24919         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24920         used.  The code already assumed two's complement, so there's
24921         no need to test for alternatives.  All uses removed.
24922         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24923         the C standard.  Problem reported by Rich Felker in
24924         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24925         (twos_complement_arithmetic): Also check long_int and time_t.
24926         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24927         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24928         (__mktime_internal): Avoid integer overflow with unary subtraction
24929         in two instances where -1 - X is an adequate replacement for -X,
24930         since the calculations are approximate.
24931
24932 2011-01-29  Eric Blake  <eblake@redhat.com>
24933
24934         mktime: avoid infinite loop
24935         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24936         type; behavior is still undefined but portable to all known targets.
24937         Reported by Rich Felker.
24938
24939 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24940
24941         rename, unlink, same-inode: Relicense.
24942         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24943         * modules/unlink (License): Likewise.
24944         * modules/same-inode (License): Likewise.
24945
24946 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24947
24948         mktime: avoid problems on NetBSD 5 / i386
24949         * lib/mktime.c (long_int): New type.  This works around a problem
24950         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24951         but time_t is 64 bits, and where I expect the existing code is
24952         wrong in some cases.
24953         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24954         (ydhms_diff): Bring back the compile-time check for wide-enough
24955         year and yday.
24956
24957         mktime: fix misspelling in comment
24958         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24959         This merges all recent glibc changes of importance.
24960
24961 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24962
24963         move-if-change: cope with concurrent mv of identical file.
24964         * build-aux/move-if-change (CMPPROG): Accept environment
24965         variable as an override for `cmp'.
24966         (usage): Document CMPPROG.
24967         Adjust comparison to drop stdout.  Cope with failure of mv if
24968         the target file exists and is identical to the source, for
24969         parallel builds.
24970         Report from H.J. Lu against binutils in PR binutils/12283.
24971
24972 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24973
24974         * users.txt: Mention sharutils.
24975
24976 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24977
24978         * users.txt: Mention OATH Toolkit.
24979
24980 2011-01-27  Bruno Haible  <bruno@clisp.org>
24981
24982         Prepare for supporting FreeBSD 10.
24983         * build-aux/config.libpath: Remove handling of freebsd1*.
24984
24985 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24986
24987         Prepare for supporting FreeBSD 10.
24988         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24989         match FreeBSD 10.0.
24990
24991 2011-01-27  Bruno Haible  <bruno@clisp.org>
24992
24993         vma-iter, get-rusage-as: Add OpenBSD support.
24994         * modules/vma-iter (configure.ac): Test for mquery.
24995         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24996         * lib/vma-iter.c: Include <sys/mman.h>.
24997         (vma_iterate): Add an implementation based on mquery().
24998         * lib/resource-ext.h (get_rusage_as): Update comments.
24999         * lib/get-rusage-as.c: Likewise.
25000         * lib/get-rusage-data.c: Likewise.
25001
25002 2011-01-26  Karl Berry  <karl@gnu.org>
25003
25004         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25005         variables to make it easier to override the makeinfo program used.
25006
25007 2011-01-26  Eric Blake  <eblake@redhat.com>
25008
25009         fcntl: work around Haiku F_DUPFD bugs
25010         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25011         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25012         cloexec bit on duplication.
25013         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25014
25015 2011-01-26  Bruno Haible  <bruno@clisp.org>
25016
25017         Enable memory leak tests on AIX.
25018         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25019         * tests/test-fprintf-posix3.c (main): Likewise.
25020
25021 2011-01-26  Bruno Haible  <bruno@clisp.org>
25022
25023         Tests for module 'get-rusage-data'.
25024         * modules/get-rusage-data-tests: New file.
25025         * tests/test-get-rusage-data.c: New file.
25026
25027         New module 'get-rusage-data'.
25028         * lib/resource-ext.h (get_rusage_data): New declaration.
25029         * lib/get-rusage-data.c: New file.
25030         * modules/get-rusage-data: New file.
25031
25032 2011-01-25  Bruno Haible  <bruno@clisp.org>
25033
25034         get-rusage-as: Allow for easier testing.
25035         * lib/resource-ext.h (get_rusage_as): Add comment.
25036         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25037         (main): New function for interactive testing.
25038
25039 2011-01-25  Bruno Haible  <bruno@clisp.org>
25040
25041         vma-iter: Treat Haiku like BeOS.
25042         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25043         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25044
25045 2011-01-25  Eric Blake  <eblake@redhat.com>
25046
25047         c-stack: fix regression on cygwin when libsigsegv is present
25048         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25049
25050 2011-01-24  Bruno Haible  <bruno@clisp.org>
25051
25052         vma-iter: Avoid empty intervals.
25053         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25054         on an empty interval.
25055
25056 2011-01-24  Jim Meyering  <meyering@redhat.com>
25057
25058         u64: remove unnecessary #include
25059         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25060
25061 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25062
25063         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25064         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25065
25066 2011-01-23  Bruno Haible  <bruno@clisp.org>
25067
25068         New module 'vma-iter'.
25069         * lib/vma-iter.h: New file.
25070         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25071         * modules/vma-iter: New file.
25072         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25073         for get_rusage_as_via_iterator.
25074         (vma_iterate_callback): New function.
25075         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25076         * modules/get-rusage-as (Depends-on): Add vma-iter.
25077
25078 2011-01-23  Bruno Haible  <bruno@clisp.org>
25079
25080         uninorm: Tweak includes.
25081         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25082         Reported by Jim Meyering.
25083
25084 2011-01-23  Bruno Haible  <bruno@clisp.org>
25085
25086         get-rusage-as: Improve on NetBSD.
25087         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25088         /proc, like on FreeBSD.
25089
25090 2011-01-23  Jim Meyering  <meyering@redhat.com>
25091
25092         xreadlink.h: remove unnecessary #include
25093         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25094
25095         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25096         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25097
25098 2011-01-23  Bruno Haible  <bruno@clisp.org>
25099
25100         get-rusage-as: Fix bug.
25101         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25102         original limit when aborting the first loop.
25103
25104 2011-01-23  Bruno Haible  <bruno@clisp.org>
25105
25106         wctype: Ensure valid C syntax.
25107         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25108         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25109
25110 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25111
25112         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25113         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25114         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25115         as they are needed only for configure's test case.
25116         This removes two unnecessary symbols from config.h.
25117
25118         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25119         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25120         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25121         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25122         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25123         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25124         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25125         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25126         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25127         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25128         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25129         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25130         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25131         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25132         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25133         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25134         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25135         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25136
25137 2011-01-21  Eric Blake  <eblake@redhat.com>
25138
25139         maintainer-makefile: work with older git for submodule check
25140         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25141         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25142         Reported by Matthias Bolte.
25143
25144         bootstrap: minor portability fixes
25145         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25146         (usage): Omit leading capital and trailing . on help phrases, per
25147         GNU Coding Standards.
25148         (check_versions, top level): Prefix messages with script name.
25149
25150 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25151
25152         bootstrap: support --no-git option
25153         * build-aux/bootstrap: Add --no-git option, to be used when
25154         --gnulib-srcdir points to the exact desired checkout.
25155
25156 2011-01-21  Eric Blake  <eblake@redhat.com>
25157
25158         strerror_r-posix: work with glibc 2.13
25159         * lib/strerror_r.c (strerror_r): Fix return type.
25160
25161 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25162             Bruno Haible  <bruno@clisp.org>
25163
25164         uN_strstr: New unit tests.
25165         * modules/unistr/u8-strstr-tests: New file.
25166         * modules/unistr/u16-strstr-tests: New file.
25167         * modules/unistr/u32-strstr-tests: New file.
25168         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25169         * tests/unistr/test-u8-strstr.c: New file.
25170         * tests/unistr/test-u16-strstr.c: New file.
25171         * tests/unistr/test-u32-strstr.c: New file.
25172
25173 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25174             Bruno Haible  <bruno@clisp.org>
25175
25176         Make uN_strstr functions O(n) worst-case.
25177         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25178         16-bit and 32-bit unit cases, use the unibyte algorithm from
25179         lib/mbsstr.c.
25180         * lib/unistr/u8-strstr.c: Include <string.h>.
25181         (UNIT_IS_UINT8_T): New macro.
25182         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25183         (U_STRLEN, U_STRNLEN): New macros.
25184         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25185         (U_STRLEN, U_STRNLEN): New macros.
25186         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25187         (configure.ac): Update required libunistring version.
25188         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25189         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25190         malloca.
25191         (configure.ac): Update required libunistring version.
25192         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25193         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25194         malloca.
25195         (configure.ac): Update required libunistring version.
25196
25197 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25198             Bruno Haible  <bruno@clisp.org>
25199
25200         Prepare for faster uN_strstr functions.
25201         * lib/str-kmp.h: Support definable UNITs.
25202         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25203         needle_len argument.
25204         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25205         * lib/mbscasestr.c (mbscasestr): Likewise.
25206
25207 2011-01-21  Pádraig Brady <P@draigBrady.com>
25208
25209         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25210         * tests/test-malloca.c (main): Unset the environment variable
25211         to greatly speed up the test.
25212         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25213         * modules/malloca-tests: Depend on unsetenv.
25214
25215 2011-01-21  Pádraig Brady <P@draigBrady.com>
25216
25217         ignore-value: remove stdint dependency
25218         * lib/ignore-value.h: Remove <stdint.h>
25219         * modules/ignore-value: Remove stdint dependency.
25220
25221 2011-01-21  Jim Meyering  <meyering@redhat.com>
25222
25223         maint.mk: adjust variable name to be consistent with other gl_ vars
25224         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25225         to be lower case.
25226
25227 2011-01-20  Jim Meyering  <meyering@redhat.com>
25228
25229         maint.mk: make "check" depend on public-submodule-commit by default
25230         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25231
25232 2011-01-20  Bruno Haible  <bruno@clisp.org>
25233
25234         mbfile, mbiter: Complete change from 2008-12-21.
25235         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25236         * m4/mbiter.m4 (gl_MBITER): Likewise.
25237
25238 2011-01-20  Jim Meyering  <meyering@redhat.com>
25239
25240         init.sh: insert space between each function name and "()"
25241         * tests/init.sh: Make it a little easier to see that a function's
25242         name is "warn_", and not "warn" when looking at the first part of
25243         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25244
25245 2011-01-20  Jim Meyering  <meyering@redhat.com>
25246
25247         mountlist: clean up code formatting
25248         * lib/mountlist.c (read_file_system_list): Split a long line,
25249         correct bracing style, use NULL in place of "(struct statfs *)0",
25250         don't parenthesize return value, add spaces around "=" and after
25251         ";-in-for-stmt".
25252
25253 2011-01-14  Markus Duft <mduft@gentoo.org>
25254
25255         mountlist: add support for Interix
25256         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25257         Apply statvfs to all entries of /dev/fs.
25258         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25259         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25260
25261 2011-01-20  Jim Meyering  <meyering@redhat.com>
25262
25263         maint.mk: improve the public-submodule-commit rule
25264         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25265         to suppress printing of its commands... unless V=1.
25266         Add git submodule's --quiet option to suppress printing of e.g.,
25267         "Entering gnulib" output.
25268         "cd" into $(srcdir) before running git submodule.
25269
25270 2011-01-20  Bruno Haible  <bruno@clisp.org>
25271
25272         include_next: Fix bug introduced on 2011-01-18.
25273         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25274         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25275         ac_cv_header_... variable if the second argument is not 'check'.
25276         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25277         gl_NEXT_HEADERS_INTERNAL.
25278
25279 2011-01-20  Bruno Haible  <bruno@clisp.org>
25280
25281         Allow the user to avoid the GNULIB_TEST_* macros.
25282         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25283         Suggested by Paul Eggert.
25284
25285 2011-01-14  Jim Meyering  <meyering@redhat.com>
25286
25287         bootstrap: avoid failure when there is no .gitmodules file
25288         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25289         has been assigned to, even when its value is the empty string.
25290         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25291         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25292         Reported by John W. Eaton <jwe@gnu.org>.
25293
25294 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25295
25296         assume <ctype.h>, ..., <time.h> exist
25297         For years gnulib has been assuming the existence of the headers
25298         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25299         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25300         them, since they don't appear to be needed.
25301         * README (Portability guidelines): Document this.
25302         * lib/flock.c: Assume <fcntl.h> exists.
25303         * lib/regex_internal.h: Assume <locale.h> exists.
25304         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25305         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25306         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25307         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25308         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25309         * m4/regex.m4 (gl_REGEX): Likewise.
25310         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25311         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25312         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25313         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25314         * tests/test-argp.c: Likewise.
25315         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25316
25317         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25318         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25319         AA_APPLE_UNIVERSAL_BUILD.  See
25320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25321         * NEWS: Document this.
25322
25323 2011-01-19  Eric Blake  <eblake@redhat.com>
25324
25325         c-stack: assume stack overflow if SA_SIGINFO unsupported
25326         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25327         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25328         sigaction will work.
25329         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25330         behavior match Linux.
25331         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25332
25333         stdbool-tests: accommodate Haiku
25334         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25335
25336         binary-io: fix O_TEXT on Haiku
25337         * modules/binary-io (Depends-on): Add fcntl-h.
25338         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25339         than blindly undefining O_TEXT.
25340         Reported by Scott McCreary.
25341
25342 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25343
25344         include_next: do not check for standard headers like stddef.h
25345
25346         I found this problem when modifying Emacs to use gnulib.
25347         I noticed that it added HAVE_STDDEF_H to config.h, even though
25348         gnulib always assumes <stddef.h> exists as per README and this
25349         symbol is unnecessary.
25350         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25351         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25352         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25353         faster for headers like stddef.h that are known to exist.
25354         (gl_CHECK_NEXT_HEADERS): Use it.
25355         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25356         rather than gl_CHECK_NEXT_HEADERS.
25357         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25358         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25359
25360 2011-01-18  Eric Blake  <eblake@redhat.com>
25361
25362         ansi-c++-opt: skip C++ dependency style if C++ is unused
25363         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25364         tests when we know C++ compilation is not desired.
25365         Reported by Scott McCreary.
25366
25367 2011-01-18  Bruno Haible  <bruno@clisp.org>
25368
25369         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25370         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25371         (main): Perform test also when getrlimit and setrlimit don't exist or
25372         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25373         limiting the address space size using setrlimit, compare the address
25374         space size before and after the the test.
25375         * tests/test-dprintf-posix2.c: Likewise.
25376         * tests/test-fprintf-posix3.sh: Update skip messages.
25377         * tests/test-dprintf-posix2.sh: Likewise.
25378         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25379         * modules/dprintf-posix-tests (Depends-on): Likewise.
25380         Reported by Bruce Korb <bkorb@gnu.org> and
25381         Gary V. Vaughan <gary@gnu.org>.
25382
25383 2011-01-18  Bruno Haible  <bruno@clisp.org>
25384
25385         get-rusage-as: Improvement for Cygwin.
25386         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25387         areas that are merely reserved.
25388
25389 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25390
25391         strftime: remove dependencies on multibyte modules
25392
25393         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25394         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25395         only if __osf__ is defined, and I suspect OSF doesn't need these
25396         other modules.  If my guess is wrong, we'll need to come up with a
25397         variant of strftime that doesn't need the multibyte modules.
25398
25399         I discovered this problem when attempting modify Emacs to use the
25400         strftime module.  With the previous gnulib, this caused Emacs to
25401         need 31 new files, ranging from lib/config.charset to
25402         m4/wint_t.m4.  This was overkill and I expect would be offputting
25403         to the Emacs maintainers.  After this change, only 6 new files are
25404         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25405         stdbool.m4, and tm_gmtoff.m4.
25406
25407         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25408         Suggested by Bruno Haible in
25409         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25410         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25411         and do not check for wchar.h.
25412         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25413         (Depends-on): Remove mbrlen, mbsinit, wchar.
25414
25415 2011-01-18  Bruno Haible  <bruno@clisp.org>
25416
25417         Tests for module 'get-rusage-as'.
25418         * modules/get-rusage-as-tests: New file.
25419         * tests/test-get-rusage-as.c: New file.
25420
25421         New module 'get-rusage-as'.
25422         * modules/get-rusage-as: New file.
25423         * lib/resource-ext.h: New file.
25424         * lib/get-rusage-as.c: New file.
25425
25426 2011-01-17  Eric Blake  <eblake@redhat.com>
25427
25428         sigaction: relax license from LGPLv3+ to LGPLv2+
25429         * modules/sigaction (License): Relax to LGPLv2+.
25430
25431 2011-01-14  Bruno Haible  <bruno@clisp.org>
25432
25433         filemode: Make function declarations usable in C++ mode.
25434         * lib/filemode.h: Enclose function declarations in extern "C" block.
25435         Reported by John W. Eaton <jwe@gnu.org>.
25436
25437 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25438
25439         save-cwd: no longer include "xgetcwd.h"
25440         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25441         This avoids a compilation failure in projects that use save-cwd
25442         without also using the xgetcwd module.
25443
25444 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25445
25446         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25447         This is so that a program like Emacs, which needs only dtoastr,
25448         does not have to bother with distributing and compiling ftoastr
25449         and ldtoastr.
25450         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25451         * modules/dtoastr, modules/ldtoastr: New files.
25452         * modules/ftoastr: Now works just for 'float'.
25453         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25454         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25455         dtoastr.c, ldtoastr.c.
25456
25457 2011-01-11  Jim Meyering  <meyering@redhat.com>
25458
25459         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25460         There is no need to work around the lack of the fchdir function,
25461         since gnulib can now provide a replacement when required.
25462         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25463         * modules/save-cwd (Depends-on): Add fchdir.
25464
25465 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25466
25467         openat, save-cwd: avoid xmalloc
25468
25469         This removes a direct (but undocumented) dependency of openat on
25470         xalloc, along with an indirect dependency via save-cwd.  It also
25471         removes a dependency of save-cwd on xgetcwd, and thereby
25472         indirectly on xalloc.  This change causes the openat substitute
25473         to fall back on save_cwd when memory is tight, and for save_cwd to
25474         fail instead of dying when memory is tight, but that's good enough.
25475         Problem and initial idea for fix reported by Bastien Roucaries in
25476         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25477
25478         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25479         xalloc.h (for xmalloc).
25480         (openat_proc_name): Use malloc, not xmalloc.
25481         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25482         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25483
25484         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25485         This avoids heap allocation for file names whose lengths are in
25486         the range 512..1023, with the upper bound increasing to at most
25487         4031 depending on the platform's PATH_MAX.  (We do not want
25488         pathmax.h here as it might supply a non-constant PATH_MAX.)
25489         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25490         Perhaps they should be moved to malloca.h?
25491         (OPENAT_BUFFER_SIZE): Use them.
25492
25493 2011-01-10  Bruno Haible  <bruno@clisp.org>
25494
25495         doc: Update users.txt.
25496         * users.txt: Add recutils.
25497
25498 2011-01-09  Karl Berry  <karl@gnu.org>
25499
25500         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25501
25502         * doc/configmake.texi: New file.
25503         * doc/gnulib.texi: Include it.
25504         * modules/configmake: Move documentation from here.
25505
25506 2011-01-09  Bruno Haible  <bruno@clisp.org>
25507
25508         Update to Unicode 6.0.0.
25509         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25510         (get_lbp): Update for Unicode 6.0.0.
25511         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25512         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25513         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25514         U+11001, U+11038..U+11046. Remove U+06DE.
25515         (uc_width): Fix bounds of planes.
25516         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25517         lib/uniwidth/width.c.
25518         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25519         trailing whitespace removed.
25520         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25521         without comments, but with the original copyright notice.
25522         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25523         * lib/unicase/ignorable.h: Likewise.
25524         * lib/unicase/tocasefold.h: Likewise.
25525         * lib/unicase/tolower.h: Likewise.
25526         * lib/unicase/totitle.h: Likewise.
25527         * lib/unicase/toupper.h: Likewise.
25528         * lib/unictype/bidi_of.h: Likewise.
25529         * lib/unictype/blocks.h: Likewise.
25530         * lib/unictype/categ_C.h: Likewise.
25531         * lib/unictype/categ_Cn.h: Likewise.
25532         * lib/unictype/categ_L.h: Likewise.
25533         * lib/unictype/categ_Ll.h: Likewise.
25534         * lib/unictype/categ_Lm.h: Likewise.
25535         * lib/unictype/categ_Lo.h: Likewise.
25536         * lib/unictype/categ_Lu.h: Likewise.
25537         * lib/unictype/categ_M.h: Likewise.
25538         * lib/unictype/categ_Mc.h: Likewise.
25539         * lib/unictype/categ_Me.h: Likewise.
25540         * lib/unictype/categ_Mn.h: Likewise.
25541         * lib/unictype/categ_N.h: Likewise.
25542         * lib/unictype/categ_Nd.h: Likewise.
25543         * lib/unictype/categ_No.h: Likewise.
25544         * lib/unictype/categ_P.h: Likewise.
25545         * lib/unictype/categ_Po.h: Likewise.
25546         * lib/unictype/categ_S.h: Likewise.
25547         * lib/unictype/categ_Sc.h: Likewise.
25548         * lib/unictype/categ_Sk.h: Likewise.
25549         * lib/unictype/categ_Sm.h: Likewise.
25550         * lib/unictype/categ_So.h: Likewise.
25551         * lib/unictype/categ_of.h: Likewise.
25552         * lib/unictype/combining.h: Likewise.
25553         * lib/unictype/ctype_alnum.h: Likewise.
25554         * lib/unictype/ctype_alpha.h: Likewise.
25555         * lib/unictype/ctype_graph.h: Likewise.
25556         * lib/unictype/ctype_lower.h: Likewise.
25557         * lib/unictype/ctype_print.h: Likewise.
25558         * lib/unictype/ctype_punct.h: Likewise.
25559         * lib/unictype/ctype_upper.h: Likewise.
25560         * lib/unictype/decdigit.h: Likewise.
25561         * lib/unictype/digit.h: Likewise.
25562         * lib/unictype/numeric.h: Likewise.
25563         * lib/unictype/pr_alphabetic.h: Likewise.
25564         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25565         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25566         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25567         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25568         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25569         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25570         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25571         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25572         * lib/unictype/pr_case_ignorable.h: Likewise.
25573         * lib/unictype/pr_cased.h: Likewise.
25574         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25575         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25576         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25577         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25578         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25579         * lib/unictype/pr_combining.h: Likewise.
25580         * lib/unictype/pr_composite.h: Likewise.
25581         * lib/unictype/pr_currency_symbol.h: Likewise.
25582         * lib/unictype/pr_decimal_digit.h: Likewise.
25583         * lib/unictype/pr_deprecated.h: Likewise.
25584         * lib/unictype/pr_format_control.h: Likewise.
25585         * lib/unictype/pr_grapheme_base.h: Likewise.
25586         * lib/unictype/pr_grapheme_extend.h: Likewise.
25587         * lib/unictype/pr_grapheme_link.h: Likewise.
25588         * lib/unictype/pr_id_continue.h: Likewise.
25589         * lib/unictype/pr_id_start.h: Likewise.
25590         * lib/unictype/pr_ideographic.h: Likewise.
25591         * lib/unictype/pr_lowercase.h: Likewise.
25592         * lib/unictype/pr_math.h: Likewise.
25593         * lib/unictype/pr_numeric.h: Likewise.
25594         * lib/unictype/pr_other_alphabetic.h: Likewise.
25595         * lib/unictype/pr_other_id_continue.h: Likewise.
25596         * lib/unictype/pr_other_math.h: Likewise.
25597         * lib/unictype/pr_punctuation.h: Likewise.
25598         * lib/unictype/pr_sentence_terminal.h: Likewise.
25599         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25600         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25601         * lib/unictype/pr_unified_ideograph.h: Likewise.
25602         * lib/unictype/pr_uppercase.h: Likewise.
25603         * lib/unictype/pr_xid_continue.h: Likewise.
25604         * lib/unictype/pr_xid_start.h: Likewise.
25605         * lib/unictype/scripts.h: Likewise.
25606         * lib/unictype/scripts_byname.gperf: Likewise.
25607         * lib/unictype/sy_java_ident.h: Likewise.
25608         * lib/unigbrk/gbrkprop.h: Likewise.
25609         * lib/unilbrk/lbrkprop1.h: Likewise.
25610         * lib/unilbrk/lbrkprop2.h: Likewise.
25611         * lib/uninorm/decomposition-table2.h: Likewise.
25612         * lib/uniwbrk/wbrkprop.h: Likewise.
25613         * tests/unicase/test-cased.c: Likewise.
25614         * tests/unicase/test-ignorable.c: Likewise.
25615         * tests/unicase/test-uc_tolower.c: Likewise.
25616         * tests/unicase/test-uc_totitle.c: Likewise.
25617         * tests/unicase/test-uc_toupper.c: Likewise.
25618         * tests/unictype/test-categ_C.c: Likewise.
25619         * tests/unictype/test-categ_Cn.c: Likewise.
25620         * tests/unictype/test-categ_L.c: Likewise.
25621         * tests/unictype/test-categ_Ll.c: Likewise.
25622         * tests/unictype/test-categ_Lm.c: Likewise.
25623         * tests/unictype/test-categ_Lo.c: Likewise.
25624         * tests/unictype/test-categ_Lu.c: Likewise.
25625         * tests/unictype/test-categ_M.c: Likewise.
25626         * tests/unictype/test-categ_Mc.c: Likewise.
25627         * tests/unictype/test-categ_Me.c: Likewise.
25628         * tests/unictype/test-categ_Mn.c: Likewise.
25629         * tests/unictype/test-categ_N.c: Likewise.
25630         * tests/unictype/test-categ_Nd.c: Likewise.
25631         * tests/unictype/test-categ_No.c: Likewise.
25632         * tests/unictype/test-categ_P.c: Likewise.
25633         * tests/unictype/test-categ_Po.c: Likewise.
25634         * tests/unictype/test-categ_S.c: Likewise.
25635         * tests/unictype/test-categ_Sc.c: Likewise.
25636         * tests/unictype/test-categ_Sk.c: Likewise.
25637         * tests/unictype/test-categ_Sm.c: Likewise.
25638         * tests/unictype/test-categ_So.c: Likewise.
25639         * tests/unictype/test-ctype_alnum.c: Likewise.
25640         * tests/unictype/test-ctype_alpha.c: Likewise.
25641         * tests/unictype/test-ctype_graph.c: Likewise.
25642         * tests/unictype/test-ctype_lower.c: Likewise.
25643         * tests/unictype/test-ctype_print.c: Likewise.
25644         * tests/unictype/test-ctype_punct.c: Likewise.
25645         * tests/unictype/test-ctype_upper.c: Likewise.
25646         * tests/unictype/test-decdigit.h: Likewise.
25647         * tests/unictype/test-digit.h: Likewise.
25648         * tests/unictype/test-numeric.h: Likewise.
25649         * tests/unictype/test-pr_alphabetic.c: Likewise.
25650         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25651         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25652         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25653         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25654         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25655         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25656         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25657         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25658         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25659         * tests/unictype/test-pr_cased.c: Likewise.
25660         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25661         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25662         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25663         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25664         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25665         * tests/unictype/test-pr_combining.c: Likewise.
25666         * tests/unictype/test-pr_composite.c: Likewise.
25667         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25668         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25669         * tests/unictype/test-pr_deprecated.c: Likewise.
25670         * tests/unictype/test-pr_format_control.c: Likewise.
25671         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25672         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25673         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25674         * tests/unictype/test-pr_id_continue.c: Likewise.
25675         * tests/unictype/test-pr_id_start.c: Likewise.
25676         * tests/unictype/test-pr_ideographic.c: Likewise.
25677         * tests/unictype/test-pr_lowercase.c: Likewise.
25678         * tests/unictype/test-pr_math.c: Likewise.
25679         * tests/unictype/test-pr_numeric.c: Likewise.
25680         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25681         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25682         * tests/unictype/test-pr_other_math.c: Likewise.
25683         * tests/unictype/test-pr_punctuation.c: Likewise.
25684         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25685         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25686         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25687         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25688         * tests/unictype/test-pr_uppercase.c: Likewise.
25689         * tests/unictype/test-pr_xid_continue.c: Likewise.
25690         * tests/unictype/test-pr_xid_start.c: Likewise.
25691         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25692         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25693         changes.
25694         * lib/unictype/categ_Cc.h: Likewise.
25695         * lib/unictype/categ_Cf.h: Likewise.
25696         * lib/unictype/categ_Co.h: Likewise.
25697         * lib/unictype/categ_Cs.h: Likewise.
25698         * lib/unictype/categ_Lt.h: Likewise.
25699         * lib/unictype/categ_Nl.h: Likewise.
25700         * lib/unictype/categ_Pc.h: Likewise.
25701         * lib/unictype/categ_Pd.h: Likewise.
25702         * lib/unictype/categ_Pe.h: Likewise.
25703         * lib/unictype/categ_Pf.h: Likewise.
25704         * lib/unictype/categ_Pi.h: Likewise.
25705         * lib/unictype/categ_Ps.h: Likewise.
25706         * lib/unictype/categ_Z.h: Likewise.
25707         * lib/unictype/categ_Zl.h: Likewise.
25708         * lib/unictype/categ_Zp.h: Likewise.
25709         * lib/unictype/categ_Zs.h: Likewise.
25710         * lib/unictype/ctype_blank.h: Likewise.
25711         * lib/unictype/ctype_cntrl.h: Likewise.
25712         * lib/unictype/ctype_digit.h: Likewise.
25713         * lib/unictype/ctype_space.h: Likewise.
25714         * lib/unictype/ctype_xdigit.h: Likewise.
25715         * lib/unictype/mirror.h: Likewise.
25716         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25717         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25718         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25719         * lib/unictype/pr_bidi_control.h: Likewise.
25720         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25721         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25722         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25723         * lib/unictype/pr_bidi_pdf.h: Likewise.
25724         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25725         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25726         * lib/unictype/pr_dash.h: Likewise.
25727         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25728         * lib/unictype/pr_diacritic.h: Likewise.
25729         * lib/unictype/pr_extender.h: Likewise.
25730         * lib/unictype/pr_hex_digit.h: Likewise.
25731         * lib/unictype/pr_hyphen.h: Likewise.
25732         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25733         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25734         * lib/unictype/pr_ignorable_control.h: Likewise.
25735         * lib/unictype/pr_iso_control.h: Likewise.
25736         * lib/unictype/pr_join_control.h: Likewise.
25737         * lib/unictype/pr_left_of_pair.h: Likewise.
25738         * lib/unictype/pr_line_separator.h: Likewise.
25739         * lib/unictype/pr_logical_order_exception.h: Likewise.
25740         * lib/unictype/pr_non_break.h: Likewise.
25741         * lib/unictype/pr_not_a_character.h: Likewise.
25742         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25743         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25744         * lib/unictype/pr_other_id_start.h: Likewise.
25745         * lib/unictype/pr_other_lowercase.h: Likewise.
25746         * lib/unictype/pr_other_uppercase.h: Likewise.
25747         * lib/unictype/pr_paired_punctuation.h: Likewise.
25748         * lib/unictype/pr_paragraph_separator.h: Likewise.
25749         * lib/unictype/pr_pattern_syntax.h: Likewise.
25750         * lib/unictype/pr_pattern_white_space.h: Likewise.
25751         * lib/unictype/pr_private_use.h: Likewise.
25752         * lib/unictype/pr_quotation_mark.h: Likewise.
25753         * lib/unictype/pr_radical.h: Likewise.
25754         * lib/unictype/pr_soft_dotted.h: Likewise.
25755         * lib/unictype/pr_space.h: Likewise.
25756         * lib/unictype/pr_titlecase.h: Likewise.
25757         * lib/unictype/pr_variation_selector.h: Likewise.
25758         * lib/unictype/pr_white_space.h: Likewise.
25759         * lib/unictype/pr_zero_width.h: Likewise.
25760         * lib/unictype/sy_c_ident.h: Likewise.
25761         * lib/unictype/sy_c_whitespace.h: Likewise.
25762         * lib/unictype/sy_java_whitespace.h: Likewise.
25763         * lib/uninorm/composition-table.gperf: Likewise.
25764         * lib/uninorm/decomposition-table1.h: Likewise.
25765         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25766         LB8.
25767         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25768         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25769         * modules/unictype/*: Bump version number of expected libunistring
25770         version.
25771
25772 2011-01-09  Bruno Haible  <bruno@clisp.org>
25773
25774         Update to Unicode 5.2.0.
25775         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25776         trailing whitespace removed.
25777
25778 2011-01-09  Bruno Haible  <bruno@clisp.org>
25779
25780         New Unicode character properties, from Unicode 5.2.0.
25781         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25782         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25783         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25784         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25785         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25786         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25787         uc_is_property_cased, uc_is_property_case_ignorable,
25788         uc_is_property_changes_when_lowercased,
25789         uc_is_property_changes_when_uppercased,
25790         uc_is_property_changes_when_titlecased,
25791         uc_is_property_changes_when_casefolded,
25792         uc_is_property_changes_when_casemapped): New declarations.
25793         * lib/unictype/pr_byname.gperf: Add the new properties.
25794         * modules/unictype/property-byname (Depends-on): Depend on the new
25795         properties modules.
25796         * modules/unictype/property-all (Depends-on): Likewise.
25797         * MODULES.html.sh (Unicode string functions): Add
25798         unictype/property-case-ignorable, unictype/property-cased,
25799         unictype/property-changes-when-casefolded,
25800         unictype/property-changes-when-casemapped,
25801         unictype/property-changes-when-lowercased,
25802         unictype/property-changes-when-titlecased,
25803         unictype/property-changes-when-uppercased.
25804
25805         New module 'unictype/property-changes-when-casemapped'.
25806         * modules/unictype/property-changes-when-casemapped: New file.
25807         * lib/unictype/pr_changes_when_casemapped.c: New file.
25808         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25809         generated by gen-uni-tables.
25810         * modules/unictype/property-changes-when-casemapped-tests: New file.
25811         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25812         automatically generated by gen-uni-tables.
25813
25814         New module 'unictype/property-changes-when-casefolded'.
25815         * modules/unictype/property-changes-when-casefolded: New file.
25816         * lib/unictype/pr_changes_when_casefolded.c: New file.
25817         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25818         generated by gen-uni-tables.
25819         * modules/unictype/property-changes-when-casefolded-tests: New file.
25820         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25821         automatically generated by gen-uni-tables.
25822
25823         New module 'unictype/property-changes-when-titlecased'.
25824         * modules/unictype/property-changes-when-titlecased: New file.
25825         * lib/unictype/pr_changes_when_titlecased.c: New file.
25826         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25827         generated by gen-uni-tables.
25828         * modules/unictype/property-changes-when-titlecased-tests: New file.
25829         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25830         automatically generated by gen-uni-tables.
25831
25832         New module 'unictype/property-changes-when-uppercased'.
25833         * modules/unictype/property-changes-when-uppercased: New file.
25834         * lib/unictype/pr_changes_when_uppercased.c: New file.
25835         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25836         generated by gen-uni-tables.
25837         * modules/unictype/property-changes-when-uppercased-tests: New file.
25838         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25839         automatically generated by gen-uni-tables.
25840
25841         New module 'unictype/property-changes-when-lowercased'.
25842         * modules/unictype/property-changes-when-lowercased: New file.
25843         * lib/unictype/pr_changes_when_lowercased.c: New file.
25844         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25845         generated by gen-uni-tables.
25846         * modules/unictype/property-changes-when-lowercased-tests: New file.
25847         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25848         automatically generated by gen-uni-tables.
25849
25850         New module 'unictype/property-case-ignorable'.
25851         * modules/unictype/property-case-ignorable: New file.
25852         * lib/unictype/pr_case_ignorable.c: New file.
25853         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25854         by gen-uni-tables.
25855         * modules/unictype/property-case-ignorable-tests: New file.
25856         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25857         generated by gen-uni-tables.
25858
25859         New module 'unictype/property-cased'.
25860         * modules/unictype/property-cased: New file.
25861         * lib/unictype/pr_cased.c: New file.
25862         * lib/unictype/pr_cased.h: New file, automatically generated by
25863         gen-uni-tables.
25864         * modules/unictype/property-cased-tests: New file.
25865         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25866         gen-uni-tables.
25867
25868 2011-01-09  Bruno Haible  <bruno@clisp.org>
25869
25870         Update to Unicode 5.2.0.
25871         * lib/gen-uni-tables.c (output_predicate, output_category,
25872         output_combclass, output_bidi_category, output_decimal_digit_test,
25873         output_decimal_digit, output_digit_test, output_digit,
25874         output_numeric_test, output_numeric, output_mirror, output_scripts,
25875         output_scripts_byname, output_blocks, output_ident_category): Fix
25876         comment header.
25877         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25878         get_wbp.
25879         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25880         items.
25881         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25882         Changes_When_Lowercased, Changes_When_Uppercased,
25883         Changes_When_Titlecased, Changes_When_Casefolded,
25884         Changes_When_Casemapped.
25885         (is_property_alphabetic, is_property_default_ignorable_code_point):
25886         Update for Unicode 5.2.0.
25887         (is_property_cased, is_property_case_ignorable,
25888         is_property_changes_when_lowercased,
25889         is_property_changes_when_uppercased,
25890         is_property_changes_when_titlecased,
25891         is_property_changes_when_casefolded,
25892         is_property_changes_when_casemapped): New functions.
25893         (output_properties): Output also the properties cased, case_ignorable,
25894         changes_when_lowercased, changes_when_uppercased,
25895         changes_when_titlecased, changes_when_casefolded,
25896         changes_when_casemapped.
25897         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25898         Unicode TR#11 revision 17 -> 19.
25899         (LBP_CP): New enumeration value.
25900         (LBP_*): Adjust values accordingly.
25901         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25902         TR#14 revision 22 -> 24.
25903         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25904         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25905         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25906         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25907         is_WBP_MIDLETTER.
25908         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25909         the code1 and code2 of each composition rule.
25910         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25911         * lib/unicase/ignorable.h: Likewise.
25912         * lib/unicase/tocasefold.h: Likewise.
25913         * lib/unicase/tolower.h: Likewise.
25914         * lib/unicase/totitle.h: Likewise.
25915         * lib/unicase/toupper.h: Likewise.
25916         * lib/unictype/bidi_of.h: Likewise.
25917         * lib/unictype/blocks.h: Likewise.
25918         * lib/unictype/categ_C.h: Likewise.
25919         * lib/unictype/categ_Cf.h: Likewise.
25920         * lib/unictype/categ_Cn.h: Likewise.
25921         * lib/unictype/categ_L.h: Likewise.
25922         * lib/unictype/categ_Ll.h: Likewise.
25923         * lib/unictype/categ_Lm.h: Likewise.
25924         * lib/unictype/categ_Lo.h: Likewise.
25925         * lib/unictype/categ_Lu.h: Likewise.
25926         * lib/unictype/categ_M.h: Likewise.
25927         * lib/unictype/categ_Mc.h: Likewise.
25928         * lib/unictype/categ_Mn.h: Likewise.
25929         * lib/unictype/categ_N.h: Likewise.
25930         * lib/unictype/categ_Nd.h: Likewise.
25931         * lib/unictype/categ_Nl.h: Likewise.
25932         * lib/unictype/categ_No.h: Likewise.
25933         * lib/unictype/categ_P.h: Likewise.
25934         * lib/unictype/categ_Pd.h: Likewise.
25935         * lib/unictype/categ_Po.h: Likewise.
25936         * lib/unictype/categ_S.h: Likewise.
25937         * lib/unictype/categ_Sc.h: Likewise.
25938         * lib/unictype/categ_So.h: Likewise.
25939         * lib/unictype/categ_of.h: Likewise.
25940         * lib/unictype/combining.h: Likewise.
25941         * lib/unictype/ctype_alnum.h: Likewise.
25942         * lib/unictype/ctype_alpha.h: Likewise.
25943         * lib/unictype/ctype_graph.h: Likewise.
25944         * lib/unictype/ctype_lower.h: Likewise.
25945         * lib/unictype/ctype_print.h: Likewise.
25946         * lib/unictype/ctype_punct.h: Likewise.
25947         * lib/unictype/ctype_upper.h: Likewise.
25948         * lib/unictype/decdigit.h: Likewise.
25949         * lib/unictype/digit.h: Likewise.
25950         * lib/unictype/numeric.h: Likewise.
25951         * lib/unictype/pr_alphabetic.h: Likewise.
25952         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25953         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25954         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25955         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25956         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25957         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25958         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25959         * lib/unictype/pr_combining.h: Likewise.
25960         * lib/unictype/pr_composite.h: Likewise.
25961         * lib/unictype/pr_currency_symbol.h: Likewise.
25962         * lib/unictype/pr_dash.h: Likewise.
25963         * lib/unictype/pr_decimal_digit.h: Likewise.
25964         * lib/unictype/pr_deprecated.h: Likewise.
25965         * lib/unictype/pr_diacritic.h: Likewise.
25966         * lib/unictype/pr_extender.h: Likewise.
25967         * lib/unictype/pr_grapheme_base.h: Likewise.
25968         * lib/unictype/pr_grapheme_extend.h: Likewise.
25969         * lib/unictype/pr_grapheme_link.h: Likewise.
25970         * lib/unictype/pr_id_continue.h: Likewise.
25971         * lib/unictype/pr_id_start.h: Likewise.
25972         * lib/unictype/pr_ideographic.h: Likewise.
25973         * lib/unictype/pr_ignorable_control.h: Likewise.
25974         * lib/unictype/pr_logical_order_exception.h: Likewise.
25975         * lib/unictype/pr_lowercase.h: Likewise.
25976         * lib/unictype/pr_numeric.h: Likewise.
25977         * lib/unictype/pr_other_alphabetic.h: Likewise.
25978         * lib/unictype/pr_punctuation.h: Likewise.
25979         * lib/unictype/pr_sentence_terminal.h: Likewise.
25980         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25981         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25982         * lib/unictype/pr_unified_ideograph.h: Likewise.
25983         * lib/unictype/pr_uppercase.h: Likewise.
25984         * lib/unictype/pr_xid_continue.h: Likewise.
25985         * lib/unictype/pr_xid_start.h: Likewise.
25986         * lib/unictype/pr_zero_width.h: Likewise.
25987         * lib/unictype/scripts.h: Likewise.
25988         * lib/unictype/scripts_byname.gperf: Likewise.
25989         * lib/unictype/sy_java_ident.h: Likewise.
25990         * lib/unigbrk/gbrkprop.h: Likewise.
25991         * lib/unilbrk/lbrkprop1.h: Likewise.
25992         * lib/unilbrk/lbrkprop2.h: Likewise.
25993         * lib/unilbrk/lbrktables.h: Likewise.
25994         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25995         LBP_CP. Implement rule LB30.
25996         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25997         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25998         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25999         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26000         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26001         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26002         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26003         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26004         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26005         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26006         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26007         bits instead of 16 bits in the code1 and code2 of each composition
26008         rule.
26009         (uc_composition): Update for Unicode 5.2.0.
26010         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26011         * lib/uninorm/decomposition-table2.h: Likewise.
26012         * lib/uniwbrk/wbrkprop.h: Likewise.
26013         * tests/unicase/test-cased.c: Likewise.
26014         * tests/unicase/test-ignorable.c: Likewise.
26015         * tests/unicase/test-uc_tolower.c: Likewise.
26016         * tests/unicase/test-uc_totitle.c: Likewise.
26017         * tests/unicase/test-uc_toupper.c: Likewise.
26018         * tests/unictype/test-categ_C.c: Likewise.
26019         * tests/unictype/test-categ_Cf.c: Likewise.
26020         * tests/unictype/test-categ_Cn.c: Likewise.
26021         * tests/unictype/test-categ_L.c: Likewise.
26022         * tests/unictype/test-categ_Ll.c: Likewise.
26023         * tests/unictype/test-categ_Lm.c: Likewise.
26024         * tests/unictype/test-categ_Lo.c: Likewise.
26025         * tests/unictype/test-categ_Lu.c: Likewise.
26026         * tests/unictype/test-categ_M.c: Likewise.
26027         * tests/unictype/test-categ_Mc.c: Likewise.
26028         * tests/unictype/test-categ_Mn.c: Likewise.
26029         * tests/unictype/test-categ_N.c: Likewise.
26030         * tests/unictype/test-categ_Nd.c: Likewise.
26031         * tests/unictype/test-categ_Nl.c: Likewise.
26032         * tests/unictype/test-categ_No.c: Likewise.
26033         * tests/unictype/test-categ_P.c: Likewise.
26034         * tests/unictype/test-categ_Pd.c: Likewise.
26035         * tests/unictype/test-categ_Po.c: Likewise.
26036         * tests/unictype/test-categ_S.c: Likewise.
26037         * tests/unictype/test-categ_Sc.c: Likewise.
26038         * tests/unictype/test-categ_So.c: Likewise.
26039         * tests/unictype/test-ctype_alnum.c: Likewise.
26040         * tests/unictype/test-ctype_alpha.c: Likewise.
26041         * tests/unictype/test-ctype_graph.c: Likewise.
26042         * tests/unictype/test-ctype_lower.c: Likewise.
26043         * tests/unictype/test-ctype_print.c: Likewise.
26044         * tests/unictype/test-ctype_punct.c: Likewise.
26045         * tests/unictype/test-ctype_upper.c: Likewise.
26046         * tests/unictype/test-decdigit.h: Likewise.
26047         * tests/unictype/test-digit.h: Likewise.
26048         * tests/unictype/test-numeric.h: Likewise.
26049         * tests/unictype/test-pr_alphabetic.c: Likewise.
26050         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26051         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26052         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26053         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26054         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26055         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26056         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26057         * tests/unictype/test-pr_combining.c: Likewise.
26058         * tests/unictype/test-pr_composite.c: Likewise.
26059         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26060         * tests/unictype/test-pr_dash.c: Likewise.
26061         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26062         * tests/unictype/test-pr_deprecated.c: Likewise.
26063         * tests/unictype/test-pr_diacritic.c: Likewise.
26064         * tests/unictype/test-pr_extender.c: Likewise.
26065         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26066         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26067         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26068         * tests/unictype/test-pr_id_continue.c: Likewise.
26069         * tests/unictype/test-pr_id_start.c: Likewise.
26070         * tests/unictype/test-pr_ideographic.c: Likewise.
26071         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26072         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26073         * tests/unictype/test-pr_lowercase.c: Likewise.
26074         * tests/unictype/test-pr_numeric.c: Likewise.
26075         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26076         * tests/unictype/test-pr_punctuation.c: Likewise.
26077         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26078         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26079         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26080         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26081         * tests/unictype/test-pr_uppercase.c: Likewise.
26082         * tests/unictype/test-pr_xid_continue.c: Likewise.
26083         * tests/unictype/test-pr_xid_start.c: Likewise.
26084         * tests/unictype/test-pr_zero_width.c: Likewise.
26085         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26086         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26087         changed behaviour: line breaking is now disallowed between a letter
26088         or '=' and '('.
26089         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26090         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26091         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26092         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26093         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26094         lib/uniwidth/width.c.
26095         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26096         without comments, but with the original copyright notice.
26097         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26098         changes.
26099         * lib/unictype/categ_Cc.h: Likewise.
26100         * lib/unictype/categ_Co.h: Likewise.
26101         * lib/unictype/categ_Cs.h: Likewise.
26102         * lib/unictype/categ_Lt.h: Likewise.
26103         * lib/unictype/categ_Me.h: Likewise.
26104         * lib/unictype/categ_Pc.h: Likewise.
26105         * lib/unictype/categ_Pe.h: Likewise.
26106         * lib/unictype/categ_Pf.h: Likewise.
26107         * lib/unictype/categ_Pi.h: Likewise.
26108         * lib/unictype/categ_Ps.h: Likewise.
26109         * lib/unictype/categ_Sk.h: Likewise.
26110         * lib/unictype/categ_Sm.h: Likewise.
26111         * lib/unictype/categ_Z.h: Likewise.
26112         * lib/unictype/categ_Zl.h: Likewise.
26113         * lib/unictype/categ_Zp.h: Likewise.
26114         * lib/unictype/categ_Zs.h: Likewise.
26115         * lib/unictype/ctype_blank.h: Likewise.
26116         * lib/unictype/ctype_cntrl.h: Likewise.
26117         * lib/unictype/ctype_digit.h: Likewise.
26118         * lib/unictype/ctype_space.h: Likewise.
26119         * lib/unictype/ctype_xdigit.h: Likewise.
26120         * lib/unictype/mirror.h: Likewise.
26121         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26122         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26123         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26124         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26125         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26126         * lib/unictype/pr_bidi_control.h: Likewise.
26127         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26128         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26129         * lib/unictype/pr_bidi_pdf.h: Likewise.
26130         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26131         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26132         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26133         * lib/unictype/pr_format_control.h: Likewise.
26134         * lib/unictype/pr_hex_digit.h: Likewise.
26135         * lib/unictype/pr_hyphen.h: Likewise.
26136         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26137         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26138         * lib/unictype/pr_iso_control.h: Likewise.
26139         * lib/unictype/pr_join_control.h: Likewise.
26140         * lib/unictype/pr_left_of_pair.h: Likewise.
26141         * lib/unictype/pr_line_separator.h: Likewise.
26142         * lib/unictype/pr_math.h: Likewise.
26143         * lib/unictype/pr_non_break.h: Likewise.
26144         * lib/unictype/pr_not_a_character.h: Likewise.
26145         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26146         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26147         * lib/unictype/pr_other_id_continue.h: Likewise.
26148         * lib/unictype/pr_other_id_start.h: Likewise.
26149         * lib/unictype/pr_other_lowercase.h: Likewise.
26150         * lib/unictype/pr_other_math.h: Likewise.
26151         * lib/unictype/pr_other_uppercase.h: Likewise.
26152         * lib/unictype/pr_paired_punctuation.h: Likewise.
26153         * lib/unictype/pr_paragraph_separator.h: Likewise.
26154         * lib/unictype/pr_pattern_syntax.h: Likewise.
26155         * lib/unictype/pr_pattern_white_space.h: Likewise.
26156         * lib/unictype/pr_private_use.h: Likewise.
26157         * lib/unictype/pr_quotation_mark.h: Likewise.
26158         * lib/unictype/pr_radical.h: Likewise.
26159         * lib/unictype/pr_soft_dotted.h: Likewise.
26160         * lib/unictype/pr_space.h: Likewise.
26161         * lib/unictype/pr_titlecase.h: Likewise.
26162         * lib/unictype/pr_variation_selector.h: Likewise.
26163         * lib/unictype/pr_white_space.h: Likewise.
26164         * lib/unictype/sy_c_ident.h: Likewise.
26165         * lib/unictype/sy_c_whitespace.h: Likewise.
26166         * lib/unictype/sy_java_whitespace.h: Likewise.
26167         * modules/uni*/*: Bump version number of expected libunistring version.
26168         Reported by Simon Josefsson.
26169
26170 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26171
26172         useless-if-before-free: fix typo in --help and make the internal,
26173         automatic version date update process work once again.
26174         --help output contained a NUL character instead of the
26175         backslash-zero that was intended.  Also, the "must lie within
26176         the first 8 lines" line is on line 9, and hence not getting
26177         automatically updated.
26178         * build-aux/useless-if-before-free: Fix the former by adding a
26179         backslash, and the latter by condensing the three lines of what-it-does
26180         to a single line, leaving one line of slack for the future.
26181
26182 2011-01-09  Bruno Haible  <bruno@clisp.org>
26183
26184         uniwidth/width: Fix width of U+1D173..U+1D17A.
26185         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26186         symbolic_width, output_width_property_test): New functions.
26187         (main): Invoke output_nonspacing_property, output_width_property_test.
26188         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26189         U+1D173..U+1D17A.
26190         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26191         1.
26192         * modules/uniwidth/*: Bump version number of expected libunistring
26193         version.
26194         * modules/unilbrk/*: Likewise.
26195
26196 2011-01-08  Bruno Haible  <bruno@clisp.org>
26197
26198         uninorm tests: Preserve copyright of Unicode data file.
26199         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26200         Mention modifications.
26201
26202 2011-01-08  Bruno Haible  <bruno@clisp.org>
26203
26204         gen-uni-tables: Prepare for Unicode 5.2.0.
26205         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26206         (debug_output_lbp, output_lbp): Update.
26207
26208 2011-01-08  Bruno Haible  <bruno@clisp.org>
26209
26210         unilbrk: Clarify gen-uni-tables.c code.
26211         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26212         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26213         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26214
26215 2011-01-07  Bruno Haible  <bruno@clisp.org>
26216
26217         strtod: Restore errno when successfully parsing Infinity or NaN.
26218         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26219         restore the original errno.
26220
26221 2011-01-07  Bruno Haible  <bruno@clisp.org>
26222
26223         remove test: Avoid failure on HP-UX 11.
26224         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26225
26226 2011-01-07  Bruno Haible  <bruno@clisp.org>
26227
26228         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26229         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26230         error code.
26231
26232 2011-01-07  Pádraig Brady <P@draigBrady.com>
26233
26234         ignore-value: fixup comments, and add Eric Blake
26235         as an author since he rewrote the macros.
26236         * lib/ignore-value.h (ignore_value):  State that
26237         we now support aggregates.  Also specify exactly
26238         when the GCC warn_unused_result feature was added.
26239
26240 2011-01-06  Eric Blake  <eblake@redhat.com>
26241
26242         ignore-value: support aggregate types
26243         * lib/ignore-value.h (ignore_value): Provide separate gcc
26244         definition.
26245         * modules/ignore-value-tests: New test module.
26246         * tests/test-ignore-value.c: New test.
26247
26248         maint.mk: improve sc_prohibit_strcmp regex
26249         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26250         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26251         definition of STRNEQ.
26252
26253         signal: work around Haiku issue with SIGBUS
26254         * lib/siglist.h: Add comment.
26255         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26256         strsignal's favoring of SIGSEGV.
26257         * tests/test-signal.c (main): Avoid test failure.
26258         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26259         Reported by Scott McCreary.
26260
26261         maint.mk: add pre-release check to ensure submodule commits are public
26262         * top/maint.mk (public-submodule-commit): New rule.
26263         (submodule-checks): New variable.
26264         (alpha beta stable): Depend on the variable.
26265
26266 2011-01-05  Pádraig Brady <P@draigBrady.com>
26267         and Jim Meyering  <meyering@redhat.com>
26268
26269         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26270         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26271         (ATTRIBUTE_DEPRECATED): Define.
26272         (_ignore_case): New function.
26273         (ignore_value): New macro, to replace the old function.
26274         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26275         * modules/ignore-value (Depends-on): Add stdint.
26276
26277 2011-01-04  Eric Blake  <eblake@redhat.com>
26278
26279         doc: regenerate INSTALL
26280         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26281         @firstparagraphindent support, now that autoconf dropped it.
26282         (INSTALL_PRELUDE): Reinstate old macro.
26283         * doc/install.texi: Resync from autoconf.
26284         * doc/INSTALL: Reflect recent autoconf update.
26285         * doc/INSTALL.ISO: Likewise.
26286         * doc/INSTALL.UTF-8: Likewise.
26287         Reported by Karl Berry.
26288
26289 2011-01-04  Bruce Korb  <address@hidden>
26290
26291         git-version-gen: avoid a sub-shell
26292         * build-aux/git-version-gen: Redirect stderr in `...` via
26293         "exec 2>...", rather than via an added sub-shell.
26294
26295 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26296
26297         git-version-gen: use (...) rather than sh -c '...'
26298         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26299         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26300
26301 2011-01-03  Jim Meyering  <meyering@redhat.com>
26302
26303         git-version-gen: convert leading TABs to spaces
26304         * build-aux/git-version-gen: Expand leading TABs.
26305
26306         git-version-gen: handle failed "git rev-list"
26307         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26308         from git and proceeding as if it had succeeded but printed no SHA1
26309         checksums, suppress the diagnostic and handle the failure.
26310         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26311
26312         git-version-gen: include command name in one more diagnostic
26313         * build-aux/git-version-gen: When the required .tarball-version file
26314         was missing or unreadable, you might see the diagnostic from "cat",
26315         but no trace of the name of the invoking script.  Now, you still see
26316         the diagnostic from cat, but also get one from "git-version-gen: ".
26317         Inspired by a patch from Bruce Korb.
26318
26319         update-copyright: adjust test to match changed code
26320         * tests/test-update-copyright.sh: Change test's expected output
26321         to match new actual output.
26322
26323 2011-01-02  Bruno Haible  <bruno@clisp.org>
26324
26325         getlogin_r: Avoid test failure on HP-UX 11.
26326         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26327         ERANGE when the second argument is zero.
26328         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26329         portability problem.
26330
26331 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26332
26333         * build-aux/update-copyright: doc Simon's changes
26334
26335 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26336
26337         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26338         environment variable.
26339
26340 2011-01-02  Bruno Haible  <bruno@clisp.org>
26341
26342         unigbrk: Avoid gcc warnings.
26343         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26344         unused variable.
26345         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26346         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26347         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26348         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26349         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26350         Change type of first argument to 'const char *'.
26351         (main): Remove unused variable.
26352         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26353         type of first argument to 'const char *'.
26354         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26355         Likewise.
26356         (main): Change type of variable 's'.
26357         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26358         to 'int'.
26359
26360 2011-01-02  Bruno Haible  <bruno@clisp.org>
26361
26362         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26363         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26364         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26365         bug.
26366         * lib/pwrite.c: Undo 2010-12-31 patch.
26367         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26368
26369 2011-01-02  Bruno Haible  <bruno@clisp.org>
26370
26371         pread: Fix test whether it works.
26372         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26373
26374 2011-01-02  Bruno Haible  <bruno@clisp.org>
26375
26376         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26377         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26378         ends in "6". Don't require a specific month name. Try also the locale
26379         names found on HP-UX 11 and Solaris 7.
26380
26381 2011-01-02  Bruno Haible  <bruno@clisp.org>
26382
26383         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26384         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26385         C linkage.
26386         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26387
26388 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26389
26390         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26391         for consistency, since the "cluster" term is not used elsewhere.
26392         * lib/unigbrk.in.h: Update name.
26393         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26394         * lib/unigbrk/u16-grapheme-next.c: Update name.
26395         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26396         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26397         * lib/unigbrk/u32-grapheme-next.c: Update name.
26398         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26399         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26400         * lib/unigbrk/u8-grapheme-next.c: Update name.
26401         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26402         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26403         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26404         Suggested by Bruno Haible.
26405
26406 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26407
26408         Remove module 'u8-grapheme-len' as too redundant with
26409         'u8-grapheme-next'.
26410         * modules/unigbrk/u8-grapheme-len: Delete file.
26411         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26412         * lib/unigbrk.in.h: Remove prototype for deleted function.
26413         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26414         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26415
26416         Remove module 'u16-grapheme-len' as too redundant with
26417         'u16-grapheme-next'.
26418         * modules/unigbrk/u16-grapheme-len: Delete file.
26419         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26420         * lib/unigbrk.in.h: Remove prototype for deleted function.
26421         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26422         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26423
26424         Remove module 'u32-grapheme-len' as too redundant with
26425         'u32-grapheme-next'.
26426         * modules/unigbrk/u32-grapheme-len: Delete file.
26427         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26428         * lib/unigbrk.in.h: Remove prototype for deleted function.
26429         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26430         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26431
26432         Suggested by Bruno Haible.
26433
26434 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26435
26436         * unigbrk.in.h: Fix typo: "ben" => "been".
26437         Reported by Bruno Haible.
26438
26439 2011-01-01  Jim Meyering  <meyering@redhat.com>
26440
26441         maint: update almost all copyright ranges to include 2011
26442         Run the new "make update-copyright" rule.
26443
26444 2011-01-01  Jim Meyering  <meyering@redhat.com>
26445
26446         maint: update-copyright: exempt doc/INSTALL*
26447         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26448         since they are generated.  Suggested by Bruno Haible.
26449
26450 2011-01-01  Jim Meyering  <meyering@redhat.com>
26451
26452         maint: refine the update-copyright rule
26453         * Makefile (update-copyright): Also exclude any file that includes
26454         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26455         code that merely generates the comment.
26456
26457 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26458
26459         New module 'u8-grapheme-len'.
26460         * modules/unigbrk/u8-grapheme-len: New file.
26461         * modules/unigbrk/u8-grapheme-len-tests: New file.
26462         * lib/unigbrk.in.h: Add prototype for new function.
26463         * lib/unigbrk/u8-grapheme-len.c: New file.
26464         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26465
26466         New module 'u16-grapheme-len'.
26467         * modules/unigbrk/u16-grapheme-len: New file.
26468         * modules/unigbrk/u16-grapheme-len-tests: New file.
26469         * lib/unigbrk.in.h: Add prototype for new function.
26470         * lib/unigbrk/u16-grapheme-len.c: New file.
26471         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26472
26473         New module 'u32-grapheme-len'.
26474         * modules/unigbrk/u32-grapheme-len: New file.
26475         * modules/unigbrk/u32-grapheme-len-tests: New file.
26476         * lib/unigbrk.in.h: Add prototype for new function.
26477         * lib/unigbrk/u32-grapheme-len.c: New file.
26478         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26479
26480         New module 'u8-grapheme-next'.
26481         * modules/unigbrk/u8-grapheme-next: New file.
26482         * modules/unigbrk/u8-grapheme-next-tests: New file.
26483         * lib/unigbrk.in.h: Add prototype for new function.
26484         * lib/unigbrk/u8-grapheme-next.c: New file.
26485         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26486
26487         New module 'u16-grapheme-next'.
26488         * modules/unigbrk/u16-grapheme-next: New file.
26489         * modules/unigbrk/u16-grapheme-next-tests: New file.
26490         * lib/unigbrk.in.h: Add prototype for new function.
26491         * lib/unigbrk/u16-grapheme-next.c: New file.
26492         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26493
26494         New module 'u32-grapheme-next'.
26495         * modules/unigbrk/u32-grapheme-next: New file.
26496         * modules/unigbrk/u32-grapheme-next-tests: New file.
26497         * lib/unigbrk.in.h: Add prototype for new function.
26498         * lib/unigbrk/u32-grapheme-next.c: New file.
26499         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26500
26501         New module 'u8-grapheme-prev'.
26502         * modules/unigbrk/u8-grapheme-prev: New file.
26503         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26504         * lib/unigbrk.in.h: Add prototype for new function.
26505         * lib/unigbrk/u8-grapheme-prev.c: New file.
26506         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26507
26508         New module 'u16-grapheme-prev'.
26509         * modules/unigbrk/u16-grapheme-prev: New file.
26510         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26511         * lib/unigbrk.in.h: Add prototype for new function.
26512         * lib/unigbrk/u16-grapheme-prev.c: New file.
26513         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26514
26515         New module 'u32-grapheme-prev'.
26516         * modules/unigbrk/u32-grapheme-prev: New file.
26517         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26518         * lib/unigbrk.in.h: Add prototype for new function.
26519         * lib/unigbrk/u32-grapheme-prev.c: New file.
26520         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26521
26522         New module 'u8-grapheme-breaks'.
26523         * modules/unigbrk/u8-grapheme-breaks: New file.
26524         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26525         * lib/unigbrk.in.h: Add prototype for new function.
26526         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26527         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26528
26529         New module 'u16-grapheme-breaks'.
26530         * modules/unigbrk/u16-grapheme-breaks: New file.
26531         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26532         * lib/unigbrk.in.h: Add prototype for new function.
26533         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26534         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26535
26536         New module 'u32-grapheme-breaks'.
26537         * modules/unigbrk/u32-grapheme-breaks: New file.
26538         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26539         * lib/unigbrk.in.h: Add prototype for new function.
26540         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26541         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26542
26543         New module 'ulc-grapheme-breaks'.
26544         * modules/unigbrk/ulc-grapheme-breaks: New file.
26545         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26546         * m4/locale-ar.m4: New file.
26547         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26548         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26549         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26550
26551 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26552
26553         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26554         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26555         modified how this file was generated before I initially submitted
26556         the module, but failed to regenerate it.  This meant that several
26557         of the level2 entries were wrong.
26558         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26559         Remove the division-by-2 that is folded into the table now that
26560         gbrkprop.h has been regenerated properly.  Now -1 entries are
26561         handled correctly.
26562
26563         New module 'unigbrk/uc-gbrk-prop-tests'.
26564         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26565         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26566         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26567         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26568
26569 2011-01-01  Bruno Haible  <bruno@clisp.org>
26570
26571         Avoid use of hexadecimal escapes.
26572         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26573         instead of hexadecimal escapes.
26574
26575 2011-01-01  Jim Meyering  <meyering@redhat.com>
26576
26577         maint: new rule to update copyright year ranges
26578         * Makefile (update-copyright): New rule.
26579
26580         maint: indent with TABs in Makefile
26581         * Makefile: Expand leading sequences of spaces to TABs
26582
26583         version-etc: update the copyright year it reports
26584         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26585
26586 2010-12-31  Bruno Haible  <bruno@clisp.org>
26587
26588         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26589         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26590         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26591         zero.
26592
26593 2010-12-31  Bruno Haible  <bruno@clisp.org>
26594
26595         pwrite: Work around HP-UX 11.11 bug.
26596         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26597         works and set REPLACE_PWRITE if not.
26598         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26599         function.
26600         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26601
26602 2010-12-31  Bruno Haible  <bruno@clisp.org>
26603
26604         pread: Work around HP-UX 11 bugs.
26605         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26606         and set REPLACE_PREAD if not.
26607         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26608
26609 2010-12-31  Eric Blake  <eblake@redhat.com>
26610
26611         nl_langinfo: fix YESEXPR on Irix 6.5
26612         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26613         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26614         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26615         it.
26616
26617 2010-12-31  Bruno Haible  <bruno@clisp.org>
26618
26619         iconv: Document HP-UX 11 bug.
26620         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26621
26622 2010-12-31  Bruno Haible  <bruno@clisp.org>
26623
26624         ldexpl: Fix link error on HP-UX 11.
26625         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26626         LDEXPL_LIBM, using $ISNANL_LIBM.
26627
26628 2010-12-31  Eric Blake  <eblake@redhat.com>
26629
26630         ftello: avoid compilation failure with SunStudio c89
26631         * lib/ftello.c (ftello): Use lseek, not llseek.
26632
26633         tests: avoid failing coreutils tests on cygwin
26634         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26635         (create_exe_shims_): Return 0 when skipping.
26636
26637 2010-12-31  Bruno Haible  <bruno@clisp.org>
26638
26639         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26640         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26641
26642 2010-12-31  Bruno Haible  <bruno@clisp.org>
26643
26644         waitpid: Fix link error in C++ mode.
26645         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26646
26647 2010-12-31  Bruno Haible  <bruno@clisp.org>
26648
26649         isnan: Use GCC built-ins when possible.
26650         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26651         __builtin_isnan.
26652         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26653         (isnan): Define using GCC built-ins for GCC >= 4.0.
26654
26655 2010-12-31  Bruno Haible  <bruno@clisp.org>
26656
26657         isnand: Fix mistake.
26658         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26659         __builtin_isnand.
26660
26661 2010-12-31  Bruno Haible  <bruno@clisp.org>
26662
26663         open: Avoid C++ error on HP-UX 11.
26664         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26665
26666 2010-12-31  Bruno Haible  <bruno@clisp.org>
26667
26668         time_r: Add missing declarations on HP-UX 11.
26669         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26670         instead of HAVE_LOCALTIME_R.
26671         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26672         HAVE_LOCALTIME_R always.
26673         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26674         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26675         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26676         HAVE_LOCALTIME_R.
26677         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26678         * doc/posix-functions/localtime_r.texi: Likewise.
26679
26680 2010-12-29  Eric Blake  <eblake@redhat.com>
26681
26682         mountlist: tweak previous commit
26683         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26684         Reported by Paul Eggert.
26685
26686         mountlist: fix local drive detection on cygwin
26687         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26688         that works for cygwin.
26689
26690 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26691
26692         ftoastr, snprintf: ftoastr + snprintf module
26693         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26694         since the snprintf module now should be good enough here.
26695         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26696         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26697         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26698         GNULIB_SNPRINTF only for the test directory, and the latter
26699         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26700         seems to suffice by itself.
26701
26702 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26703
26704         alloca: one step towards thread-safety
26705         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26706         need for a static variable.  All callers changed.  This does not
26707         make the alloca replacement thread-safe, but it's one step.
26708
26709         tests: minor indenting change
26710         * tests/init.sh: Sync from coreutils housekeeping patch
26711         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26712         to keep lines within 80 columns.
26713
26714 2010-12-28  Jim Meyering  <meyering@redhat.com>
26715
26716         regex: don't infloop on persistent failing calloc
26717         * lib/regexec.c (build_trtable): Return failure indication upon
26718         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26719         In glibc, this was fixed for version 2.13:
26720         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26721
26722 2010-12-28  Bruno Haible  <bruno@clisp.org>
26723             Paul Eggert <eggert@cs.ucla.edu>
26724
26725         linkat: Make implementation robust against system behaviour variations.
26726         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26727         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26728         way, and to -2 if it needs a generic runtime test.
26729         * lib/linkat.c (solaris_optimized_link_immediate,
26730         solaris_optimized_link_follow): New functions.
26731         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26732         (check_same_link): Use it.
26733
26734 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26735
26736         New module 'unigbrk/base'.
26737         * modules/unigbrk/base: New file.
26738         * lib/unigbrk.in.h: New file.
26739
26740         New module 'unigbrk/uc-gbrk-prop'.
26741         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26742         * modules/unigbrk/uc-gbrk-prop: New file.
26743         * lib/unigbrk/gbrkprop.h: New file.
26744         * lib/unigbrk/uc-gbrk-prop.c: New file.
26745
26746         New module 'unigbrk/uc-is-grapheme-break'.
26747         * modules/unigbrk/uc-is-grapheme-break: New file.
26748         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26749         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26750         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26751         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26752         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26753
26754         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26755
26756 2010-12-27  Bruno Haible  <bruno@clisp.org>
26757
26758         linkat test: Avoid failure on Solaris 11 2010-11.
26759         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26760
26761 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26762
26763         utimens: work around glibc rounding bug on more platforms
26764         * lib/utimens.c (fdutimens): Work around rounding bug even if
26765         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26766         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26767
26768 2010-12-27  Bruno Haible  <bruno@clisp.org>
26769
26770         select tests: Improve comments.
26771         * tests/test-select.c (do_select): Add comments.
26772
26773 2010-12-27  Bruno Haible  <bruno@clisp.org>
26774
26775         select tests: Safer way of handling timeout.
26776         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26777         at every invocation.
26778
26779 2010-12-27  Bruno Haible  <bruno@clisp.org>
26780
26781         select tests: Use 'bool' where appropriate.
26782         * tests/test-select.c (connect_to_socket): Change argument type to
26783         'bool'.
26784
26785 2010-12-27  Bruno Haible  <bruno@clisp.org>
26786
26787         select tests: Use existing modules.
26788         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26789         (configure.ac): Don't test for unistd.h.
26790         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26791         declared in <unistd.h>.
26792
26793 2010-12-27  Bruno Haible  <bruno@clisp.org>
26794
26795         mbrtowc: Work around a Solaris 7 bug.
26796         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26797         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26798         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26799         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26800         MBRTOWC_NULL_ARG1_BUG.
26801         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26802         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26803         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26804         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26805
26806 2010-12-27  Jim Meyering  <meyering@redhat.com>
26807
26808         read-file.c: tweak syntax
26809         * lib/read-file.c (fread_file): Remove space after "*" in function
26810         definitions.
26811
26812 2010-12-27  Bruno Haible  <bruno@clisp.org>
26813
26814         times test: Avoid gcc warnings on OSF/1.
26815         * tests/test-times.c (main): Cast printf arguments from clock_t to
26816         'long int'.
26817
26818 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26819
26820         utimens: work around glibc rounding bug on older Linux kernels
26821         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26822         on Linux with a glibc whose utimes might not work, then work
26823         around a longstanding glibc bug involving rounding rather than
26824         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26825         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26826
26827 2010-12-26  Bruno Haible  <bruno@clisp.org>
26828
26829         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26830         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26831         _GL_CXXALIAS_SYS.
26832         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26833
26834 2010-12-26  Bruno Haible  <bruno@clisp.org>
26835
26836         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26837         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26838         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26839         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26840         looking for the declaration.
26841         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26842         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26843         problem.
26844         * doc/posix-functions/inet_pton.texi: Likewise.
26845
26846 2010-12-26  Bruno Haible  <bruno@clisp.org>
26847
26848         arpa_inet: Use the common idioms with C++ support.
26849         * lib/arpa_inet.in.h: Include c++defs.h.
26850         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26851         support.
26852         * modules/arpa_inet (Depends-on): Add c++defs.
26853         (Makefile.am): Substitute the contents of c++defs.h.
26854         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26855         * modules/arpa_inet-c++-tests: New file.
26856         * tests/test-arpa_inet-c++.cc: New file.
26857
26858 2010-12-25  Bruno Haible  <bruno@clisp.org>
26859
26860         Fix more C++ link errors on Solaris 8.
26861         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26862         $(LIB_EACCESS).
26863         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26864         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26865         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26866         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26867         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26868
26869 2010-12-25  Bruno Haible  <bruno@clisp.org>
26870
26871         printf-posix: Fix link error when a non-GCC compiler is used.
26872         * lib/stdio.in.h (printf): When not using GCC, override printf
26873         correctly.
26874         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26875
26876 2010-12-25  Bruno Haible  <bruno@clisp.org>
26877
26878         strerror_r-posix: Update doc.
26879         * doc/posix-functions/strerror_r.texi: Update doc about the return
26880         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26881
26882 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26883
26884         utimens: simplify the logic of the previous change
26885         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26886         This should not affect whether the test succeeds or fails.
26887
26888         utimens: configure better on hosts with NFS clock skew
26889         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26890         uses the clock of the local host.  It might use the clock of the
26891         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26892         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26893
26894 2010-12-25  Bruno Haible  <bruno@clisp.org>
26895
26896         ptsname test: Avoid failure on Solaris.
26897         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26898         open a pseudo-terminal; don't use BSD-style ptys.
26899         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26900
26901 2010-12-25  Bruno Haible  <bruno@clisp.org>
26902
26903         ptsname: Avoid ERANGE failure on some systems.
26904         * lib/ptsname.c (buffer): Increase size.
26905
26906 2010-12-25  Bruno Haible  <bruno@clisp.org>
26907
26908         rename, renameat: Avoid test failures at NFS mounted locations.
26909         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26910         so that subsequent mkdir calls succeed.
26911
26912 2010-12-25  Bruno Haible  <bruno@clisp.org>
26913
26914         iswblank: Fix C++ link error on Solaris 8.
26915         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26916         _GL_FUNCDECL_SYS.
26917
26918 2010-12-25  Bruno Haible  <bruno@clisp.org>
26919
26920         unistd: Fix C++ link error on Solaris 8.
26921         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26922
26923 2010-12-25  Bruno Haible  <bruno@clisp.org>
26924
26925         readlink doc: Mention an old glibc bug.
26926         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26927
26928 2010-12-25  Bruno Haible  <bruno@clisp.org>
26929
26930         fcntl-h: Fix for use of C++ on glibc systems.
26931         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26932         also on glibc systems in C++ mode.
26933         Reported by Gary V. Vaughan <gary@gnu.org>.
26934
26935 2010-12-25  Bruno Haible  <bruno@clisp.org>
26936
26937         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26938         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26939
26940 2010-12-25  Bruno Haible  <bruno@clisp.org>
26941
26942         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26943         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26944         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26945         test whether truncl works according to ISO C 99 with IEC 60559.
26946         * m4/truncl-ieee.m4: New file.
26947         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26948         m4/signbit.m4.
26949         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26950
26951 2010-12-25  Bruno Haible  <bruno@clisp.org>
26952
26953         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26954         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26955         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26956         test whether ceill works according to ISO C 99 with IEC 60559.
26957         * m4/ceill-ieee.m4: New file.
26958         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26959         m4/signbit.m4.
26960         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26961
26962 2010-12-25  Bruno Haible  <bruno@clisp.org>
26963
26964         Ensure all prerequisites of <wchar.h> are included.
26965         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26966         before <wchar.h>.
26967         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26968         gl_MBRLEN_NUL_RETVAL): Likewise.
26969         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26970         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26971         AC_FUNC_MBRTOWC): Likewise.
26972         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26973         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26974         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26975         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26976         Likewise.
26977         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26978         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26979         (gl_WCHAR_H): Improve comments.
26980         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26981
26982 2010-12-25  Bruno Haible  <bruno@clisp.org>
26983
26984         strtok_r: Fix C syntax error in autoconf macro.
26985         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26986         characters in test program.
26987
26988 2010-12-24  Bruno Haible  <bruno@clisp.org>
26989
26990         ceil, trunc, round: Fix gcc warnings.
26991         * lib/ceil.c (MIN): Undefine before redefining.
26992         * lib/trunc.c (MIN): Likewise.
26993         * lib/round.c (MIN): Likewise.
26994         Include <math.h> first.
26995
26996 2010-12-24  Bruno Haible  <bruno@clisp.org>
26997
26998         select tests: Avoid failures on OSF/1 5.1.
26999         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27000         failure of closing the last socket; it may fail with ECONNRESET.
27001
27002 2010-12-24  Eric Blake  <eblake@redhat.com>
27003
27004         stdint: avoid HP-UX 10.20 preprocessor bug
27005         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27006         than #if.
27007         * tests/test-floor2.c (main): Likewise.
27008         Reported by Peter O'Gorman.
27009
27010         pipe: make obsoletion transition easier
27011         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27012         * modules/pipe (Files): Include revived file.
27013         (Include): Drop reference, to mirror getdate's behavior.
27014
27015 2010-12-24  Bruno Haible  <bruno@clisp.org>
27016
27017         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27018         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27019         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27020         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27021
27022 2010-12-24  Bruno Haible  <bruno@clisp.org>
27023
27024         gethostname: Ensure declaration on NonStop Kernel.
27025         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27026         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27027
27028 2010-12-24  Bruno Haible  <bruno@clisp.org>
27029
27030         sys_select: Ensure all necessary types on NonStop Kernel.
27031         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27032         include <sys/time.h>.
27033         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27034         NonStop Kernel.
27035         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27036
27037 2010-12-24  Bruno Haible  <bruno@clisp.org>
27038
27039         sys_select: Remove unneeded include.
27040         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27041         have <sys/select.h>.
27042
27043 2010-12-24  Bruno Haible  <bruno@clisp.org>
27044
27045         gethostname: Provide a fallback for HOST_NAME_MAX.
27046         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27047         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27048         instead.
27049         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27050
27051 2010-12-24  Bruno Haible  <bruno@clisp.org>
27052
27053         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27054         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27055         (SA_RESTART): Likewise.
27056         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27057
27058 2010-12-24  Bruno Haible  <bruno@clisp.org>
27059
27060         signal: Define NSIG.
27061         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27062         * tests/test-signal.c (nsig): New variable.
27063         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27064
27065 2010-12-24  Bruno Haible  <bruno@clisp.org>
27066
27067         rename, renameat: Avoid test failures on OSF/1 5.1.
27068         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27069         alternative error codes.
27070         * tests/test-renameat.c (main): Likewise.
27071
27072 2010-12-24  Bruno Haible  <bruno@clisp.org>
27073
27074         *printf: Detect large precisions bug on Solaris 10/SPARC.
27075         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27076         by Paul Eggert.
27077         * tests/test-snprintf-posix.h (test_function): Add this test code here
27078         too.
27079         * tests/test-sprintf-posix.h (test_function): Likewise.
27080         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27081         * tests/test-vasprintf-posix.c (test_function): Likewise.
27082         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27083         around by gnulib.
27084         * doc/posix-functions/printf.texi: Likewise.
27085         * doc/posix-functions/snprintf.texi: Likewise.
27086         * doc/posix-functions/sprintf.texi: Likewise.
27087         * doc/posix-functions/vfprintf.texi: Likewise.
27088         * doc/posix-functions/vprintf.texi: Likewise.
27089         * doc/posix-functions/vsnprintf.texi: Likewise.
27090         * doc/posix-functions/vsprintf.texi: Likewise.
27091         * doc/posix-functions/dprintf.texi: Undo last commit.
27092         * doc/posix-functions/vdprintf.texi: Likewise.
27093
27094 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27095
27096         tests: port test-fdutimensat.c to Solaris 8
27097         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27098         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27099         On Solaris 8, it fails with errno == ENOSYS, because there is no
27100         futimens (so it can't use the fd), and there is no lutimens (so it
27101         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27102
27103         vsnprintf: make more consistent with snprintf; doc fixes
27104
27105         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27106         the byte count return problem was promoted from the snprintf-posix
27107         to the snprintf module.
27108         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27109         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27110         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27111         * tests/test-snprintf.c (main): Check the byte count returned.
27112         * tests/test-vsnprintf.c (main): Likewise.
27113
27114 2010-12-23  Eric Blake  <eblake@redhat.com>
27115
27116         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27117         * modules/sigpipe (License): Relax license.
27118
27119 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27120
27121         doc: document Solaris printf bug with large float precisions
27122         * doc/posix-functions/dprintf.texi (dprintf):
27123         * doc/posix-functions/fprintf.texi (fprintf):
27124         * doc/posix-functions/printf.texi (printf):
27125         * doc/posix-functions/snprintf.texi (snprintf):
27126         * doc/posix-functions/sprintf.texi (sprintf):
27127         * doc/posix-functions/vdprintf.texi (vdprintf):
27128         * doc/posix-functions/vfprintf.texi (vfprintf):
27129         * doc/posix-functions/vprintf.texi (vprintf):
27130         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27131         * doc/posix-functions/vsprintf.texi (vsprintf):
27132         Mention that these functions mishandle large floating point
27133         precisions on Solaris 10.  The same bug is also present in Solaris
27134         8, and I assume earlier.  This causes "cd gnulib-tests; make
27135         check" to fail on Solaris 8 (and I assume, later) when building
27136         the latest coreutils, in test-vasprintf-posix's call to
27137         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27138         the wide flavors (e.g., wprintf) so this patch just updates the
27139         documentation for the narrow ones.
27140
27141         test-posixtm.c: add two tests
27142         * tests/test-posixtm.c: Add two tests, to highlight the
27143         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27144         around this bug; this is merely to document it.
27145
27146 2010-12-22  Bruno Haible  <bruno@clisp.org>
27147
27148         getlogin_r: Work around portability problem on OSF/1.
27149         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27150         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27151         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27152         test for a truncated result.
27153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27154         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27155         * modules/getlogin_r (Depends-on): Add memchr.
27156         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27157
27158 2010-12-22  Bruno Haible  <bruno@clisp.org>
27159
27160         ptsname: Avoid test failure on OSF/1 5.1.
27161         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27162         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27163         (same_slave): New function.
27164         (main): Use it to compare ptsname's result with the expected file name.
27165
27166 2010-12-22  Bruno Haible  <bruno@clisp.org>
27167
27168         Port extended stdio modules to HP NonStop Kernel.
27169         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27170         macros.
27171         * lib/fbufmode.c: Update comments.
27172         * lib/fflush.c: Likewise.
27173         * lib/fpurge.c: Likewise.
27174         * lib/freadable.c: Likewise.
27175         * lib/freadahead.c: Likewise.
27176         * lib/freading.c: Likewise.
27177         * lib/freadptr.c: Likewise.
27178         * lib/freadseek.c: Likewise.
27179         * lib/fseeko.c: Likewise.
27180         * lib/fseterr.c: Likewise.
27181         * lib/fwritable.c: Likewise.
27182         * lib/fwriting.c: Likewise.
27183         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27184
27185 2010-12-22  Bruno Haible  <bruno@clisp.org>
27186
27187         ttyname_r: Work around bug on OSF/1 5.1.
27188         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27189         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27190         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27191         present.
27192         * lib/ttyname_r.c (ttyname_r): Update comments.
27193
27194 2010-12-22  Bruno Haible  <bruno@clisp.org>
27195
27196         round: Implement result sign according to IEEE 754.
27197         * lib/round.c (MIN, MINUS_ZERO): New macros.
27198         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27199         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27200         * tests/test-round-ieee.c (main): Likewise.
27201         * tests/test-roundl-ieee.c (main): Likewise.
27202
27203         trunc: Implement result sign according to IEEE 754.
27204         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27205         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27206         * tests/test-trunc2.c: Include minus-zero.h.
27207         (MINUS_ZERO): New macro.
27208         (trunc_reference): Keep in sync with lib/trunc.c.
27209         * tests/test-truncf2.c: Include minus-zero.h.
27210         (MINUS_ZERO): New macro.
27211         (truncf_reference): Keep in sync with lib/trunc.c.
27212         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27213         * tests/test-trunc-ieee.c (main): Likewise.
27214         * tests/test-truncl-ieee.c (main): Likewise.
27215
27216         ceil: Implement result sign according to IEEE 754.
27217         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27218         (FUNC): Return -0.0 for -1 < x < 0.
27219         * tests/test-ceil2.c: Include minus-zero.h.
27220         (MINUS_ZERO): New macro.
27221         (ceil_reference): Keep in sync with lib/ceil.c.
27222         * tests/test-ceilf2.c: Include minus-zero.h.
27223         (MINUS_ZERO): New macro.
27224         (ceilf_reference): Keep in sync with lib/ceil.c.
27225         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27226         * tests/test-ceil-ieee.c (main): Likewise.
27227         * tests/test-ceill-ieee.c (main): Likewise.
27228
27229         floor: Implement result sign according to IEEE 754.
27230         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27231         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27232         * tests/test-floorf2.c (floorf_reference): Likewise.
27233         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27234         * tests/test-floor-ieee.c (main): Likewise.
27235         * tests/test-floorl-ieee.c (main): Likewise.
27236
27237 2010-12-22  Bruno Haible  <bruno@clisp.org>
27238
27239         getaddrinfo: Update doc.
27240         * doc/posix-functions/gai_strerror.texi: Return type is also different
27241         on AIX and HP-UX.
27242
27243 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27244
27245         getaddrinfo, inet_ntop: Update doc for Solaris.
27246         * doc/posix-functions/gai_strerror.texi: Return type is also an
27247         issue on Solaris 9 and earlier.
27248         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27249         on Solaris 10 and earlier.
27250
27251 2010-12-21  Bruno Haible  <bruno@clisp.org>
27252
27253         New module 'roundl-ieee'.
27254         * modules/roundl-ieee: New file.
27255         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27256         test whether roundl works according to ISO C 99 with IEC 60559.
27257         * m4/roundl-ieee.m4: New file.
27258         * modules/roundl-ieee-tests: New file.
27259         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27260         * tests/test-roundl.c (main): Remove signbit tests.
27261         * modules/roundl-tests (Depends-on): Remove signbit.
27262         * doc/posix-functions/roundl.texi: Mention the new module.
27263
27264 2010-12-21  Bruno Haible  <bruno@clisp.org>
27265
27266         New module 'truncl-ieee'.
27267         * modules/truncl-ieee: New file.
27268         * modules/truncl-ieee-tests: New file.
27269         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27270         * tests/test-truncl.c (main): Remove signbit tests.
27271         * modules/truncl-tests (Depends-on): Remove signbit.
27272         * doc/posix-functions/truncl.texi: Mention the new module.
27273
27274 2010-12-21  Bruno Haible  <bruno@clisp.org>
27275
27276         New module 'ceill-ieee'.
27277         * modules/ceill-ieee: New file.
27278         * modules/ceill-ieee-tests: New file.
27279         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27280         * tests/test-ceill.c (main): Remove signbit tests.
27281         * modules/ceill-tests (Depends-on): Remove signbit.
27282         * doc/posix-functions/ceill.texi: Mention the new module.
27283
27284 2010-12-21  Bruno Haible  <bruno@clisp.org>
27285
27286         New module 'floorl-ieee'.
27287         * modules/floorl-ieee: New file.
27288         * modules/floorl-ieee-tests: New file.
27289         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27290         * tests/test-floorl.c (main): Remove signbit tests.
27291         * modules/floorl-tests (Depends-on): Remove signbit.
27292         * doc/posix-functions/floorl.texi: Mention the new module.
27293
27294 2010-12-21  Bruno Haible  <bruno@clisp.org>
27295
27296         New module 'round-ieee'.
27297         * modules/round-ieee: New file.
27298         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27299         whether round works according to ISO C 99 with IEC 60559.
27300         * m4/round-ieee.m4: New file.
27301         * modules/round-ieee-tests: New file.
27302         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27303         * tests/test-round1.c (main): Remove signbit tests.
27304         * modules/round-tests (Depends-on): Remove 'signbit'.
27305         * doc/posix-functions/round.texi: Mention the new module.
27306
27307 2010-12-21  Bruno Haible  <bruno@clisp.org>
27308
27309         New module 'trunc-ieee'.
27310         * modules/trunc-ieee: New file.
27311         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27312         whether trunc works according to ISO C 99 with IEC 60559.
27313         * m4/trunc-ieee.m4: New file.
27314         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27316         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27317         * modules/trunc-ieee-tests: New file.
27318         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27319         * tests/test-trunc1.c (main): Remove signbit tests.
27320         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27321         * doc/posix-functions/trunc.texi: Mention the new module.
27322
27323 2010-12-21  Bruno Haible  <bruno@clisp.org>
27324
27325         New module 'ceil-ieee'.
27326         * modules/ceil-ieee: New file.
27327         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27328         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27329         ISO C 99 with IEC 60559.
27330         * m4/ceil-ieee.m4: New file.
27331         * modules/ceil (Files): Add lib/ceil.c.
27332         (Depends-on): Add 'float'.
27333         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27334         * lib/math.in.h (ceil): New declaration.
27335         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27336         REPLACE_CEIL.
27337         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27338         * modules/ceil-ieee-tests: New file.
27339         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27340         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27341         * doc/posix-functions/ceil.texi: Mention the new module.
27342
27343 2010-12-21  Bruno Haible  <bruno@clisp.org>
27344
27345         New module 'floor-ieee'.
27346         * modules/floor-ieee: New file.
27347         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27348         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27349         ISO C 99 with IEC 60559.
27350         * m4/floor-ieee.m4: New file.
27351         * modules/floor (Files): Add lib/floor.c.
27352         (Depends-on): Add 'float'.
27353         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27354         * lib/math.in.h (floor): New declaration.
27355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27356         REPLACE_FLOOR.
27357         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27358         * modules/floor-ieee-tests: New file.
27359         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27360         * tests/test-math-c++.cc: Check the signature of 'floor'.
27361         * doc/posix-functions/floor.texi: Mention the new module.
27362
27363 2010-12-21  Bruno Haible  <bruno@clisp.org>
27364
27365         New module 'roundf-ieee'.
27366         * modules/roundf-ieee: New file.
27367         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27368         test whether roundf works according to ISO C 99 with IEC 60559.
27369         * m4/roundf-ieee.m4: New file.
27370         * modules/roundf-ieee-tests: New file.
27371         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27372         * tests/test-roundf1.c (main): Remove signbit tests.
27373         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27374         * doc/posix-functions/roundf.texi: Mention the new module.
27375
27376 2010-12-21  Bruno Haible  <bruno@clisp.org>
27377
27378         New module 'truncf-ieee'.
27379         * modules/truncf-ieee: New file.
27380         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27381         test whether truncf works according to ISO C 99 with IEC 60559.
27382         * m4/truncf-ieee.m4: New file.
27383         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27384         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27385         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27386         * modules/truncf-ieee-tests: New file.
27387         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27388         * tests/test-truncf1.c (main): Remove signbit tests.
27389         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27390         * doc/posix-functions/truncf.texi: Mention the new module.
27391
27392 2010-12-21  Bruno Haible  <bruno@clisp.org>
27393
27394         New module 'ceilf-ieee'.
27395         * modules/ceilf-ieee: New file.
27396         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27397         test whether ceilf works according to ISO C 99 with IEC 60559.
27398         * m4/ceilf-ieee.m4: New file.
27399         * modules/ceilf-ieee-tests: New file.
27400         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27401         * tests/test-ceilf1.c (main): Remove signbit tests.
27402         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27403         * doc/posix-functions/ceilf.texi: Mention the new module.
27404
27405 2010-12-21  Bruno Haible  <bruno@clisp.org>
27406
27407         New module 'floorf-ieee'.
27408         * modules/floorf-ieee: New file.
27409         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27410         test whether floorf works according to ISO C 99 with IEC 60559.
27411         * m4/floorf-ieee.m4: New file.
27412         * modules/floorf-ieee-tests: New file.
27413         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27414         * tests/test-floorf1.c (main): Remove signbit tests.
27415         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27416         * doc/posix-functions/floorf.texi: Mention the new module.
27417
27418 2010-12-21  Bruno Haible  <bruno@clisp.org>
27419
27420         Support for minus zero in autoconf macros.
27421         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27422         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27423         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27424         * tests/minus-zero.h: Update comments.
27425
27426 2010-12-21  Bruno Haible  <bruno@clisp.org>
27427
27428         Tests for module 'ceil'.
27429         * modules/ceil-tests: New file.
27430         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27431         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27432
27433 2010-12-21  Bruno Haible  <bruno@clisp.org>
27434
27435         Tests for module 'floor'.
27436         * modules/floor-tests: New file.
27437         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27438         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27439
27440 2010-12-21  Bruno Haible  <bruno@clisp.org>
27441
27442         math: Fix indentation.
27443         * lib/math.in.h (floorf): Fix indentation.
27444
27445 2010-12-21  Bruno Haible  <bruno@clisp.org>
27446
27447         Fix cross-compilation guesses on Solaris.
27448         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27449         not match "solaris2.10".
27450         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27451         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27452         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27453
27454 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27455
27456         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27457         This fixes a problem observed with the latest coreutils snapshot
27458         that caused a test to fail on Solaris 8.  src/csplit.c's call
27459         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27460         earlier, instead of returning the number of bytes that would have
27461         been generated; this causes csplit to incorrectly report memory
27462         exhaustion.
27463         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27464         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27465         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27466         comments to match.
27467         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27468         Fix typo in matching older versions of Solaris: "solaris2.10"
27469         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27470         only for guessing while cross-compiling.
27471         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27472
27473 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27474
27475         ftoastr: fix comment again
27476         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27477         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27478         Also, simplify example a bit by using flags = 0.
27479
27480 2010-12-20  Bruno Haible  <bruno@clisp.org>
27481
27482         round*, trunc*: Update documentation regarding glibc.
27483         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27484         * doc/posix-functions/round.texi: Likewise.
27485         * doc/posix-functions/roundl.texi: Likewise.
27486         * doc/posix-functions/truncf.texi: Likewise.
27487         * doc/posix-functions/trunc.texi: Likewise.
27488         * doc/posix-functions/truncl.texi: Likewise.
27489
27490 2010-12-20  Bruno Haible  <bruno@clisp.org>
27491
27492         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27493         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27494         * doc/posix-functions/round.texi: Likewise.
27495         * doc/posix-functions/roundl.texi: Likewise.
27496
27497 2010-12-20  Bruno Haible  <bruno@clisp.org>
27498
27499         ttyname_r: Add missing declaration on HP-UX 11.
27500         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27501         HAVE_TTYNAME_R.
27502         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27503         declared. Set HAVE_TTYNAME_R always.
27504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27505         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27506         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27507         HAVE_TTYNAME_R.
27508         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27509
27510 2010-12-20  Bruno Haible  <bruno@clisp.org>
27511
27512         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27513         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27514         * doc/posix-functions/getlogin_r.texi: Likewise.
27515         * tests/test-getlogin.c: Include <errno.h>.
27516         (main): Avoid test failure on HP-UX 11.11.
27517         * tests/test-getlogin_r.c (main): Likewise.
27518
27519 2010-12-20  Bruno Haible  <bruno@clisp.org>
27520
27521         getlogin_r: Add missing declaration on HP-UX 11.
27522         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27523         declared also when it exists as a function.
27524         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27525
27526 2010-12-20  Bruno Haible  <bruno@clisp.org>
27527
27528         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27529         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27530         through wcrtomb.
27531
27532 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27533
27534         ftoastr: fix comment
27535         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27536         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27537
27538 2010-12-19  Bruno Haible  <bruno@clisp.org>
27539
27540         isnan: Ensure it is a macro.
27541         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27542         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27543         Solaris.
27544
27545 2010-12-19  Bruno Haible  <bruno@clisp.org>
27546
27547         ldexpl test: Fix link error on OSF/1 5.1.
27548         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27549
27550 2010-12-19  Bruno Haible  <bruno@clisp.org>
27551
27552         wctype: Make it work in C++ mode on OSF/1 5.1.
27553         * lib/wctype.in.h (iswblank): Declare but not define here.
27554         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27555         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27556         * modules/wctype (Files): Add lib/iswblank.c.
27557
27558 2010-12-19  Bruno Haible  <bruno@clisp.org>
27559
27560         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27561         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27562         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27563
27564 2010-12-19  Bruno Haible  <bruno@clisp.org>
27565
27566         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27567         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27568         _POSIX_PII_SOCKET.
27569         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27570         * doc/posix-functions/recvfrom.texi: Likewise.
27571         * doc/posix-functions/send.texi: Likewise.
27572         * doc/posix-functions/sendto.texi: Likewise.
27573
27574 2010-12-19  Bruno Haible  <bruno@clisp.org>
27575
27576         tcgetsid: Add missing declaration on OSF/1 5.1.
27577         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27578         HAVE_TCGETSID.
27579         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27580         Don't set HAVE_TCGETSID.
27581         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27582         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27583         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27584         HAVE_TCGETSID.
27585         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27586
27587 2010-12-19  Bruno Haible  <bruno@clisp.org>
27588
27589         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27590         * lib/stdio.in.h: During the include_next statement, let recursive
27591         includes of this file include only the system header file.
27592
27593 2010-12-19  Bruno Haible  <bruno@clisp.org>
27594
27595         iconv_open: Fix regression from 2010-12-04.
27596         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27597         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27598
27599 2010-12-19  Bruno Haible  <bruno@clisp.org>
27600
27601         stdbool test: Avoid a gcc warning.
27602         * tests/test-stdbool.c (main): Fail if e1 is false.
27603         Reported by Jim Meyering.
27604
27605 2010-12-19  Jim Meyering  <meyering@redhat.com>
27606
27607         setenv: restore to working order
27608         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27609         mistakenly removed.
27610         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27611         HAVE_SETENV.
27612         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27613         HAVE_SETENV.
27614
27615 2010-12-19  Bruno Haible  <bruno@clisp.org>
27616
27617         Document some different function declarations on OSF/1 5.1.
27618         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27619         * doc/posix-functions/inet_ntop.texi: Likewise.
27620         * doc/posix-functions/gethostname.texi: Likewise.
27621         * lib/unistd.in.h (gethostname): Update comment.
27622
27623 2010-12-19  Bruno Haible  <bruno@clisp.org>
27624
27625         doc: Mention vasprintf-posix module.
27626         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27627         the 'vasprintf-posix' module.
27628         * doc/glibc-functions/vasprintf.texi: Likewise.
27629
27630 2010-12-19  Bruno Haible  <bruno@clisp.org>
27631
27632         unsetenv: Add missing declaration on OSF/1 5.1.
27633         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27634         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27635         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27637         not HAVE_UNSETENV.
27638         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27639         HAVE_UNSETENV.
27640         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27641
27642 2010-12-19  Bruno Haible  <bruno@clisp.org>
27643
27644         setenv: Add missing declaration on OSF/1 5.1.
27645         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27646         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27647         declared. Don't set HAVE_SETENV.
27648         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27649         not HAVE_SETENV.
27650         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27651         HAVE_SETENV.
27652         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27653
27654 2010-12-19  Bruno Haible  <bruno@clisp.org>
27655
27656         nl_langinfo tests: Avoid gcc warning.
27657         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27658
27659 2010-12-19  Bruno Haible  <bruno@clisp.org>
27660
27661         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27662         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27663         _GL_CXXALIAS_SYS.
27664
27665 2010-12-19  Bruno Haible  <bruno@clisp.org>
27666
27667         stdbool: Relax test.
27668         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27669         address to 'bool' work in static initializer, for compilers other than
27670         GCC.
27671
27672 2010-12-19  Bruno Haible  <bruno@clisp.org>
27673
27674         ftello: Add missing declaration on OSF/1 5.1.
27675         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27676         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27677         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27678         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27679         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27680
27681 2010-12-19  Bruno Haible  <bruno@clisp.org>
27682
27683         fseeko: Add missing declaration on OSF/1 5.1.
27684         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27685         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27687         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27688         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27689
27690 2010-12-19  Bruno Haible  <bruno@clisp.org>
27691
27692         fchdir: Add missing declaration on OSF/1 5.1.
27693         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27694         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27696         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27697         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27698
27699 2010-12-19  Bruno Haible  <bruno@clisp.org>
27700
27701         relocatable-prog-wrapper: Separate from relocatable-prog.
27702         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27703         uninstall-relocwrapper rule here.
27704         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27705         Reported by Ian Beckwith <ianb@erislabs.net>.
27706
27707 2010-12-19  Bruno Haible  <bruno@clisp.org>
27708
27709         unistr/u8-mbsnlen: Add missing dependency.
27710         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27711         Reported by Ian Beckwith <ianb@erislabs.net>.
27712
27713 2010-12-19  Bruno Haible  <bruno@clisp.org>
27714
27715         iconv: Make it possible again to use this module without 'iconv-h'.
27716         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27717         if it is not defined.
27718         Reported by Ian Beckwith <ianb@erislabs.net>.
27719
27720 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27721
27722         acl: port to Solaris 8 when copying from tmpfs to ufs
27723         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27724         error number.  Problem observed on Solaris 8 with latest
27725         coreutils, with "mv A B", where A is on a tmpfs file system and B
27726         is on a ufs file system.  This caused coreutils' mv/part-symlink
27727         test to fail.
27728
27729         tests: set fail=0 at start
27730         * tests/init.sh (setup_): Move fail=0 initialization here ...
27731         (mktempd_): ... from here, so that tests can rely on fail being
27732         set to 0 initially.  This fixes a problem in coreutils; see:
27733         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27734
27735 2010-12-18  Bruno Haible  <bruno@clisp.org>
27736
27737         memmem-simple: Stylistic changes.
27738         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27739         Fix preprocessor directive indentation.
27740
27741 2010-12-15  Pádraig Brady <P@draigBrady.com>
27742
27743         memmem, memmem-simple: reorganize and expand empty needle check
27744         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27745         functional checks to memmem-simple so that one has a fully functional
27746         memmem by using just this module.
27747         Restrict the performance only check to the memmem module.
27748         Also expand the empty needle check to ensure the correct
27749         pointer is returned, not just a non NULL pointer.
27750         * doc/glibc-functions/memmem.texi: Rearrange the portability
27751         documentation to correlate with the rearranged checks.
27752         Clarify exactly how the memmem and memmem-simple modules
27753         relate to each other.
27754
27755 2010-12-15  Pádraig Brady <P@draigBrady.com>
27756             Bruno Haible  <bruno@clisp.org>
27757
27758         Improve cross-compilation guesses for uClibc.
27759         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27760         that uClibc does not have the glibc bug.
27761         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27762         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27763
27764 2010-12-14  Eric Blake  <eblake@redhat.com>
27765
27766         configmake: provide fallbacks for oldest supported autotools
27767         * m4/configmake.m4: New file.
27768         * modules/configmake (Files): Ship it.
27769         (configure.ac): Use it to guarantee fallbacks.
27770
27771 2010-12-13  Pádraig Brady <P@draigBrady.com>
27772
27773         read-file: Improve handling of large files
27774         * lib/read-file.c (fread_file): Minimize realloc()s
27775         for regular files, and better manage sizes around SIZE_MAX.
27776
27777 2010-12-13  Eric Blake  <eblake@redhat.com>
27778
27779         cloexec, fcntl: relax license
27780         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27781         consent from all contributors.
27782         * modules/fcntl (License): Likewise.
27783
27784 2010-12-10  Bruno Haible  <bruno@clisp.org>
27785
27786         Tests for module 'pipe-posix'.
27787         * modules/pipe-posix-tests: New file.
27788         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27789
27790 2010-12-10  Bruno Haible  <bruno@clisp.org>
27791
27792         pipe-posix: Make it work in C++ mode.
27793         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27794         (pipe): Use common idiom, not a macro definition.
27795         * lib/pipe.c: New file.
27796         * m4/pipe.m4: New file.
27797         * modules/pipe-posix (Description): Enhance.
27798         (Files): Add lib/pipe.c, m4/pipe.m4.
27799         (configure.ac): Invoke gl_FUNC_PIPE.
27800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27801         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27802         * tests/test-unistd-c++.cc: Check the signature of pipe.
27803
27804 2010-12-10  Bruno Haible  <bruno@clisp.org>
27805
27806         Rename module 'pipe' to 'spawn-pipe'.
27807         * modules/spawn-pipe: New file, renamed from modules/pipe.
27808         (Files, configure.ac, Makefile.am): Update.
27809         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27810         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27811         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27812         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27813         "spawn-pipe.h" instead of "pipe.h".
27814         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27815         to gl_SPAWN_PIPE.
27816         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27817         (Files, Makefile.am): Update.
27818         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27819         Update.
27820         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27821         Include "spawn-pipe.h" instead of "pipe.h".
27822         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27823         * lib/javacomp.c: Likewise.
27824         * lib/javaversion.c: Likewise.
27825         * lib/pipe-filter-gi.c: Likewise.
27826         * lib/pipe-filter-ii.c: Likewise.
27827         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27828         * modules/javacomp (Depends-on): Likewise.
27829         * modules/javaversion (Depends-on): Likewise.
27830         * modules/pipe-filter-gi (Depends-on): Likewise.
27831         * modules/pipe-filter-ii (Depends-on): Likewise.
27832         * MODULES.html.sh (Executing programs): Update.
27833         * NEWS: Mention the change.
27834
27835 2010-12-10  Eric Blake  <eblake@redhat.com>
27836
27837         pipe-posix: new module
27838         * modules/pipe-posix: New file.
27839         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27840         (gl_UNISTD_H): Check for declaration.
27841         * modules/unistd (Makefile.am): Substitute it.
27842         * lib/unistd.in.h (pipe): Provide it for mingw.
27843         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27844         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27845
27846 2010-12-07  Bruno Haible  <bruno@clisp.org>
27847
27848         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27849         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27850         u8_strcmp_gnu.
27851         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27852
27853 2010-12-06  Bruno Haible  <bruno@clisp.org>
27854
27855         Update internal documentation.
27856         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27857
27858 2010-12-04  Bruno Haible  <bruno@clisp.org>
27859
27860         Put more information about failed tests into the test return codes.
27861         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27862         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27863         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27864         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27865         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27866         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27867         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27868         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27869         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27870         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27871         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27872         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27873         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27874         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27875         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27876         returns a bit mask.
27877         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27878         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27879         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27880         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27881         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27882         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27883         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27884         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27885         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27886         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27887         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27888         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27889         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27890         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27891         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27892         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27893         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27894         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27895         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27896         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27897         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27898         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27899         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27900         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27901         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27902         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27903         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27904         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27905         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27906         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27907         gl_PRINTF_PRECISION): Likewise.
27908         * m4/regex.m4 (gl_REGEX): Likewise.
27909         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27910         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27911         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27912         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27913         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27914         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27915         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27916         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27917         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27918         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27919         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27920         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27921         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27922         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27923         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27924         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27925         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27926         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27927         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27928         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27929         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27930         enumerated value.
27931         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27932
27933 2010-12-04  Bruno Haible  <bruno@clisp.org>
27934
27935         Update for Solaris 11 2010-11.
27936         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27937         Express, released in November 2010.
27938
27939 2010-12-04  Bruno Haible  <bruno@clisp.org>
27940
27941         nproc: Relax license.
27942         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27943         and Paul Eggert.
27944         Requested by Ludovic Courtès <ludo@gnu.org>.
27945
27946 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27947
27948         utimecmp: fine-grained src to nearby coarse-grained dest
27949
27950         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27951         and the source is on a file system with higher-resolution time
27952         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27953         not work, and the time stamps are close together, the algorithm to
27954         determine the exact resolution from the read-back mtime was buggy:
27955         it had a "!=" where it should have had an "==".  This bug has been
27956         in the code ever since it was introduced to gnulib.
27957         Problem reported by Dan Jacobson in
27958         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27959
27960 2010-11-30  Bruno Haible  <bruno@clisp.org>
27961
27962         strerror_r-posix: Fix autoconf test.
27963         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27964
27965 2010-11-28  Bruno Haible  <bruno@clisp.org>
27966             Paul Eggert  <eggert@cs.ucla.edu>
27967
27968         Tests for module 'getdomainname'.
27969         * modules/getdomainname-tests: New file.
27970         * tests/test-getdomainname.c: New file, based on
27971         tests/test-gethostname.c.
27972
27973 2010-11-28  Bruno Haible  <bruno@clisp.org>
27974             Paul Eggert  <eggert@cs.ucla.edu>
27975
27976         getdomainname: Use the system function when possible.
27977         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27978         (getdomainname): Replace if needed. Provide the declaration if it is
27979         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27980         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27981         (getdomainname): When the system has getdomainname, call the system
27982         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27983         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27984         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27985         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27986         the function if its second argument is of type 'int' or if it is found
27987         in libnsl.
27988         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27989         <sys/systeminfo.h> and sysinfo().
27990         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27992         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27993         HAVE_GETDOMAINNAME.
27994         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27995         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27996         * doc/glibc-functions/getdomainname.texi: Document the problems with
27997         the getdomainname declaration.
27998
27999 2010-11-28  Bruno Haible  <bruno@clisp.org>
28000
28001         sys_socket: Ensure ss_family field on AIX.
28002         * lib/sys_socket.in.h (ss_family): New macro definition.
28003         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28004         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28005         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28006         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28007         * modules/sys_socket (Makefile.am): Substitute
28008         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28009         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28010
28011 2010-11-27  Bruno Haible  <bruno@clisp.org>
28012
28013         readline: Improve configure output.
28014         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28015         "checking for readline..." result understandable.
28016
28017 2010-11-27  Bruno Haible  <bruno@clisp.org>
28018
28019         *printf-posix: Detect a bug on Solaris 10/x86.
28020         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28021         for floating-point output.
28022         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28023         directive.
28024         * tests/test-snprintf-posix.h (test_function): Likewise.
28025         * tests/test-sprintf-posix.h (test_function): Likewise.
28026         * tests/test-vasprintf-posix.c (test_function): Likewise.
28027         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28028         * doc/posix-functions/printf.texi: Likewise.
28029         * doc/posix-functions/snprintf.texi: Likewise.
28030         * doc/posix-functions/sprintf.texi: Likewise.
28031         * doc/posix-functions/vfprintf.texi: Likewise.
28032         * doc/posix-functions/vprintf.texi: Likewise.
28033         * doc/posix-functions/vsnprintf.texi: Likewise.
28034         * doc/posix-functions/vsprintf.texi: Likewise.
28035         * doc/glibc-functions/obstack_printf.texi: Likewise.
28036         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28037
28038 2010-11-27  Bruno Haible  <bruno@clisp.org>
28039
28040         Fix link error when module libunistring-optional is in use.
28041         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28042         * modules/striconveha-tests (Makefile.am): Likewise.
28043
28044 2010-11-27  Bruno Haible  <bruno@clisp.org>
28045
28046         regex: Mention link dependencies.
28047         * modules/regex (Link): New section.
28048         * modules/rpmatch (Link): Likewise.
28049         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28050
28051 2010-11-27  Bruno Haible  <bruno@clisp.org>
28052
28053         ftoastr: Fix compilation error on Solaris.
28054         * lib/ftoastr.c: Include <config.h>.
28055
28056 2010-11-27  Bruno Haible  <bruno@clisp.org>
28057
28058         getloadavg: Update documentation.
28059         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28060
28061 2010-11-27  Bruno Haible  <bruno@clisp.org>
28062
28063         sys_socket: Fix test whether the functions are declared.
28064         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28065         not <sys/select.h>.
28066
28067 2010-11-27  Bruno Haible  <bruno@clisp.org>
28068
28069         getpass: Make sure to get system declaration on some platforms.
28070         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28071         gl_USE_SYSTEM_EXTENSIONS.
28072         * modules/getpass (Depends-on): Add extensions.
28073
28074 2010-11-26  Bruno Haible  <bruno@clisp.org>
28075
28076         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28077         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28078         'iconv' module is present.
28079         (ICONV_CONST): New macro.
28080         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28081         ICONV_CONST.
28082         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28083         set ICONV_CONST.
28084         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28085         here.
28086         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28087         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28088         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28089         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28090         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28091         present.
28092
28093 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28094
28095         ftoastr: comment fix
28096         * lib/ftoastr.c: "little" -> "little or no" in comment
28097
28098 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28099
28100         stdint: port to GCC 4.3 + OSX + Octave
28101         On this platform, stdint.h is buggy and defines int64_t to long
28102         long int.  The replacement defined it to long int, causing
28103         problems with C++ style name mangling.  Instead, trust the system
28104         definition if INT64_MAX is defined, and likewise for the unsigned
28105         variant.   Problem reported by Jarno Rajahalme in
28106         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28107         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28108         and don't mess with int64_t and INT64_MAX in this case.
28109         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28110
28111 2010-11-24  Bruno Haible  <bruno@clisp.org>
28112
28113         doc: Corrections regarding MacOS X 10.4 and 10.5.
28114         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28115         MacOS X.
28116         Reported by Simon Josefsson.
28117
28118 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28119
28120         Uninstall ".bin" files installed by relocwrapper.
28121         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28122         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28123         unless it is already there.
28124
28125 2010-11-21  Bruno Haible  <bruno@clisp.org>
28126
28127         Update for NetBSD 5.0.
28128         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28129         NetBSD; the test fails on NetBSD 5.0.
28130         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28131         about NetBSD.
28132
28133 2010-11-21  Bruno Haible  <bruno@clisp.org>
28134
28135         Update for HP-UX 11.23 and HP-UX 11.31.
28136         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28137         HP-UX.
28138
28139 2010-11-21  Bruno Haible  <bruno@clisp.org>
28140
28141         Update for MacOS X 10.5.
28142         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28143         MacOS X; the test fails on MacOS X 10.5.8.
28144         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28145         about MacOS X.
28146
28147 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28148
28149         bootstrap: add bootstrap_sync option.
28150         See discussion at
28151         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28152         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28153         * build-aux/bootstrap: Accept --bootstrap-sync to update
28154         bootstrap if it is not identical to the local gnulib's
28155         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28156         enable this by default.  Accept --no-bootstrap-sync to disable
28157         it.
28158
28159 2010-11-20  Bruno Haible  <bruno@clisp.org>
28160
28161         Ensure that <features.h> is included before __GLIBC__ is tested.
28162         * lib/printf-parse.h: Include <features.h>.
28163         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28164         Reported by Mike Frysinger <vapier@gentoo.org>.
28165
28166         Ensure that <features.h> is included before __GLIBC__ is tested.
28167         * lib/wchar.in.h: Include <features.h>.
28168         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28169         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28170         Reported by Mike Frysinger <vapier@gentoo.org>.
28171
28172         Ensure that <features.h> is included before __GLIBC__ is tested.
28173         * lib/arpa_inet.in.h: Include <features.h>.
28174         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28175         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28176         Reported by Mike Frysinger <vapier@gentoo.org>.
28177
28178         Ensure that <features.h> is included before __GLIBC__ is tested.
28179         * build-aux/link-warning.h: Include <features.h>.
28180         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28181         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28182         Reported by Mike Frysinger <vapier@gentoo.org>.
28183
28184         Ensure that <features.h> is included before __GLIBC__ is tested.
28185         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28186         Reported by Mike Frysinger <vapier@gentoo.org>.
28187
28188 2010-11-20  Bruno Haible  <bruno@clisp.org>
28189
28190         memmem: Fix autoconf test.
28191         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28192
28193 2010-11-20  Bruno Haible  <bruno@clisp.org>
28194
28195         Port to uClibc.
28196         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28197         * lib/fcntl.in.h: Likewise.
28198         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28199         * lib/mbrtowc.c (mbrtowc): Likewise.
28200         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28201         * lib/strerror_r.c: Likewise.
28202         * lib/unistr/u8-strnlen.c: Likewise.
28203         * lib/vasnprintf.c (decimal_point_char): Likewise.
28204         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28205         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28206         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28207         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28208         * tests/test-sigaction.c (handler, main): Likewise.
28209         * lib/freading.h: Treat uClibc like a non-glibc platform.
28210         * lib/freading.c: Likewise.
28211         * lib/gettext.h: Likewise.
28212         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28213         Likewise.
28214         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28215         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28216         * lib/propername.c (proper_name_utf8): Likewise.
28217         * lib/spawn.in.h: Likewise.
28218         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28219         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28220         mem_cd_iconveh_internal): Likewise.
28221         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28222         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28223         strstr, strcasestr): Likewise.
28224         * lib/unicodeio.c (unicode_to_mb): Likewise.
28225         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28226         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28227         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28228         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28229         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28230         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28231         * lib/unistr/u8-stpncpy.c: Likewise.
28232         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28233         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28234         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28235         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28236         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28237         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28238         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28239         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28240         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28241         Likewise.
28242         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28243         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28244         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28245         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28246         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28247         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28248         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28249         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28250         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28251         * tests/test-striconveha.c (main): Likewise.
28252         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28253         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28254         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28255         * doc/posix-functions/getline.texi: Likewise.
28256         Reported by Mike Frysinger <vapier@gentoo.org>.
28257
28258 2010-11-20  Bruno Haible  <bruno@clisp.org>
28259
28260         nproc: Fix condition.
28261         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28262         HAVE_PTHREAD_AFFINITY_NP.
28263
28264 2010-11-20  Bruno Haible  <bruno@clisp.org>
28265
28266         Fix a comment.
28267         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28268
28269 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28270
28271         ftoastr: don't assume snprintf
28272         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28273         Implement a subset of snprintf here, by using sprintf safely.
28274         * modules/ftoastr (Depends-on): Remove snprintf.
28275
28276 2010-11-19  Jim Meyering  <meyering@redhat.com>
28277
28278         test-rename.h: fix compilation failure
28279         * tests/test-rename.h (test_rename): Add omitted "}".
28280
28281 2010-11-17  Jim Meyering  <meyering@redhat.com>
28282
28283         maint.mk: add a URL discussing the no-@acronym policy
28284         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28285
28286 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28287
28288         ftoastr: depend on snprintf, improve comments
28289         * lib/ftoastr.c: Also mention Loitsch's draft.
28290         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28291         needed in the current implementation, but it might simplify
28292         speeding up the code later.
28293         * modules/ftoastr: Depend on snprintf; this improves portability.
28294         Suggested by Bruno Haible in the same email.
28295
28296         ftoastr: port to hosts lacking strtof and strtold
28297         Problem reported by Bruno Haible in
28298         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28299         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28300         environment and strtold (and presumably strtof) are not available.
28301         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28302         (configure.ac): Require gl_C99_STRTOLD.
28303
28304 2010-11-18  Bruno Haible  <bruno@clisp.org>
28305
28306         c-strtold: Avoid link error on AIX 7.
28307         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28308         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28309         (gl_C_STRTOLD): Test whether strtold_l exists.
28310         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28311
28312 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28313
28314         intprops: new macro INT_BITS_STRLEN_BOUND
28315         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28316         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28317         not exposed.  Also, it uses a slightly tighter bound than before;
28318         though this makes no practical difference, we might as well be as
28319         tight as we easily can.
28320
28321         ftoastr: new module, for lossless conversion of floats to short strings
28322         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28323         * modules/ftoastr: New files.
28324
28325 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28326
28327         bootstrap: port to Solaris sed
28328         * build-aux/bootstrap (get_version): Port to Solaris sed.
28329         See Ralf Wildenhues's note in
28330         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28331
28332 2010-11-14  Jim Meyering  <meyering@redhat.com>
28333
28334         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28335         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28336         and move definition closer to sole use.
28337
28338 2010-11-13  Jim Meyering  <meyering@redhat.com>
28339
28340         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28341         Now we require at least autoconf-2.59, which means the work-around
28342         is no longer needed.
28343         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28344         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28345         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28346         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28347         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28348
28349 2010-11-13  Bruno Haible  <bruno@clisp.org>
28350
28351         rename, renameat: Avoid test failures at NFS mounted locations.
28352         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28353         functions.
28354         (test_rename): Use assert_nonexistent.
28355         * tests/test-rename.c: Include <dirent.h>.
28356         * tests/test-renameat.c: Likewise.
28357         Reported by Gary V. Vaughan <gary@gnu.org>.
28358
28359         rename, renameat: Document Linux bug with NFS
28360         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28361         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28362         * doc/posix-functions/renameat.texi: Likewise.
28363         Suggested by Eric Blake.
28364
28365 2010-11-13  Bruno Haible  <bruno@clisp.org>
28366
28367         rename test: Add comments.
28368         * tests/test-rename.h (test_rename): Add structure and comments.
28369
28370 2010-11-13  Eric Blake  <eblake@redhat.com>
28371
28372         maintainer-makefile: cover a few more files
28373         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28374         scripts generated within C files, for libvirt.
28375
28376 2010-11-13  Bruno Haible  <bruno@clisp.org>
28377
28378         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28379         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28380         character, return the number of bytes that belong together, not always
28381         1.
28382         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28383         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28384         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28385         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28386         number of bytes of an invalid character.
28387         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28388         (main): Invoke it.
28389         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28390         results.
28391         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28392         malformed byte sequences.
28393         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28394         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28395         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28396         Reported by Ben Pfaff and Paolo Bonzini.
28397
28398 2010-11-13  Bruno Haible  <bruno@clisp.org>
28399
28400         openat: Work around glibc bug with fchownat() and empty file names.
28401         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28402         (gl_FUNC_FCHOWNAT): Invoke it.
28403         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28404         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28405         Reported by Gary V. Vaughan <gary@gnu.org>.
28406
28407 2010-11-13  Bruno Haible  <bruno@clisp.org>
28408
28409         openat: Ensure autoconf macro ordering.
28410         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28411         gl_USE_SYSTEM_EXTENSIONS.
28412         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28413
28414 2010-11-13  Bruno Haible  <bruno@clisp.org>
28415
28416         Update comments.
28417         * lib/unistr/u8-check.c: Update file name in comments.
28418         * lib/unistr/u8-mblen.c: Likewise.
28419         * lib/unistr/u8-prev.c: Likewise.
28420         * lib/unistr/u8-strmblen.c: Likewise.
28421         * lib/unistr/u8-strmbtouc.c: Likewise.
28422
28423 2010-11-13  Jim Meyering  <meyering@redhat.com>
28424
28425         tests: avoid test failure on Solaris 10 due to lack of PATH export
28426         * tests/test-update-copyright.sh: Don't forget to export PATH.
28427
28428         init.sh: ensure that IFS is defined, just in case...
28429         * tests/init.sh (setup_): Ensure that IFS is defined,
28430         so that saving and restoring it works as expected.  This
28431         appears to be useful at least for an old version of dash
28432         from a long time ago (RH 6).  See here for details:
28433         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28434
28435         maint.mk: tighten "test a == b" check
28436         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28437         test to files that contain something like #!/bin/sh.
28438         Without this, coreutils would get two false positives in
28439         the comments of C source files.
28440
28441 2010-11-12  Eric Blake  <eblake@redhat.com>
28442
28443         bootstrap: fix typo in previous attempt
28444         * build-aux/bootstrap (buildreq): Correct the grouping.
28445         Reported by Paul Eggert.
28446
28447         maintainer-makefile: prohibit test x == x
28448         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28449         Based on a report by Matthias Bolte.
28450
28451         bootstrap: allow FreeBSD gzip
28452         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28453         which has no '.' and goes to stderr.
28454         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28455         Reported by Matthias Bolte.
28456
28457         maintainer-makefile: check for i18n setup
28458         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28459         will likely work.
28460
28461 2010-11-12  Bruno Haible  <bruno@clisp.org>
28462
28463         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28464         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28465         * lib/nanosleep.c (nanosleep): Likewise.
28466
28467 2010-11-11  Bruno Haible  <bruno@clisp.org>
28468
28469         fcntl-h: Fix for use of C++ on glibc systems.
28470         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28471         also on glibc systems in C++ mode.
28472         Reported by Gary V. Vaughan <gary@gnu.org>.
28473
28474 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28475
28476         mknod: avoid false failure with dash
28477         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28478
28479 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28480
28481         unlink: Fix "is it should" typo in diagnostic.
28482         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28483         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28484
28485 2010-11-11  Bruno Haible  <bruno@clisp.org>
28486
28487         Tests for module 'strerror_r-posix'.
28488         * modules/strerror_r-posix-tests: New file.
28489         * tests/test-strerror_r.c: New file.
28490         * tests/test-string-c++.cc: Check the signature of strerror_r.
28491
28492         New module 'strerror_r-posix'.
28493         * lib/string.in.h (strerror_r): New declaration.
28494         * lib/strerror_r.c: New file.
28495         * m4/strerror_r.m4: New file.
28496         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28497         of strerror_r.
28498         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28499         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28500         * modules/strerror_r-posix: New file.
28501         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28502         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28503         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28504         portability problems.
28505
28506 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28507
28508         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28509         line is also considered for output. Quoted function name in shell
28510         command, so temporary files for functions like MyClass::operator()
28511         are removed correctly without errors.
28512
28513 2010-11-09  Bruno Haible  <bruno@clisp.org>
28514
28515         * doc/posix-functions/strerror.texi: List more failing platforms.
28516
28517         * doc/posix-functions/strerror.texi: Add a comment.
28518
28519 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28520
28521         fdopendir: fix bug on MacOS X when low on file descriptors
28522
28523         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28524         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28525         All callers changed.
28526         (fdopendir): Invoke save_cwd at the top level, not after using
28527         multiple dup() calls to use up file descriptors.  Then retry
28528         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28529         less than the maximum number of open file descriptors, because
28530         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28531         on Mac OS X 10.6.4 for tar 1.24
28532         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28533         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28534         and for tar 1.25
28535         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28536
28537 2010-11-07  Bruno Haible  <bruno@clisp.org>
28538
28539         vasnprintf: Support I flag on glibc systems.
28540         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28541         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28542         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28543         snprintf function.
28544         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28545         glibc systems.
28546         * tests/test-vasnprintf-posix3.c: New file.
28547         * modules/vasnprintf-posix-tests (Files): Add it.
28548         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28549
28550 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28551
28552         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28553         * MODULES.html.sh: For compiler warnings, use name
28554         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28555
28556 2010-11-05  Eric Blake  <eblake@redhat.com>
28557
28558         ceil, floor: avoid spurious failure with icc
28559         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28560         [denormals-as-zero] when optimizing without -mieee-fp option.
28561         * tests/test-floorf2.c (floorf_reference): Likewise.
28562         * tests/test-ceilf1.c (dummy): New function.
28563         (main): Use it to outsmart icc's optimization.
28564         * tests/test-floorf1.c (dummy, main): Likewise.
28565
28566         tests: require working signbit
28567         * modules/ceilf-tests (Depends-on): Add signbit.
28568         * modules/ceill-tests (Depends-on): Likewise.
28569         * modules/floorf-tests (Depends-on): Likewise.
28570         * modules/floorl-tests (Depends-on): Likewise.
28571         * modules/round-tests (Depends-on): Likewise.
28572         * modules/roundf-tests (Depends-on): Likewise.
28573         * modules/roundl-tests (Depends-on): Likewise.
28574         * modules/trunc-tests (Depends-on): Likewise.
28575         * modules/truncf-tests (Depends-on): Likewise.
28576         * modules/truncl-tests (Depends-on): Likewise.
28577
28578         strtod: work around icc bug
28579         * lib/strtod.c (minus_zero): Define to working value.
28580         (strtod): Use it to avoid icc bug.
28581
28582         copysign: enhance tests
28583         * modules/copysign-tests (Files): Add minus-zero.h.
28584         * tests/test-copysign.c (main): Also test zeros.
28585
28586 2010-11-04  Eric Blake  <eblake@redhat.com>
28587
28588         ceil, floor, round, trunc: enhance tests of -0
28589         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28590         * tests/test-ceill.c (main): Likewise.
28591         * tests/test-floorf1.c (main): Likewise.
28592         * tests/test-floorl.c (main): Likewise.
28593         * tests/test-round1.c (main): Likewise.
28594         * tests/test-roundf1.c (main): Likewise.
28595         * tests/test-roundl.c (main): Likewise.
28596         * tests/test-trunc1.c (main): Likewise.
28597         * tests/test-truncf1.c (main): Likewise.
28598         * tests/test-truncl.c (main): Likewise.
28599
28600 2010-11-04  Eric Blake  <eblake@redhat.com>
28601
28602         frexp, tests: work around ICC bug with -zero
28603         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28604         works with more compilers.
28605         * tests/minus-zero.h: New file.
28606         * modules/ceilf-tests (Files): Include it.
28607         * modules/ceill-tests (Files): Likewise.
28608         * modules/floorf-tests (Files): Likewise.
28609         * modules/floorl-tests (Files): Likewise.
28610         * modules/frexp-nolibm-tests (Files): Likewise.
28611         * modules/frexp-tests (Files): Likewise.
28612         * modules/frexpl-nolibm-tests (Files): Likewise.
28613         * modules/frexpl-tests (Files): Likewise.
28614         * modules/isnan-tests (Files): Likewise.
28615         * modules/isnand-nolibm-tests (Files): Likewise.
28616         * modules/isnand-tests (Files): Likewise.
28617         * modules/isnanf-nolibm-tests (Files): Likewise.
28618         * modules/isnanf-tests (Files): Likewise.
28619         * modules/isnanl-nolibm-tests (Files): Likewise.
28620         * modules/isnanl-tests (Files): Likewise.
28621         * modules/round-tests (Files): Likewise.
28622         * modules/roundf-tests (Files): Likewise.
28623         * modules/roundl-tests (Files): Likewise.
28624         * modules/ldexpl-tests (Files): Likewise.
28625         * modules/signbit-tests (Files): Likewise.
28626         * modules/snprintf-posix-tests (Files): Likewise.
28627         * modules/sprintf-posix-tests (Files): Likewise.
28628         * modules/strtod-tests (Files): Likewise.
28629         * modules/trunc-tests (Files): Likewise.
28630         * modules/truncf-tests (Files): Likewise.
28631         * modules/truncl-tests (Files): Likewise.
28632         * modules/vsnprintf-posix-tests (Files): Likewise.
28633         * modules/vsprintf-posix-tests (Files): Likewise.
28634         * modules/vasnprintf-posix-tests (Files): Likewise.
28635         * modules/vasprintf-posix-tests (Files): Likewise.
28636         * tests/test-ceilf1.c (main): Use it.
28637         * tests/test-ceill.c (main): Likewise.
28638         * tests/test-floorf1.c (main): Likewise.
28639         * tests/test-floorl.c (main): Likewise.
28640         * tests/test-frexp.c (main): Likewise.
28641         * tests/test-frexpl.c (main): Likewise.
28642         * tests/test-isnan.c (main): Likewise.
28643         * tests/test-isnand.h (main): Likewise.
28644         * tests/test-isnanf.h (main): Likewise.
28645         * tests/test-isnanl.h (main): Likewise.
28646         * tests/test-ldexpl.c (main): Likewise.
28647         * tests/test-round.c (main): Likewise.
28648         * tests/test-roundf.c (main): Likewise.
28649         * tests/test-roundl.c (main): Likewise.
28650         * tests/test-signbit.c (test_signbitf, test_signbitd)
28651         (test_signbitl): Likewise.
28652         * tests/test-snprintf-posix.h (test_function): Likewise.
28653         * tests/test-sprintf-posix.h (test_function): Likewise.
28654         * tests/test-strtod.c (main): Likewise.
28655         * tests/test-trunc1.c (main): Likewise.
28656         * tests/test-truncf1.c (main): Likewise.
28657         * tests/test-truncl.c (main): Likewise.
28658
28659         isnanl: work around icc bug
28660         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28661
28662 2010-11-03  Eric Blake  <eblake@redhat.com>
28663
28664         tests: fix compiler warnings
28665         * tests/test-getopt.h (test_getopt): Fix condition.
28666         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28667         * tests/test-pipe2.c (main): Likewise.
28668         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28669
28670         utimens: fix broken m4 test
28671         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28672
28673 2010-10-28  Bruno Haible  <bruno@clisp.org>
28674
28675         posix_spawn*, getdtablesize: Relax license.
28676         * modules/posix_spawn (License): Change to LGPLv2+.
28677         * modules/posix_spawnp (License): Likewise.
28678         * modules/posix_spawn-internal (License): Likewise.
28679         * modules/posix_spawnattr_init (License): Likewise.
28680         * modules/posix_spawnattr_getflags (License): Likewise.
28681         * modules/posix_spawnattr_setflags (License): Likewise.
28682         * modules/posix_spawnattr_getpgroup (License): Likewise.
28683         * modules/posix_spawnattr_setpgroup (License): Likewise.
28684         * modules/posix_spawnattr_getschedparam (License): Likewise.
28685         * modules/posix_spawnattr_setschedparam (License): Likewise.
28686         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28687         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28688         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28689         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28690         * modules/posix_spawnattr_getsigmask (License): Likewise.
28691         * modules/posix_spawnattr_setsigmask (License): Likewise.
28692         * modules/posix_spawnattr_destroy (License): Likewise.
28693         * modules/posix_spawn_file_actions_init (License): Likewise.
28694         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28695         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28696         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28697         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28698         * modules/getdtablesize (License): Likewise.
28699         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28700
28701 2010-10-26  Bruno Haible  <bruno@clisp.org>
28702
28703         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28704         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28705         Cygwin and mingw.
28706         Suggested by Eric Blake.
28707
28708 2010-10-26  Bruno Haible  <bruno@clisp.org>
28709
28710         stdio: Work around compilation error due to renameat() on Solaris 10.
28711         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28712         * lib/renameat.c: Don't include <unistd.h> here.
28713         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28714         Reported by Paul Eggert and Eric Blake.
28715
28716 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28717
28718         renameat: port to Solaris 10, which declares renameat in unistd.h
28719
28720         * lib/renameat.c: Include unistd.h before stdio.h, because
28721         Solaris 10 declares renameat in unistd.h.  Problem encountered
28722         when building GNU tar 1.24 on Solaris 10.
28723
28724 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28725
28726         fdopendir: fix C89 compilation
28727         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28728         compilers.
28729
28730 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28731
28732         inttostr: simplify by removing unnecessary redundancy
28733         * lib/anytostr.c: Don't include verify.h.
28734         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28735         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28736         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28737         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28738         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28739         Likewise.
28740         * modules/inttostr (Depends-on): Remove 'verify'.
28741
28742 2010-10-23  Bruno Haible  <bruno@clisp.org>
28743
28744         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28745         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28746         Reported by Eric Blake.
28747
28748 2010-10-23  Bruno Haible  <bruno@clisp.org>
28749
28750         Tests: Fix LOCALE_JA on MirBSD 10.
28751         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28752         to an UTF-8 locale.
28753         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28754         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28755         Reported by Eric Blake.
28756
28757 2010-10-21  Bruno Haible  <bruno@clisp.org>
28758
28759         nl_langinfo test: Avoid test failure on NetBSD 5.
28760         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28761         Reported by Eric Blake.
28762
28763 2010-10-21  Eric Blake  <eblake@redhat.com>
28764
28765         c-stack: work around libsigsegv 2.8 bug
28766         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28767         overflow on at least PowerPC64.
28768
28769 2010-10-17  Bruno Haible  <bruno@clisp.org>
28770
28771         userspec: Drop redundant file.
28772         * modules/userspec (Files): Remove lib/inttostr.h.
28773
28774 2010-10-17  Bruno Haible  <bruno@clisp.org>
28775
28776         nl_langinfo tests: Silence some warnings.
28777         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28778         Reported by Jim Meyering.
28779
28780 2010-10-17  Bruno Haible  <bruno@clisp.org>
28781
28782         Make use of GCC's attribute __alloc_size__.
28783         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28784         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28785         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28786         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28787         __alloc_size__.
28788         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28789         Suggested by Jim Meyering.
28790
28791 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28792
28793         bootstrap: anchor .gitignore entries.
28794         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28795         with...
28796         (insert_vc_ignore): ... this new function, which prepends `/' to
28797         all .gitignore entries before passing them to
28798         insert_sorted_if_absent.
28799
28800 2010-10-16  Bruno Haible  <bruno@clisp.org>
28801
28802         nextafter: Fix configure check.
28803         * modules/nextafter (configure.ac): Correct expected prototype.
28804
28805 2010-10-16  Bruno Haible  <bruno@clisp.org>
28806
28807         termios: Update documentation.
28808         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28809
28810 2010-10-16  Bruno Haible  <bruno@clisp.org>
28811
28812         tests: Make them compile with TinyCC.
28813         * tests/test-strstr.c (main): Remove parentheses around array
28814         initializer.
28815
28816 2010-10-15  Eric Blake  <eblake@redhat.com>
28817
28818         ignore-value: make header idempotent
28819         * lib/ignore-value.h: Add double-inclusion guards.
28820         Reported by Stefan Berger.
28821
28822 2010-10-15  Jim Meyering  <meyering@redhat.com>
28823
28824         GNUmakefile: handle "stable" target, not "major"
28825         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28826         lists in maint.mk and announce-gen.  Without this, "make stable"
28827         would fail to ensure that $(VERSION) is up to date.
28828
28829 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28830
28831         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28832         & co.
28833
28834 2010-10-14  Bruno Haible  <bruno@clisp.org>
28835
28836         vasnprintf: Don't set errno to 0.
28837         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28838         block that sets it to 0.
28839         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28840
28841 2010-10-14  Bruno Haible  <bruno@clisp.org>
28842
28843         socketlib: Fix.
28844         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28845         gl_PREREQ_SYS_H_WINSOCK2.
28846         Reported by Ian Beckwith <ianb@erislabs.net>.
28847
28848 2010-10-13  Jim Meyering  <meyering@redhat.com>
28849
28850         test-select-stdin.c: avoid warn_unused_result warnings
28851         * tests/test-select-stdin.c: Include "macros.h".
28852         ASSERT that read and fflush succeed.
28853
28854 2010-10-13  Jim Meyering  <meyering@redhat.com>
28855
28856         git-version-gen: do require git-VC'd files in cwd
28857         * build-aux/git-version-gen: Reject a git version string
28858         if there are no commits associated with the current directory.
28859         This avoids an unlikely false-positive (unrelated dir whose parent
28860         repository also contains a tag matching v*), as pointed out
28861         by Giuseppe Scrivano in
28862         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28863
28864 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28865
28866         argv-iter: omit nonconforming declaration
28867         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28868         enum arg_iter_err declaration, which doesn't conform to C99.
28869         Solaris 10 cc warns about this.
28870
28871 2010-10-13  Eric Blake  <eblake@redhat.com>
28872
28873         termios: fix compilation on mingw
28874         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28875         (gl_TERMIOS_H): Adjust it on mingw.
28876         * modules/termios (Makefile.am): Substitute new key.
28877         * lib/termios.in.h (includes): Make include_next conditional.
28878         * doc/posix-headers/termios.texi (termios.h): Update
28879         documentation.
28880         Reported by Daniel P. Berrange.
28881
28882 2010-10-13  Jim Meyering  <meyering@redhat.com>
28883
28884         git-version-gen: don't require that .git/ be in the current dir
28885         * build-aux/git-version-gen: Adjust this script so that it works
28886         when run from any working directory beneath the top-level .git/-
28887         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28888         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28889
28890         test-select: avoid warn_unused_result warnings
28891         * tests/test-select.c: Include "macros.h".
28892         ASSERT that each call to read, write, and pipe succeeds.
28893         While not technically required, also check each "close".
28894         * modules/select-tests (Files): Add tests/macros.h.
28895
28896         test-symlinkat: remove declaration of unused local
28897         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28898
28899         test-inttostr: avoid shadowing warnings
28900         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28901         and use malloc rather than the stack for the same reason as
28902         mentioned in the comment justifying the other allocation.
28903
28904 2010-10-11  Bruno Haible  <bruno@clisp.org>
28905
28906         stdlib: Allow multiple gnulib generated replacements to coexist.
28907         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28908         Reported by Sam Steingold <sds@gnu.org>.
28909
28910 2010-10-11  Jim Meyering  <meyering@redhat.com>
28911
28912         fix a documentation typo
28913         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28914
28915 2010-10-11  Eric Blake  <eblake@redhat.com>
28916
28917         futimens: work around Solaris 11 bug
28918         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28919         * tests/test-futimens.h (test_futimens): Enhance, rather than
28920         weaken test.
28921         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28922
28923 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28924
28925         Indentation.
28926         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28927         higher-level operators more to the left.
28928
28929 2010-10-11  Jim Meyering  <meyering@redhat.com>
28930
28931         test-futimens: avoid unwarranted test failure on Solaris 5.11
28932         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28933         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28934         because it tries to dereference the NULL name argument.
28935
28936 2010-10-11  Bruno Haible  <bruno@clisp.org>
28937
28938         Indentation.
28939         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28940         indentation.
28941
28942 2010-10-11  Jim Meyering  <meyering@redhat.com>
28943
28944         spawn.in.h: make indentation consistent with parentheses
28945         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28946         Make indentation consistent with parentheses.
28947
28948 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28949
28950         Fix mismatched parens in previous commit
28951         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28952         parens.
28953
28954 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28955
28956         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28957
28958         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28959         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28960         * lib/malloca.c: Include "verify.h".
28961         (verify1): Remove, replacing with a verify call.
28962         * lib/relocwrapper.c (verify1): Likewise.
28963         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28964         Likewise.
28965         * modules/malloca (Depends-on): Add 'verify'.
28966         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28967         * modules/vasnprintf (Depends-on): Add 'verify'.
28968         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28969         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28970         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28971         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28972         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28973         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28974         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28975
28976         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28977
28978         Formerly the style was sometimes 2*X - 1, because the C standard
28979         was wrongly thought to disallow ?: in integral constant expressions.
28980         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28981         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28982         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28983         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28984         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28985         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28986         verify that time_t cannot be floating.
28987
28988 2010-10-08  Eric Blake  <eblake@redhat.com>
28989
28990         time: enforce recent POSIX ruling that time_t is integral
28991         * lib/time.in.h (__time_t_must_be_integral): Detect any
28992         problematic systems, allowing the rest of gnulib to assume POSIX.
28993
28994 2010-10-08  Jim Meyering  <meyering@redhat.com>
28995
28996         fdopendir: fix a bug on systems lacking openat and /proc support
28997         OpenBSD 4.7 is one such system.  The most noticeable effect was
28998         failure of any application making nontrivial use of fts: rm, du,
28999         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29000           ./rm: traversal failed: `a': Bad file descriptor
29001         Debugging that, you see that even though FD 6 was closed just
29002         prior to the opendir call in fd_clone_opendir, its resulting
29003         dir->dd_fd was 8, rather than the expected value of 6:
29004
29005         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29006         93                close (fd);
29007         (gdb) n
29008         94                dir = fd_clone_opendir (dupfd);
29009         (gdb) n
29010         95                saved_errno = errno;
29011         (gdb) p dir->dd_fd
29012         $11 = 8
29013
29014         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29015         The problem is that on OpenBSD, fd_clone_opendir has to resort
29016         to using the old-style save/restore CWD mechanism, due to its
29017         lack of openat/proc support, and *that* would steal the FD (6)
29018         that opendir was supposed to use.
29019
29020         The fix is to squirrel away the desired FD so that save_cwd uses a
29021         different one, and then free the dest FD right before calling opendir.
29022         That guarantees opendir will use the required file descriptor.
29023
29024         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29025
29026 2010-10-08  Bruno Haible  <bruno@clisp.org>
29027
29028         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29029         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29030
29031 2010-10-08  Bruno Haible  <bruno@clisp.org>
29032
29033         nanosleep: Make replacement POSIX compliant.
29034         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29035         is out of range.
29036         Reported by Jim Meyering.
29037
29038 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29039
29040         bootstrap: add hook for altering gnulib.mk, for Bison
29041         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29042         the Bison bootstrapping process can rewrite file names and variables
29043         in this file before later parts of 'bootstrap' use the file.
29044         Bison wants to include lib/gnulib.mk from the top-level makefile,
29045         so it needs the file names in this file to be relative to the top
29046         level, not relative to lib; plus it needs variable names to be
29047         rewritten.
29048         (slurp): Use the new function.
29049
29050         bootstrap: reformat for readability
29051         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29052
29053 2010-10-08  Eric Blake  <eblake@redhat.com>
29054
29055         docs: update cygwin progress
29056         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29057         1.7.7.
29058         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29059         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29060         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29061         * doc/posix-functions/carg.texi (carg): Likewise.
29062         * doc/posix-functions/cargf.texi (cargf): Likewise.
29063         * doc/posix-functions/casin.texi (casin): Likewise.
29064         * doc/posix-functions/casinf.texi (casinf): Likewise.
29065         * doc/posix-functions/casinh.texi (casinh): Likewise.
29066         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29067         * doc/posix-functions/catan.texi (catan): Likewise.
29068         * doc/posix-functions/catanf.texi (catanf): Likewise.
29069         * doc/posix-functions/catanh.texi (catanh): Likewise.
29070         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29071         * doc/posix-functions/ccos.texi (ccos): Likewise.
29072         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29073         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29074         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29075         * doc/posix-functions/cexp.texi (cexp): Likewise.
29076         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29077         * doc/posix-functions/cimag.texi (cimag): Likewise.
29078         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29079         * doc/posix-functions/clog.texi (clog): Likewise.
29080         * doc/posix-functions/clogf.texi (clogf): Likewise.
29081         * doc/posix-functions/conj.texi (conj): Likewise.
29082         * doc/posix-functions/conjf.texi (conjf): Likewise.
29083         * doc/posix-functions/cpow.texi (cpow): Likewise.
29084         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29085         * doc/posix-functions/cproj.texi (cproj): Likewise.
29086         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29087         * doc/posix-functions/creal.texi (creal): Likewise.
29088         * doc/posix-functions/crealf.texi (crealf): Likewise.
29089         * doc/posix-functions/csin.texi (csin): Likewise.
29090         * doc/posix-functions/csinf.texi (csinf): Likewise.
29091         * doc/posix-functions/csinh.texi (csinh): Likewise.
29092         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29093         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29094         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29095         * doc/posix-functions/ctan.texi (ctan): Likewise.
29096         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29097         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29098         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29099         * doc/posix-headers/complex.texi (complex.h): Likewise.
29100
29101 2010-10-07  Jim Meyering  <meyering@redhat.com>
29102
29103         parse-datetime: avoid compilation failure on OpenBSD 4.7
29104         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29105         This works around a compilation failure on OpenBSD 4.7:
29106         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29107
29108 2010-10-07  Eric Blake  <eblake@redhat.com>
29109
29110         docs: update cygwin progress
29111         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29112         1.7.6.
29113         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29114         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29115         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29116         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29117         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29118         Likewise.
29119         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29120         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29121         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29122         Likewise.
29123         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29124         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29125         Likewise.
29126         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29127         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29128         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29129         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29130         Likewise.
29131         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29132         Likewise.
29133         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29134
29135         docs: update parse-datetime history
29136         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29137         documentation of this function's history and alternatives.
29138
29139         cygwin: use more robust version check
29140         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29141         exclude an eventual cygwin 1.9.1.
29142         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29143         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29144         (gl_FUNC_STRCASESTR): Likewise.
29145         Reported by Bruno Haible.
29146
29147 2010-10-06  Bruno Haible  <bruno@clisp.org>
29148
29149         string, sys_select: Avoid #including large headers unless necessary.
29150         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29151         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29152         OSF/1, BeOS, Haiku.
29153         Reported by Jim Meyering.
29154
29155 2010-10-05  Eric Blake  <eblake@redhat.com>
29156
29157         memmem, strstr, strcasestr: fix bug with long periodic needle
29158         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29159         periodic needle having false positive.
29160         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29161         and cygwin 1.7.7.
29162         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29163         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29164         (gl_FUNC_STRCASESTR): Likewise.
29165         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29166         * tests/test-memmem.c (main): Expose the bug.
29167         * tests/test-strcasestr.c (main): Likewise.
29168         * tests/test-strstr.c (main): Likewise.
29169         * tests/test-c-strcasestr.c (main): Likewise.
29170         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29171         * doc/posix-functions/strstr.texi (strstr): Likewise.
29172         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29173         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29174
29175 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29176
29177         parse-datetime: do some more renaming
29178         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29179         parse_datetime, not get_date.  Mention the renaming.
29180         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29181         in comments.
29182         * m4/bison.m4: Likewise.
29183
29184 2010-10-05  Eric Blake  <eblake@redhat.com>
29185
29186         parse-datetime: better name than get_date
29187         * NEWS: Reword the deprecation notice.
29188         * modules/get_date: Rename to modules/parse-datetime.
29189         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29190         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29191         * lib/get_date.y: Rename to lib/parse-datetime.y.
29192         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29193         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29194         * doc/getdate.texi: Provide fallback wrapper.
29195         * lib/getdate.h: Move guts, and wrap...
29196         * lib/parse-datetime.h: ...new file.
29197         * lib/parse-datetime.y (get_date): Rename...
29198         (parse_datetime): ...to this.
29199         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29200         (gl_PARSE_DATETIME): ...to this.
29201         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29202         documentation.
29203         * modules/getdate (Files): Provide fallback docs and header.
29204         (Notice, Depends-on): Update references.
29205         * tests/test-parse-datetime.c: Likewise.
29206         * DEPENDENCIES: Likewise.
29207         * MODULES.html.sh (Date and time <time.h>): Likewise.
29208         * doc/parse-datetime.texi (Date input formats)
29209         (Authors of parse_datetime): Likewise.
29210         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29211         (Include): Likewise.
29212         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29213         * gnulib-tool: Likewise.
29214         * m4/bison.m4 (gl_BISON): Likewise.
29215         Suggested by Bruno Haible.
29216
29217 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29218
29219         more ports to Solaris tr, which needs [] around ranges
29220         * gnulib-tool: Solaris tr needs [] around ranges.
29221         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29222         * tests/test-pipe-filter-gi1.c (main): Likewise.
29223         * tests/test-pipe-filter-ii1.c (main): Likewise.
29224
29225 2010-10-05  Eric Blake  <eblake@redhat.com>
29226
29227         bootstrap: fix Solaris regression
29228         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29229         around ranges.
29230         Reported by Pádraig Brady.
29231
29232         bootstrap: work with pkg-config
29233         * build-aux/bootstrap (check_versions): Also transliterate - in
29234         prerequisite name.
29235         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29236         prerequisites that were already found, to avoid confusion.
29237         Reported by Justin Clift.
29238
29239         faccessat: remove unused wrappers
29240         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29241         presence of these wrappers dragged in -lgen on Solaris.
29242         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29243
29244 2010-10-05  Jim Meyering  <meyering@redhat.com>
29245
29246         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29247         * Makefile (sc_pragma_columns): New syntax-check rule.
29248
29249 2010-10-04  Bruno Haible  <bruno@clisp.org>
29250
29251         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29252         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29253         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29254         Reported by Bruce Korb and Eric Blake.
29255
29256 2010-10-04  Bruno Haible  <bruno@clisp.org>
29257
29258         threadlib: Make option --with-libpth-prefix work.
29259         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29260         use $LIBPTH, not just -lpth.
29261
29262 2010-10-04  Bruno Haible  <bruno@clisp.org>
29263
29264         Avoid line length limitation from HP NonStop system header files.
29265         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29266         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29267         * lib/ctype.in.h: Likewise.
29268         * lib/dirent.in.h: Likewise.
29269         * lib/errno.in.h: Likewise.
29270         * lib/fcntl.in.h: Likewise.
29271         * lib/float.in.h: Likewise.
29272         * lib/getopt.in.h: Likewise.
29273         * lib/iconv.in.h: Likewise.
29274         * lib/inttypes.in.h: Likewise.
29275         * lib/langinfo.in.h: Likewise.
29276         * lib/locale.in.h: Likewise.
29277         * lib/math.in.h: Likewise.
29278         * lib/netdb.in.h: Likewise.
29279         * lib/netinet_in.in.h: Likewise.
29280         * lib/poll.in.h: Likewise.
29281         * lib/pthread.in.h: Likewise.
29282         * lib/pty.in.h: Likewise.
29283         * lib/sched.in.h: Likewise.
29284         * lib/se-selinux.in.h: Likewise.
29285         * lib/search.in.h: Likewise.
29286         * lib/signal.in.h: Likewise.
29287         * lib/spawn.in.h: Likewise.
29288         * lib/stdarg.in.h: Likewise.
29289         * lib/stddef.in.h: Likewise.
29290         * lib/stdint.in.h: Likewise.
29291         * lib/stdio.in.h: Likewise.
29292         * lib/stdlib.in.h: Likewise.
29293         * lib/string.in.h: Likewise.
29294         * lib/strings.in.h: Likewise.
29295         * lib/sys_file.in.h: Likewise.
29296         * lib/sys_ioctl.in.h: Likewise.
29297         * lib/sys_select.in.h: Likewise.
29298         * lib/sys_socket.in.h: Likewise.
29299         * lib/sys_stat.in.h: Likewise.
29300         * lib/sys_time.in.h: Likewise.
29301         * lib/sys_times.in.h: Likewise.
29302         * lib/sys_utsname.in.h: Likewise.
29303         * lib/sys_wait.in.h: Likewise.
29304         * lib/sysexits.in.h: Likewise.
29305         * lib/termios.in.h: Likewise.
29306         * lib/time.in.h: Likewise.
29307         * lib/unistd.in.h: Likewise.
29308         * lib/wchar.in.h: Likewise.
29309         * lib/wctype.in.h: Likewise.
29310         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29311         * modules/ctype (Makefile.am): Likewise.
29312         * modules/dirent (Makefile.am): Likewise.
29313         * modules/errno (Makefile.am): Likewise.
29314         * modules/fcntl-h (Makefile.am): Likewise.
29315         * modules/float (Makefile.am): Likewise.
29316         * modules/getopt-posix (Makefile.am): Likewise.
29317         * modules/iconv-h (Makefile.am): Likewise.
29318         * modules/inttypes (Makefile.am): Likewise.
29319         * modules/langinfo (Makefile.am): Likewise.
29320         * modules/locale (Makefile.am): Likewise.
29321         * modules/math (Makefile.am): Likewise.
29322         * modules/netdb (Makefile.am): Likewise.
29323         * modules/netinet_in (Makefile.am): Likewise.
29324         * modules/poll-h (Makefile.am): Likewise.
29325         * modules/pthread (Makefile.am): Likewise.
29326         * modules/pty (Makefile.am): Likewise.
29327         * modules/sched (Makefile.am): Likewise.
29328         * modules/search (Makefile.am): Likewise.
29329         * modules/selinux-h (Makefile.am): Likewise.
29330         * modules/signal (Makefile.am): Likewise.
29331         * modules/spawn (Makefile.am): Likewise.
29332         * modules/stdarg (Makefile.am): Likewise.
29333         * modules/stddef (Makefile.am): Likewise.
29334         * modules/stdint (Makefile.am): Likewise.
29335         * modules/stdio (Makefile.am): Likewise.
29336         * modules/stdlib (Makefile.am): Likewise.
29337         * modules/string (Makefile.am): Likewise.
29338         * modules/strings (Makefile.am): Likewise.
29339         * modules/sys_file (Makefile.am): Likewise.
29340         * modules/sys_ioctl (Makefile.am): Likewise.
29341         * modules/sys_select (Makefile.am): Likewise.
29342         * modules/sys_socket (Makefile.am): Likewise.
29343         * modules/sys_stat (Makefile.am): Likewise.
29344         * modules/sys_time (Makefile.am): Likewise.
29345         * modules/sys_times (Makefile.am): Likewise.
29346         * modules/sys_utsname (Makefile.am): Likewise.
29347         * modules/sys_wait (Makefile.am): Likewise.
29348         * modules/sysexits (Makefile.am): Likewise.
29349         * modules/termios (Makefile.am): Likewise.
29350         * modules/time (Makefile.am): Likewise.
29351         * modules/unistd (Makefile.am): Likewise.
29352         * modules/wchar (Makefile.am): Likewise.
29353         * modules/wctype (Makefile.am): Likewise.
29354
29355 2010-10-04  Bruno Haible  <bruno@clisp.org>
29356
29357         read-file tests: Avoid a test failure on NonStop Kernel.
29358         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29359         a regular file.
29360         Reported by Joachim Schmitz <schmitz@hp.com>.
29361
29362 2010-10-03  Bruno Haible  <bruno@clisp.org>
29363
29364         gnulib-tool: Fixes for --create-testdir with --libtool.
29365         * gnulib-tool (func_get_automake_snippet): Don't augment
29366         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29367         an executable.
29368         (func_create_testdir): Handle module 'alloca' like func_import.
29369         Reported by Bruce Korb <bruce.korb@gmail.com>.
29370
29371 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29372
29373         Avoid some lines longer than 80 characters.
29374         * lib/stdint.in.h: Break long comment lines.
29375         * lib/math.in.h: Likewise.
29376         (_GL_NUM_UINT_WORDS): New macro, for readability.
29377         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29378         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29379         * lib/stdlib.in.h: Likewise.
29380         * lib/spawn.in.h: Likewise.
29381         * lib/sys_socket.in.h: Update an URL.
29382         * lib/sys_stat.in.h: Break long line.
29383
29384 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29385
29386         Improve pmccabe2html.
29387         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29388         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29389         when the sources change. Remove the line in the HTML about "Used
29390         ranges" (which implied that there might be other unused ranges),
29391         rename "Resume" to "Summary" (easier to understand for more users).
29392         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29393         styles, and some unnecessary blank lines.
29394
29395 2010-10-03  Bruno Haible  <bruno@clisp.org>
29396             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29397
29398         acl: Add support for ACLs on NonStop Kernel.
29399         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29400         Check whether the function aclsort() exists.
29401         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29402         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29403         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29404         (acl_nontrivial [HAVE_ACLSORT]: New function.
29405         (file_has_acl): Implement for NonStop Kernel.
29406         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29407         (qset_acl): Implement for NonStop Kernel.
29408         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29409         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29410         (main): Implement for NonStop Kernel.
29411         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29412         Kernel. Handle this flavor.
29413         * tests/test-set-mode-acl.sh: Likewise.
29414         * tests/test-copy-acl.sh: Likewise.
29415         * tests/test-copy-file.sh: Likewise.
29416
29417 2010-10-03  Bruno Haible  <bruno@clisp.org>
29418
29419         Info about ACLs on NonStop Kernel.
29420         * doc/acl-resources.txt: Add info about NonStop Kernel.
29421         References by Joachim Schmitz <schmitz@hp.com>.
29422
29423 2010-10-02  Bruno Haible  <bruno@clisp.org>
29424
29425         Define missing EDQUOT on NonStop Kernel.
29426         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29427         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29428         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29429         missing.
29430         * doc/posix-headers/errno.texi: Mention the NSK bug.
29431         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29432         Reported by Joachim Schmitz <schmitz@hp.com>.
29433
29434 2010-10-02  Bruno Haible  <bruno@clisp.org>
29435
29436         Update doc for POSIX:2008.
29437         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29438         Update URL of POSIX specification.
29439
29440 2010-10-02  Bruno Haible  <bruno@clisp.org>
29441
29442         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29443         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29444         from gnulib, not from Automake.
29445
29446 2010-10-02  Bruno Haible  <bruno@clisp.org>
29447
29448         New module 'system-posix'.
29449         * modules/system-posix: New file.
29450         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29451         module is present.
29452         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29453         GNULIB_SYSTEM_POSIX.
29454         * modules/stdlib (Depends-on): Remove sys_wait.
29455         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29456         * doc/posix-functions/system.texi: Mention the new module.
29457         * doc/posix-headers/stdlib.texi: Likewise.
29458         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29459         define test_sys_wait_macros to a no-op.
29460         Reported by Sam Steingold <sds@gnu.org>.
29461
29462 2010-09-30  Bruno Haible  <bruno@clisp.org>
29463
29464         More renaming from 'getdate' to 'get_date'.
29465         * doc/get_date.texi: Renamed from doc/getdate.texi.
29466         * modules/get_date (Files): Update.
29467         * MODULES.html.sh (Date and time <time.h>): Update.
29468         * DEPENDENCIES: Update.
29469         * gnulib-tool: Update comment.
29470         * m4/bison.m4 (gl_BISON): Likewise.
29471         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29472
29473 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29474
29475         bootstrap: support ACLOCAL_FLAGS during aclocal
29476         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29477         can add additional -I dir for third-party .m4 files.
29478
29479 2010-09-30  Eric Blake  <eblake@redhat.com>
29480
29481         bootstrap: use glibtoolize on MacOS
29482         * build-aux/bootstrap (check_versions): Convert libtool into
29483         libtoolize.
29484         (tool search): Move libtool check earlier, and look for
29485         glibtoolize for MacOS.
29486         (gnulib_tool_options): Auto-add --libtool when appropriate.
29487         Reported by Justin Clift.
29488
29489         poll: fix typo that broke test on MacOS
29490         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29491         Reported by Justin Clift.
29492
29493         getdate: rename to get_date
29494         Note: getdate.h is not renamed, to minimize client impact.
29495         * modules/getdate: Mark obsolete.  Move old contents...
29496         * modules/get_date: ...to new module name.
29497         * modules/getdate-tests: Move...
29498         * modules/get_date-tests: ...here.
29499         * m4/getdate.m4: Move...
29500         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29501         * lib/getdate.y: Move...
29502         * lib/get_date.y: ...here.
29503         * tests/test-getdate.c: Move...
29504         * tests/test-get_date.c: ...here.
29505         * doc/posix-functions/getdate.texi (getdate): Update name.
29506         * NEWS: Mention the change.
29507
29508 2010-09-29  Bruno Haible  <bruno@clisp.org>
29509
29510         Separate the module 'waitpid' from the module 'sys_wait'.
29511         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29512         present.
29513         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29514         gl_MODULE_INDICATOR_FOR_TESTS.
29515         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29516         * modules/sys_wait (Depends-on): Remove waitpid.
29517         (Makefile.am): Substitute GNULIB_WAITPID.
29518         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29519         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29520         signature only if the 'waitpid' module is present.
29521         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29522         * NEWS: Mention the change.
29523         * modules/grantpt (Depends-on): Add waitpid.
29524         * modules/wait-process (Depends-on): Likewise.
29525
29526 2010-09-29  Bruno Haible  <bruno@clisp.org>
29527
29528         More tests for module 'sys_wait'.
29529         * modules/sys_wait-c++-tests: New file.
29530         * tests/test-sys_wait-c++.cc: New file.
29531         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29532         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29533
29534 2010-09-29  Bruno Haible  <bruno@clisp.org>
29535
29536         New module 'waitpid'.
29537         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29538         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29539         Don't include <process.h>.
29540         (waitpid): Declare only, using modern idiom.
29541         * m4/waitpid.m4: New file.
29542         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29543         * modules/waitpid: New file.
29544         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29545         (Makefile.am): Update.
29546         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29547
29548 2010-09-28  Bruno Haible  <bruno@clisp.org>
29549
29550         poll: Assume ANSI C.
29551         * lib/poll.c (poll): Use an ANSI C declaration.
29552
29553 2010-09-28  Bruno Haible  <bruno@clisp.org>
29554
29555         poll-h: Create poll.h on all platforms.
29556         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29557         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29558         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29559         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29560         (gl_REPLACE_POLL_H): Don't set POLL_H.
29561         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29562         * modules/poll-h (Depends-on): Add include_next.
29563         (Makefile.am): Create poll.h unconditionally. Substitute also
29564         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29565
29566 2010-09-28  Bruno Haible  <bruno@clisp.org>
29567
29568         Tests for module 'poll-h'.
29569         * modules/poll-h-c++-tests: New file.
29570         * tests/test-poll-h-c++.cc: New file.
29571
29572         Tests for module 'poll-h'.
29573         * modules/poll-h-tests: New file.
29574         * tests/test-poll-h.c: New file.
29575
29576 2010-09-28  Bruno Haible  <bruno@clisp.org>
29577
29578         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29579         * modules/poll-h (Depends-on): Add 'extensions'.
29580
29581 2010-09-28  Bruno Haible  <bruno@clisp.org>
29582
29583         New module 'poll-h'.
29584         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29585         (poll): Use modern idiom.
29586         * modules/poll-h: New file.
29587         * modules/poll (Files): Remove lib/poll.in.h.
29588         (Depends-on): Add poll-h.
29589         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29590         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29591         * m4/poll_h.m4: New file.
29592         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29593         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29594         and invoke gl_REPLACE_POLL_H.
29595         * lib/poll.c: Use common idiom.
29596         * tests/test-poll.c: Likewise.
29597         * doc/posix-headers/poll.texi: Mention the poll-h module.
29598         Suggested by Eric Blake.
29599
29600 2010-09-26  Bruno Haible  <bruno@clisp.org>
29601
29602         sys_wait: Implement WSTOPSIG.
29603         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29604         Reported by Simon Josefsson.
29605
29606 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29607
29608         stdlib, sys_wait: Avoid compilation error on mingw.
29609         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29610
29611 2010-09-26  Bruno Haible  <bruno@clisp.org>
29612
29613         stdlib tests: Avoid code duplication.
29614         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29615         * modules/sys_wait-tests (Files): Likewise.
29616         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29617         * tests/test-stdlib.c: Include test-sys_wait.h.
29618         (main): Invoke test_sys_wait_macros.
29619         * tests/test-sys_wait.c: Include test-sys_wait.h.
29620         (main): Invoke test_sys_wait_macros.
29621
29622 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29623
29624         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29625         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29626         sure Windows sockets are working before calling getaddrinfo.
29627         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29628         * doc/gnulib.texi (Windows sockets): Fix typo.
29629
29630 2010-09-25  Bruno Haible  <bruno@clisp.org>
29631
29632         Tests for module 'regex-quote'.
29633         * modules/regex-quote-tests: New file.
29634         * tests/test-regex-quote.c: New file.
29635
29636         New module 'regex-quote'.
29637         * lib/regex-quote.h: New file.
29638         * lib/regex-quote.c: New file.
29639         * modules/regex-quote: New file.
29640         Suggested by Reuben Thomas <rrt@sc3d.org>.
29641
29642 2010-09-24  Bruno Haible  <bruno@clisp.org>
29643
29644         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29645         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29646
29647 2010-09-23  Bruno Haible  <bruno@clisp.org>
29648
29649         setenv: Relax license.
29650         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29651         Blake.
29652         Requested by Eric Blake.
29653
29654 2010-09-22  Bruno Haible  <bruno@clisp.org>
29655
29656         termios: Relax license.
29657         * modules/termios (License): Change to LGPLv2+.
29658         Requested by Eric Blake.
29659
29660 2010-09-22  Bruno Haible  <bruno@clisp.org>
29661
29662         threadlib: Allow the package to change the default to 'no'.
29663         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29664         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29665         Reported by Paul Eggert.
29666
29667 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29668             Bruno Haible  <bruno@clisp.org>
29669
29670         Fix endless loop in mbmemcasecoll.
29671         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29672         byte.
29673         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29674
29675 2010-09-22  Bruno Haible  <bruno@clisp.org>
29676
29677         Tests for module 'memcoll'.
29678         * modules/memcoll-tests: New file.
29679         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29680
29681         memcoll, xmemcoll: Clarify size vs. length.
29682         * modules/memcoll.c (memcoll0): Clarify specification.
29683         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29684         passed to collate_error.
29685
29686 2010-09-22  Bruno Haible  <bruno@clisp.org>
29687
29688         Tests for module 'memcasecmp'.
29689         * modules/memcasecmp-tests: New file.
29690         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29691
29692 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29693
29694         * lib/pthread.in.h: Add split double-inclusion guard, and include
29695         system <pthread.h> if there is one.  Use @@-style as in other
29696         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29697         pthread.h doesn't.
29698         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29699         (pthread_mutexattr_settype, pthread_mutex_trylock):
29700         New static inline functions, if there's no system <pthread.h>.
29701         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29702         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29703         Approximate with mutexes if the system lacks spinlocks, as in
29704         MacOS.
29705         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29706         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29707         @@-style.  Check for spinlocks separately.
29708         (gl_PTHREAD_DEFAULTS): New macro.
29709         * modules/pthread: Redo to use a more typical style for in.h files.
29710
29711 2010-09-21  Eric Blake  <eblake@redhat.com>
29712
29713         net_if: enhance tests
29714         * tests/test-net_if.c (main): Move signature checks earlier.
29715         Print failures to stderr.
29716         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29717         Document the bug that we do not yet fix.
29718
29719 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29720
29721         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29722         about gnulib, not GSS.
29723
29724 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29725
29726         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29727         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29728         for Emacs.
29729         * build-aux/pmccabe2html: Make Makefile.am example code more
29730         cut-and-paste friendly.
29731
29732 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29733
29734         * tests/test-net_if.c: New file.
29735         * modules/net_if-tests: New file.
29736
29737 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29738
29739         pthread: add pthread_spin_destroy
29740         * lib/pthread.in.h (pthread_spin_destroy): New function.
29741
29742 2010-09-19  Bruno Haible  <bruno@clisp.org>
29743
29744         gnulib-tool: Fix --help output.
29745         * gnulib-tool (func_usage): Fix help message.
29746         Reported by Reuben Thomas <rrt@sc3d.org>.
29747
29748 2010-09-18  Jim Meyering  <meyering@redhat.com>
29749
29750         maint.mk: avoid unexpanded \n in two diagnostics
29751         * top/maint.mk (sc_prohibit_always_true_header_tests):
29752         Don't use a literal \n in a halt=... assignment.  It would not be
29753         expanded, and the two \n bytes would appear in the diagnostic output
29754         rather than the desired newline.  Use halt=$$(printf ... instead.
29755         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29756
29757 2010-09-18  Bruno Haible  <bruno@clisp.org>
29758
29759         netinet_in: Doc tweak.
29760         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29761         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29762
29763 2010-09-18  Jim Meyering  <meyering@redhat.com>
29764
29765         init.sh: correct an outdated comment
29766         * tests/init.sh (create_exe_shims_):  s/function/alias/
29767
29768         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29769         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29770         a file named "*.exe" is removed between the glob expansion and the
29771         processing of that oddly named file.
29772
29773 2010-09-17  Eric Blake  <eblake@redhat.com>
29774
29775         mirbsd: add some more support
29776         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29777         in BSD family.
29778         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29779         devices as OpenBSD.
29780         * m4/host-os.m4 (mirbsd): Add MirBSD.
29781
29782         tests: fix unportable assumption on sys/wait.h
29783         * tests/test-sys_wait.c (main): Relax test.
29784         * tests/test-stdlib.c (main): Likewise.
29785
29786         init.sh: accommodate directory with no .exes
29787         * tests/init.sh: Accomodate directory containing only scripts.
29788
29789         tests: avoid compiler warning
29790         * tests/test-stdlib.c (main): Use the variable.
29791
29792         fdutimens, fdutimensat: update signature, again
29793         * lib/utimens.h (gl_futimens): Delete, and move signature...
29794         (fdutimens): ...here.
29795         (fdutimensat): Rearrange signature.
29796         (lutimensat): Rename variable for clarity.
29797         * lib/fdutimensat.c (fdutimensat): Update signature.
29798         * lib/utimens.c (fdutimens): Likewise.
29799         (gl_futimens): Delete.
29800         (utimens, lutimens): Update callers.
29801         * lib/futimens.c (futimens): Likewise.
29802         * tests/test-fdutimensat.c: Likewise.
29803         * tests/test-utimens.c: Likewise.
29804         * tests/test-futimens.h: Update comment.
29805         * NEWS: Mention this.
29806         Suggested by Paul Eggert.
29807
29808 2010-09-17  Bruno Haible  <bruno@clisp.org>
29809
29810         Take over the maintenance of some older macros from Autoconf.
29811         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29812         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29813         GNU Autoconf.
29814         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29815         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29816
29817 2010-09-17  Eric Blake  <eblake@redhat.com>
29818
29819         fdutimensat: drop atflag validation
29820         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29821         with valid fd, to close a race scenario where futimens is
29822         unsupported and FILE was replaced by a symlink.
29823         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29824         accordingly.
29825         Suggested by Paul Eggert.
29826
29827 2010-09-16  Bruno Haible  <bruno@clisp.org>
29828
29829         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29830         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29831
29832 2010-09-16  Bruno Haible  <bruno@clisp.org>
29833
29834         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29835         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29836         login_tty exists.
29837         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29838
29839 2010-09-16  Bruno Haible  <bruno@clisp.org>
29840
29841         login_tty: Make the replacement code work on BSD systems.
29842         * lib/login_tty.c: Include <sys/ioctl.h>.
29843         (login_tty): Use ioctl TIOCSCTTY when available.
29844         * modules/login_tty (Depends-on): Add sys_ioctl.
29845         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29846
29847 2010-09-16  Bruno Haible  <bruno@clisp.org>
29848
29849         login_tty: Stricter unit test.
29850         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29851         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29852         and tcgetsid() after login_tty.
29853         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29854
29855 2010-09-16  Bruno Haible  <bruno@clisp.org>
29856
29857         New module 'tcgetsid'.
29858         * lib/tcgetsid.c: New file.
29859         * m4/tcgetsid.m4: New file.
29860         * modules/tcgetsid: New file.
29861         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29862         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29863         GNULIB_TCGETSID, HAVE_TCGETSID.
29864         * lib/termios.in.h: Include <sys/types.h>.
29865         (tcgetsid): New declaration.
29866         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29867         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29868         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29869         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29870
29871 2010-09-16  Bruno Haible  <bruno@clisp.org>
29872
29873         Tests for module 'termios'.
29874         * modules/termios-c++-tests: New file.
29875         * modules/termios-tests: New file.
29876         * tests/test-termios-c++.cc: New file.
29877         * tests/test-termios.c: New file.
29878
29879         New module 'termios'.
29880         * modules/termios: New file.
29881         * lib/termios.in.h: New file.
29882         * m4/termios_h.m4: New file.
29883         * doc/posix-headers/termios.texi: Mention the new module.
29884
29885 2010-09-16  Eric Blake  <eblake@redhat.com>
29886
29887         fdutimensat: add an atflag parameter
29888         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29889         * lib/utimens.h (fdutimensat): Update prototype.
29890         * tests/test-fdutimensat.c: Adjust test to match.
29891         * NEWS: Document the change.
29892         Suggested by Paul Eggert.
29893
29894 2010-09-16  Bruno Haible  <bruno@clisp.org>
29895
29896         Fix typos in comments.
29897         * lib/striconveh.h: Fix typo in comment.
29898         * lib/login_tty.c (login_tty): Likewise.
29899
29900 2010-09-15  Bruno Haible  <bruno@clisp.org>
29901
29902         stdlib: clarify MirBSD WEXITSTATUS bug
29903         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29904         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29905
29906 2010-09-15  Eric Blake  <eblake@redhat.com>
29907
29908         stdlib: work around MirBSD WEXITSTATUS bug
29909         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29910         * modules/stdlib (Depends-on): Add sys_wait.
29911         * tests/test-sys_wait.c (main): Enhance test.
29912         * tests/test-stdlib.c (main): Likewise.
29913         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29914
29915         docs: mention MacOS issue with WEXITSTATUS(constant)
29916         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29917         issue.
29918         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29919
29920         strnlen: add tests
29921         * modules/strnlen-tests: New file.
29922         * tests/test-strnlen.c: Likewise.
29923
29924 2010-09-14  Bruno Haible  <bruno@clisp.org>
29925
29926         unistr/base: Avoid link errors when module 'libunistring' is also used.
29927         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29928         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29929         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29930         Declare also when HAVE_LIBUNISTRING is set.
29931         Reported by Pádraig Brady <P@draigbrady.com>.
29932
29933 2010-09-14  Eric Blake  <eblake@redhat.com>
29934
29935         test-rawmemchr: make more robust
29936         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29937         (Depends-on, configure.ac): Add needed prerequisites to use it.
29938         * modules/memchr-tests (Files, Depends-on, configure.ac):
29939         Likewise, to avoid implicit reliance on memchr module prereqs.
29940         * tests/test-memchr.c (main): Ensure proper masking.
29941         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29942         reads.
29943
29944         memchr: detect glibc Alpha bug
29945         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29946         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29947         Alpha.
29948         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29949         * tests/test-memchr.c (main): Enhance test.
29950         Reported by Nelson H. F. Beebe.
29951
29952 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29953
29954         fts, getcwd, glob: audit for dirfd returning -1
29955         * lib/fts.c (opendir): Remove #define; no longer used.
29956         (opendirat): New arg PDIR_FD.  All callers changed.
29957         (fts_build, _opendir2): Use new opendirat to avoid the need for
29958         dirfd, or for checking whether dirfd returns a negative value.
29959         Don't use opendir; always use openat followed by fdopendir.
29960         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29961         it.
29962         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29963         returns -1 here.
29964         * modules/fts (Depends-on): Remove dirfd.
29965         * modules/getcwd (Depends-on): Likewise.
29966
29967 2010-09-13  Eric Blake  <eblake@redhat.com>
29968
29969         float: fix broken MirBSD header
29970         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29971         * doc/posix-headers/float.texi (float.h): Document it.
29972
29973 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29974
29975         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29976         * lib/fts.c (opendirat): New arg extra_flags.
29977         (__opendir2): Use it to avoid following symlinks when opening
29978         a directory, if symlinks are not supposed to be followed.  See
29979         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29980
29981         fdopendir: preserve argument fd before returning
29982         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29983         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29984         (fdopendir): Use them, arranging for FD to be open to the same
29985         directory that it was when it started.  (It might be temporarily
29986         closed while fdopendir is running, so this not thread- or
29987         signal-safe.)  Be careful to do the right thing even when file
29988         descriptors are scarce and dup fails with errno == EMFILE.  See
29989         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29990
29991 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29992
29993         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29994         * NEWS: Document change.
29995         * m4/regex.m4: Disable test for regoff_t size.
29996
29997 2010-09-13  Jim Meyering  <meyering@redhat.com>
29998
29999         fts: don't operate on an invalid file descriptor after failed dup
30000         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30001         negative file descriptor.
30002
30003 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30004
30005         savedir: add streamsavedir, deprecate fdsavedir
30006         * NEWS: Mention deprecation of fdsavedir.
30007         * lib/savedir.c (streamsavedir): New extern function, whose name
30008         ends in "savedir" to be consistent with the others.  This differs
30009         from savedirstream in that it doesn't close its argument.  The
30010         next version of GNU tar will use this instead of fdsavedir, to
30011         avoid some race conditions and conserve file descriptors.
30012         (savedirstream): Reimplement as a wrapper around streamsavedir.
30013         (fdsavedir): Add a comment deprecating this function.  As far as
30014         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30015         * lib/savedir.h (streamsavedir): New decl.
30016         (fdsavedir): Add a comment deprecating this.
30017
30018 2010-09-10  Bruno Haible  <bruno@clisp.org>
30019
30020         langinfo: Fix last commit.
30021         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30022         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30023         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30024
30025 2010-09-10  Bruno Haible  <bruno@clisp.org>
30026
30027         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30028         * lib/progreloc.c (O_EXEC): Define fallback.
30029
30030 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30031
30032         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30033         * NEWS: Document recent changes to fcntl-h.
30034         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30035         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30036         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30037         Similarly for O_SEARCH; this last was already true, but not documented.
30038         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30039         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30040         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30041         Likewise.
30042         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30043         is zero, not whether it is defined.
30044         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30045         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30046         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30047
30048 2010-09-10  Bruno Haible  <bruno@clisp.org>
30049
30050         langinfo, nl_langinfo: Fix for IRIX 5.3.
30051         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30052         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30053         HAVE_LANGINFO_YESEXPR.
30054         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30055         HAVE_LANGINFO_YESEXPR.
30056         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30057         HAVE_LANGINFO_T_FMT_AMPM is 0.
30058         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30059         HAVE_LANGINFO_YESEXPR is 0.
30060         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30061         NOEXPR.
30062         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30063         * doc/posix-functions/nl_langinfo.texi: Likewise.
30064         Reported by Eric Blake.
30065
30066 2010-09-10  Bruno Haible  <bruno@clisp.org>
30067
30068         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30069         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30070         on FreeBSD 8.0 and OpenBSD 4.6.
30071         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30072         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30073         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30074         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30075         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30076         ac_includes_default.
30077         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30078
30079 2010-09-09  Eric Blake  <eblake@redhat.com>
30080
30081         strsignal: work around NetBSD bug
30082         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30083         * lib/string.in.h (includes): Likewise.
30084         * doc/posix-functions/strsignal.texi (strsignal): Document the
30085         bug.
30086         Reported by Nelson H. F. Beebe.
30087
30088         gnulib-tool: work with NetBSD /bin/sh
30089         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30090         (func_get_description, func_get_comment, func_get_status)
30091         (func_get_notice, func_get_applicability, func_get_filelist)
30092         (func_get_dependencies, func_get_autoconf_early_snippet)
30093         (func_get_autoconf_snippet, func_get_automake_snippet)
30094         (func_get_include_directive, func_get_link_directive)
30095         (func_get_license, func_get_maintainer, func_import): Avoid
30096         shell syntax errors from parsing syntax extensions.
30097
30098 2010-09-09  Bruno Haible  <bruno@clisp.org>
30099
30100         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30101         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30102         a reliable way to determine whether the 'alias' command works.
30103
30104 2010-09-08  Jim Meyering  <meyering@redhat.com>
30105
30106         init.sh: penalize a set-x-impaired shell; don't disqualify it
30107         * tests/init.sh: Too many shells corrupt application stderr when
30108         you set -x, so we can't afford to disqualify them, since at least
30109         on Irix-6.5, that would disqualify all bourne shells.
30110         Instead, use a two-pass approach.
30111         On the first pass, try to find a shell that meets the stricter
30112         condition that set -x does not corrupt stderr.
30113         If no shell meets the stricter condition, retest each candidate
30114         shell, but without that extra condition.  Finally, when
30115         VERBOSE=yes is requested and set -x might cause trouble, simply
30116         issue a warning and refrain from enabling debug output.
30117
30118 2010-09-08  Eric Blake  <eblake@redhat.com>
30119
30120         unsetenv: fix OpenBSD bug
30121         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30122         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30123         documentation.
30124         Reported by Jim Meyering.
30125
30126         strtod: work around IRIX 6.5 bug
30127         * lib/strtod.c (strtod): Reparse number on shorter string if
30128         exponent parse was invalid.
30129         * tests/test-strtod.c (main): Add check for "0x1p 2".
30130         Reported by Tom G. Christensen.
30131
30132         getopt: optimize previous patch
30133         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30134         empty variable.  Speed up awk script.
30135         Reported by Paolo Bonzini.
30136
30137 2010-09-08  Jim Meyering  <meyering@redhat.com>
30138
30139         test.sh: disqualify shells for which set -x corrupts stderr
30140         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30141         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30142         appear in stderr output.  For example, this command:
30143             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30144         prints "P=1" on those two systems:
30145
30146 2010-09-08  Bruno Haible  <bruno@clisp.org>
30147
30148         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30149         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30150         commands, because some shells ignore redirections when there is an
30151         error in the command lookup.
30152         Reported by Eric Blake.
30153
30154 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30155
30156         * lib/regex.h: Fix a mention of `regex_compile' (should be
30157         `re_compile_pattern').
30158         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30159         (re_set_registers): Correct name of parameter in comment.
30160
30161         * doc/regex.texi: Add documentation for missing syntax flags.
30162         Remove commented-out documentation of defunct syntax option
30163         RE_NO_EMPTY_ALTS.
30164         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30165         Add documentation of re_set_registers.
30166         Document trick to re-use a pattern buffer by setting fastmap manually.
30167         Update documentation of struct re_pattern_buffer per public members.
30168         Uncomment documentation of equivalence class operators and
30169         collating symbol operators, since they are now implemented,
30170         Explain leftmost-longest matching in relation to alternatives.
30171         Tidy documentation of substring matching.
30172         Remove POSIX documentation, which is done better in
30173         glibc, and refer the reader there. Keep BSD API documentation, as
30174         that is not readily available elsewhere.
30175
30176 2010-09-07  Eric Blake  <eblake@redhat.com>
30177
30178         getopt: handle POSIXLY_CORRECT set but not exported
30179         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30180         export state of POSIXLY_CORRECT, due to bash set -o posix.
30181         Reported by Dustin J. Mitchell.
30182
30183 2010-09-05  Bruno Haible  <bruno@clisp.org>
30184
30185         gnulib-tool: Highlight the changed options.
30186         * gnulib-tool (func_usage): Display the --import, --add-import,
30187         --remove-import explanations in bold font.
30188
30189 2010-09-06  Karl Berry  <karl@gnu.org>
30190
30191         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30192
30193 2010-09-05  Bruno Haible  <bruno@clisp.org>
30194
30195         uniwidth/width: Update comment.
30196         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30197         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30198
30199 2010-09-05  Bruno Haible  <bruno@clisp.org>
30200
30201         isinf, isnan: Relax license.
30202         * modules/isinf (License): Change from GPL to LGPL, with consent from
30203         Ben Pfaff.
30204         * modules/isnan (License): Likewise.
30205         Requested by Ludovic Courtès.
30206
30207 2010-09-04  Bruno Haible  <bruno@clisp.org>
30208
30209         gnulib-tool: Help migration from --import to --add-import or --update.
30210         * gnulib-tool: Emit a verbose error message when --import is used
30211         without any module name.
30212
30213 2010-09-04  Bruno Haible  <bruno@clisp.org>
30214
30215         Update doc about gnulib-tool.
30216         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30217         'gnulib-tool --update' in more detail.
30218         Reported by Eric Blake.
30219
30220 2010-09-04  Bruno Haible  <bruno@clisp.org>
30221
30222         gnulib-tool: Change --import. New options --add/remove-import.
30223         * gnulib-tool: New options --add-import, --remove-import.
30224         (func_usage): Document them.
30225         (have_associative): Define always.
30226         (func_import): In import mode, don't merge the specified settings with
30227         the cached settings. Implement remove-import mode.
30228         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30229         Explain when to use them versus --import.
30230         (Simple update): Use --add-import instead of --import.
30231         * NEWS: Mention the change.
30232
30233 2010-09-04  Bruno Haible  <bruno@clisp.org>
30234
30235         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30236         separate gnulib.mk.
30237
30238 2010-09-04  Bruno Haible  <bruno@clisp.org>
30239
30240         gnulib-tool: Don't talk about CVS any more.
30241         * gnulib-tool (func_usage, func_import): Write "version control"
30242         instead of CVS.
30243
30244 2010-09-04  Jim Meyering  <meyering@redhat.com>
30245
30246         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30247         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30248         false positives (whose names may be ill-chosen) when searching
30249         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30250         would cause a false-positive.
30251
30252         avoid coreutils "make distcheck" failure
30253         Coreutils tests with an absolute build directory name that contains
30254         a space.  Not quoting this directory name caused a failure.
30255         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30256         * tests/test-vc-list-files-cvs.sh: Likewise.
30257
30258 2010-09-04  Bruno Haible  <bruno@clisp.org>
30259
30260         gnulib-tool: Avoid error when run in a package without Makefile.am.
30261         * gnulib-tool: When collecting the m4dirs in a package that does not
30262         have a Makefile.am, eliminate those directories that contain no
30263         gnulib-cache.m4. Fix expression that counts these directories.
30264
30265 2010-09-04  Bruno Haible  <bruno@clisp.org>
30266
30267         update-copyright test: Improve output when perl is missing or too old.
30268         * tests/test-update-copyright.sh: Move test of Perl version down after
30269         the test whether Perl exists. Provide an explanation relating Perl's
30270         error message to Automake's SKIP: message.
30271
30272 2010-09-04  Bruno Haible  <bruno@clisp.org>
30273
30274         Don't augment PATH in TESTS_ENVIRONMENT.
30275         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30276         set abs_aux_dir instead of augmenting PATH.
30277         * modules/vc-list-files-tests (Makefile.am): Likewise.
30278         * tests/test-update-copyright.sh: Augment PATH here.
30279         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30280         path_prepend_.
30281         * tests/test-vc-list-files-git.sh: Likewise.
30282
30283 2010-09-04  Jim Meyering  <meyering@redhat.com>
30284
30285         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30286         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30287
30288 2010-09-04  Bruno Haible  <bruno@clisp.org>
30289
30290         strdup: Fix compilation error in C++ mode.
30291         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30292         the macro.
30293
30294 2010-09-04  Bruno Haible  <bruno@clisp.org>
30295
30296         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30297         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30298         macro into a function.
30299         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30300
30301 2010-09-04  Bruno Haible  <bruno@clisp.org>
30302
30303         Set PATH_SEPARATOR the same way autoconf does.
30304         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30305         the value of PATH_SEPARATOR the same way autoconf-generated configure
30306         scripts do.
30307         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30308         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30309
30310 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30311
30312         Set PATH_SEPARATOR the same way autoconf does.
30313         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30314         the same way autoconf-generated configure scripts do.
30315         * posix-modules: Likewise.
30316
30317 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30318
30319         hash: fix safe_hasher const typo
30320         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30321         const; otherwise, there is a type error later.
30322
30323 2010-09-02  Jim Meyering  <meyering@redhat.com>
30324
30325         test-update-copyright.sh: require perl 5.8.0
30326         * tests/test-update-copyright.sh: Require 5.8.0,
30327         which Tom G. Christensen has confirmed is adequate,
30328         while 5.6.1 is not.
30329
30330 2010-09-02  Eric Blake  <eblake@redhat.com>
30331
30332         tests: init.sh improvements for re-exec'ing with zsh
30333         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30334         -vx through shell re-exec.
30335         Reported by Tom G. Christensen.
30336
30337         wctype: fix typo in previous commit
30338         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30339         Reported by Ludovic Courtès.
30340
30341 2010-09-02  Jim Meyering  <meyering@redhat.com>
30342
30343         test-update-copyright.sh: skip test if Perl is too old
30344         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30345         Reported by Tom G. Christensen.
30346
30347 2010-09-02  Bruno Haible  <bruno@clisp.org>
30348
30349         wctype: Avoid compilation error on IRIX 6.5.30.
30350         * lib/wctype.in.h (iswblank): Declare with a replacement if
30351         REPLACE_ISWBLANK is set.
30352         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30353         declared. Set REPLACE_ISWBLANK.
30354         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30355         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30356         * doc/posix-headers/wctype.texi: Likewise.
30357         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30358
30359 2010-09-01  Bruno Haible  <bruno@clisp.org>
30360
30361         New module 'socketlib'.
30362         * modules/socketlib: New file.
30363         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30364         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30365         * modules/sockets (Depends-on): Add socketlib.
30366         Suggested by Sam Steingold <sds@gnu.org>.
30367
30368 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30369
30370         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30371
30372         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30373         when one needs search access to a directory but not read access.
30374         On systems where it is available, it works in some cases where
30375         O_RDONLY does not, namely on directories that are searchable but
30376         not readable, and which need only to be searchable.  If O_SEARCH
30377         is not available, fall back to the traditional method of using
30378         O_RDONLY.
30379
30380         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30381         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30382         when opening a directory that needs only to be searchable.
30383         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30384         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30385         * lib/openat-proc.c (openat_proc_name): Likewise.
30386         * lib/openat.c (openat_needs_fchdir): Likewise.
30387         * lib/save-cwd.c (save_cwd): Likewise.
30388         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30389
30390 2010-08-28  Bruno Haible  <bruno@clisp.org>
30391
30392         New module 'host-cpu-c-abi'.
30393         * modules/host-cpu-c-abi: New file.
30394         * m4/host-cpu-c-abi.m4: New file, based on part of
30395         clisp/src/m4/general.m4.
30396         Requested by Sam Steingold <sds@gnu.org>.
30397
30398 2010-08-31  Eric Blake  <eblake@redhat.com>
30399         and Jim Meyering  <meyering@redhat.com>
30400
30401         hash: factor, and guard against misbehaving hasher function
30402         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30403         of table->hasher's return value.  Also protect against a hash value
30404         so large that adding it to table->bucket results in a NULL pointer.
30405         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30406         Use it in place of open-coded check-and-abort.
30407
30408 2010-08-30  Bruno Haible  <bruno@clisp.org>
30409
30410         hash: silence spurious clang warning
30411         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30412         Reported by Eric Blake.
30413
30414 2010-08-30  Eric Blake  <eblake@redhat.com>
30415
30416         strstr, memmem, strcasestr: avoid leaked shell message
30417         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30418         FreeBSD.
30419         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30420         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30421
30422         tests: silence clang warning
30423         * tests/test-malloca.c (do_allocation): Avoid dead store.
30424
30425 2010-08-29  Bruno Haible  <bruno@clisp.org>
30426
30427         gettext: Fix recent mistake.
30428         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30429
30430 2010-08-29  Bruno Haible  <bruno@clisp.org>
30431
30432         selinux-h: Offer a --without-selinux option.
30433         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30434         --without-selinux was specified, skip all tests and define
30435         HAVE_SELINUX_SELINUX_H to 0.
30436         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30437         set LIB_SELINUX to empty.
30438         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30439         gl_LIBSELINUX. If --without-selinux was specified, replace
30440         selinux/context.h.
30441         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30442
30443 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30444             Bruno Haible  <bruno@clisp.org>
30445
30446         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30447         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30448         of HAVE_REALLOC.
30449         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30450         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30451         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30452         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30453
30454 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30455             Bruno Haible  <bruno@clisp.org>
30456
30457         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30458         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30459         HAVE_CALLOC.
30460         * lib/xmalloc.c: Update accordingly.
30461         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30462         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30463         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30464
30465 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30466             Bruno Haible  <bruno@clisp.org>
30467
30468         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30469         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30470         HAVE_MALLOC.
30471         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30472         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30473         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30474
30475 2010-08-29  Bruno Haible  <bruno@clisp.org>
30476
30477         Update modules list.
30478         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30479         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30480         (String handling <string.h>): Add astrxfrm.
30481         (File system functions): Add readlinkat.
30482
30483 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30484
30485         Tests for module 'realloc-gnu'.
30486         * modules/realloc-gnu-tests: New file.
30487         * tests/test-realloc-gnu.c: New file.
30488
30489         Tests for module 'calloc-gnu'.
30490         * modules/calloc-gnu-tests: New file.
30491         * tests/test-calloc-gnu.c: New file.
30492
30493         Tests for module 'malloc-gnu'.
30494         * modules/malloc-gnu-tests: New file.
30495         * tests/test-malloc-gnu.c: New file.
30496
30497 2010-08-28  Bruno Haible  <bruno@clisp.org>
30498
30499         Rename module 'realloc' -> 'realloc-gnu'.
30500         * modules/realloc-gnu: New file, copied from modules/realloc.
30501         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30502         obsolete.
30503         * modules/mgetgroups (Depends-on): Update.
30504         * doc/posix-functions/realloc.texi: Update.
30505         * NEWS: Mention the change.
30506
30507         Rename module 'calloc' -> 'calloc-gnu'.
30508         * modules/calloc-gnu: New file, copied from modules/calloc.
30509         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30510         obsolete.
30511         * doc/posix-functions/calloc.texi: Update.
30512         * NEWS: Mention the change.
30513
30514         Rename module 'malloc' -> 'malloc-gnu'.
30515         * modules/malloc-gnu: New file, copied from modules/malloc.
30516         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30517         obsolete.
30518         * modules/argp (Depends-on): Update.
30519         * modules/regex (Depends-on): Update.
30520         * doc/posix-functions/malloc.texi: Update.
30521         * NEWS: Mention the change.
30522
30523 2010-08-28  Eric Blake  <eblake@redhat.com>
30524
30525         pread, pwrite: add missing dependency
30526         * modules/pread (Depends-on): Add extensions.
30527         * modules/pwrite (Depends-on): Likewise.
30528
30529 2010-08-28  Bruno Haible  <bruno@clisp.org>
30530
30531         unistr/u*-strchr: Fix tests dependencies.
30532         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30533         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30534         Reported by Ian Beckwith <ianb@erislabs.net>.
30535
30536 2010-08-28  Bruno Haible  <bruno@clisp.org>
30537
30538         read-file: Don't occupy too much unused memory.
30539         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30540
30541 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30542             Eric Blake  <eblake@redhat.com>
30543             Bruno Haible  <bruno@clisp.org>
30544
30545         read-file: Avoid memory reallocations with regular files.
30546         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30547         (fread_file): With regular files, use the remaining length as the
30548         initial buffer size.  Check against overflow.
30549         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30550         sys_stat.
30551
30552 2010-08-28  Bruno Haible  <bruno@clisp.org>
30553
30554         ftello: Relax license.
30555         * modules/ftello (License): Relax to LGPLv2+.
30556         Reported by Eric Blake.
30557
30558 2010-08-28  Bruno Haible  <bruno@clisp.org>
30559
30560         Avoid relocwrapper link errors due to gnulib replacement functions.
30561         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30562         function.
30563         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30564
30565 2010-08-28  Bruno Haible  <bruno@clisp.org>
30566
30567         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30568         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30569         defined.
30570         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30571         Suggested by Eric Blake.
30572
30573 2010-08-28  Bruno Haible  <bruno@clisp.org>
30574
30575         sys_socket, netdb: Ensure socklen_t gets defined.
30576         * modules/sys_socket (Depends-on): Add socklen.
30577         * modules/netdb (Depends-on): Likewise.
30578         * modules/getaddrinfo (Depends-on): Remove socklen.
30579         * modules/getsockopt (Depends-on): Likewise.
30580         * modules/setsockopt (Depends-on): Likewise.
30581         * tests/test-sys_socket.c: Check that socklen_t is defined.
30582         * tests/test-netdb.c: Likewise.
30583         * m4/socklen.m4: Update comments.
30584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30585
30586 2010-08-27  Eric Blake  <eblake@redhat.com>
30587
30588         login_tty: add missing dependency
30589         * modules/login_tty (Depends-on): Add pty.
30590
30591 2010-08-26  Eric Blake  <eblake@redhat.com>
30592
30593         lib-symbol-versions: fix m4 quoting
30594         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30595         format for AC_LINK_IFELSE.
30596
30597         glob: fix compile test
30598         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30599
30600         btowc: fix missing file
30601         * modules/btowc (Files): Also ship locale-fr.m4.
30602
30603         lseek: fix link test
30604         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30605         AC_LINK_IFELSE.
30606
30607         include_next: silence autoconf 2.68 warning
30608         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30609         AC_COMPILE_IFELSE as special.
30610         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30611         autoconf < 2.68.
30612
30613         acl: fix compilation test
30614         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30615         AC_COMPILE_IFELSE.
30616
30617 2010-08-26  Bruno Haible  <bruno@clisp.org>
30618
30619         Modernize AC_TRY_RUN invocations.
30620         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30621         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30622         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30623         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30624         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30625         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30626         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30627         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30628         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30629         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30630         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30631         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30632         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30633         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30634         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30635         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30636         gl_MBRLEN_NUL_RETVAL): Likewise.
30637         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30638         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30639         Likewise.
30640         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30641         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30642         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30643         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30644         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30645         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30646         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30647         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30648         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30649         Likewise.
30650         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30651         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30652         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30653         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30654         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30655         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30656         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30657         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30658         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30659         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30660
30661 2010-08-26  Bruno Haible  <bruno@clisp.org>
30662
30663         Modernize AC_TRY_LINK invocations.
30664         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30665         AC_TRY_LINK.
30666         * m4/argp.m4 (gl_ARGP): Likewise.
30667         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30668         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30669         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30670         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30671         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30672         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30673         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30674         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30675         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30676         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30677         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30678         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30679         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30680         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30681         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30682         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30683         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30684         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30685         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30686         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30687         Likewise.
30688         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30689         Likewise.
30690         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30691         Likewise.
30692         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30693         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30694         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30695         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30696         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30697         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30698         * m4/servent.m4 (gl_SERVENT): Likewise.
30699         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30700         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30701         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30702         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30703         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30704         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30705         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30706         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30707         * modules/tsearch-tests (configure.ac): Likewise.
30708
30709 2010-08-26  Bruno Haible  <bruno@clisp.org>
30710
30711         Modernize AC_TRY_COMPILE invocations.
30712         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30713         AC_TRY_COMPILE.
30714         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30715         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30716         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30717         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30718         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30719         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30720         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30721         * m4/lock.m4 (gl_LOCK): Likewise.
30722         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30723         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30724         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30725         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30726         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30727         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30728         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30729         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30730         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30731         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30732         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30733         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30734         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30735         extraneous semicolon.
30736
30737 2010-08-26  Jim Meyering  <meyering@redhat.com>
30738
30739         stat-time: relax license LGPL
30740         * modules/stat-time (License): Change from GPL to LGPL,
30741         with consent from all contributors, for use in libguile.
30742         Requested by Ludovic Courtès.
30743
30744 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30745
30746         poll: return immediately on POLLHUP.
30747         * lib/poll.c (poll): Always set timeout before wait_timeout is
30748         computed.
30749
30750 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30751
30752         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30753         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30754         rmdir ("dir/.//"), unlinkat.
30755
30756 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30757
30758         stdbool: avoid spurious failure with modern xlc
30759         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30760
30761 2010-08-24  Bruno Haible  <bruno@clisp.org>
30762
30763         getloadavg: simplify code
30764         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30765         gl_have_func. Update comments.
30766
30767 2010-08-24  Eric Blake  <eblake@redhat.com>
30768
30769         getloadavg: don't define SVR4 on cygwin
30770         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30771         only define SVR4 when -lkvm is required.
30772         Reported by Yaakov Selkowitz.
30773
30774 2010-08-24  Bruno Haible  <bruno@clisp.org>
30775
30776         priv-set: fix comment
30777         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30778
30779 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30780
30781         priv-set: fix comments
30782         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30783         to match code, as suggested by David Bartley in:
30784         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30785
30786 2010-08-23  Eric Blake  <eblake@redhat.com>
30787
30788         stdbool: avoid rejecting clang
30789         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30790         * tests/test-stdbool.c: Enable more tests if using the system
30791         <stdbool.h> instead of the gnulib replacement.
30792         (main): Move xlc bug test to a runtime test for all compilers.
30793         Reported by Anders Kaseorg.
30794
30795         argz: fix shell quoting issue
30796         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30797         Reported by Charles Wilson.
30798
30799 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30800             Erik Faye-Lund <kusmabite@gmail.com>
30801
30802         poll, select: handle ERROR_BROKEN_PIPE.
30803         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30804         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30805         * lib/select.c (win32_compute_revents): Do not mark a pipe
30806         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30807
30808 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30809
30810         fts: allow compilation with C++
30811         * lib/fts_.h: Specify extern "C" linkage with C++.
30812
30813 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30814
30815         Fix gnulib-tool sed script de-commentation for AIX sed.
30816         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30817         sed.
30818
30819 2010-08-17  Eric Blake  <eblake@redhat.com>
30820
30821         test-stddef: test for (some) offsetof bugs
30822         * tests/test-stddef.c: Enhance test to ensure correct type of
30823         offsetof.
30824         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30825         that we are not fixing at this time.
30826
30827 2010-08-15  Bruno Haible  <bruno@clisp.org>
30828
30829         stpncpy: Allow stpncpy to be defined as a macro.
30830         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30831         if it's already correctly declared.
30832         * lib/string.in.h (stpncpy): Undefine before redefining.
30833         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30834
30835 2010-08-14  Bruno Haible  <bruno@clisp.org>
30836
30837         Rename module 'memxfrm' to 'amemxfrm'.
30838         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30839         (amemxfrm): Renamed from memxfrm.
30840         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30841         (amemxfrm): Renamed from memxfrm.
30842         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30843         * NEWS: Mention the change.
30844         * MODULES.html.sh (String handling <string.h>): Update.
30845         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30846         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30847         * lib/unicase/u16-casexfrm.c: Likewise.
30848         * lib/unicase/u32-casexfrm.c: Likewise.
30849         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30850         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30851         * lib/uninorm/u16-normxfrm.c: Likewise.
30852         * lib/uninorm/u32-normxfrm.c: Likewise.
30853         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30854         memxfrm.
30855         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30856         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30857         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30858         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30859         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30860         Suggested by Paul Eggert.
30861
30862 2010-08-14  Bruno Haible  <bruno@clisp.org>
30863
30864         Tests for module 'astrxfrm'.
30865         * modules/astrxfrm-tests: New file.
30866         * tests/test-astrxfrm.c: New file.
30867
30868         New module 'astrxfrm'.
30869         * lib/astrxfrm.h: New file.
30870         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30871         * modules/astrxfrm: New file.
30872
30873 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30874
30875         regex: Tweak doc.
30876         * doc/regex.texi (Overview): Don't mention regex.c.
30877         (GNU Regular Expression Compiling): Likewise.
30878         (Match-end-of-line Operator): Mention 'not_eol'.
30879
30880 2010-08-14  Brian Gough  <bjg@gnu.org>
30881             Bruno Haible  <bruno@clisp.org>
30882
30883         git-merge-changelog: add doc relating to use with bzr and hg.
30884         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30885
30886 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30887
30888         pthread: fix pthread.h creation for srcdir != builddir
30889         * modules/pthread (Makefile.am): Fix the rule to work also in a
30890         non-srcdir build.
30891
30892 2010-08-13  Karl Berry  <karl@gnu.org>
30893
30894         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30895         * doc/posix-*/*: force line break before @url of POSIX
30896         specifications.
30897         Suggested by Werner Lemberg.
30898
30899 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30900
30901         strtod: fix const diagnostic
30902         * lib/strtod.c (strtod): Don't assign const char * to char *,
30903         as this elicits a warning from GCC when warnings are enabled.
30904
30905 2010-08-10  Pádraig Brady <P@draigbrady.com>
30906         and Eric Blake  <eblake@redhat.com>
30907
30908         copy-acl: ignore ENOTSUP on HP-UX
30909         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30910         so that it is available for HP-UX.
30911         * lib/copy-acl.c (qcopy_acl): Use it.
30912         Reported by Patrick M. Callahan.
30913
30914 2010-08-10  Eric Blake  <eblake@redhat.com>
30915
30916         open, chown: relax license
30917         * modules/open (License): Change to LGPLv2+, with consent by all
30918         authors, for use in augeas.
30919         * modules/chown (License): Likewise.
30920         * modules/lchown (Likewise): Likewise.
30921         Requested by Adam Stokes.
30922
30923 2010-08-09  Karl Berry  <karl@gnu.org>
30924
30925         * build-aux/ar-lib: new file, import from Automake.
30926         * config/srclist.txt: autocheck for updates.
30927
30928 2010-08-09  Eric Blake  <eblake@redhat.com>
30929
30930         readlinkat: adjust client modules
30931         * modules/areadlinkat (Depends-on): Use readlinkat, not
30932         symlinkat.
30933         * modules/areadlinkat-with-size (Depends-on): Likewise.
30934
30935         mknod: be more vocal about danger of running tests as root
30936         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30937         root, since that is just asking for problems.
30938         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30939
30940         readlinkat: split into its own module
30941         * modules/symlinkat: Split readlinkat...
30942         * modules/readlinkat: ...into separate module.
30943         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30944         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30945         * lib/symlinkat.c (readlinkat): Move...
30946         * lib/readlinkat.c: ...into new file.
30947         * modules/symlinkat-tests: Split readlinkat test...
30948         * modules/readlinkat-tests: ...into separate module.
30949         * tests/test-symlinkat.c: Split...
30950         * tests/test-readlinkat.c: ...into new file.
30951         * NEWS: Document the split.
30952         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30953         * lib/unistd.in.h (readlinkat): Likewise.
30954         Suggested by Bruno Haible.
30955
30956 2010-08-08  Bruno Haible  <bruno@clisp.org>
30957
30958         memxfrm: Speed up.
30959         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30960         that usually only one call to strxfrm is necessary for each string
30961         part.
30962         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30963
30964 2010-08-07  Karl Berry  <karl@gnu.org>
30965
30966         * doc/posix-headers/limits.texi,
30967         * doc/posix-functions/malloc.texi,
30968         * doc/posix-functions/strsignal.texi: missing @item.
30969         * doc/ld-version-script.texi: spurious leading i.
30970         * doc/regex.texi (Interval Operators): no commas inside @var.
30971
30972 2010-08-01  Bruno Haible  <bruno@clisp.org>
30973
30974         Integrate the regex documentation.
30975         * doc/gnulib.texi: Define 'cn' index.
30976         (Regular expressions): New a chapter that includes regex.texi and
30977         regexprops-generic.texi.
30978         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30979         syntax.
30980
30981         Whitespace cleanup.
30982         * doc/regex.texi: Remove trailing spaces.
30983
30984         Add regex documentation.
30985         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30986         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30987         Written by Kathy A. Hargreaves and Karl Berry.
30988
30989 2010-08-01  Bruno Haible  <bruno@clisp.org>
30990
30991         link: Update documentation.
30992         * doc/posix-functions/link.texi: Update regarding Solaris.
30993
30994 2010-07-31  Bruno Haible  <bruno@clisp.org>
30995
30996         Update modules list.
30997         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30998         (String handling <string.h>): Add memcmp2, memxfrm.
30999         (Container data structures): Add xlist, xsublist, xoset.
31000         (Core language properties): Add alignof, unused-parameter.
31001         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31002         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31003         (Unibyte characters <ctype.h>): New section.
31004         (String handling <string.h>): New section.
31005         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31006         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31007         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31008         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31009         tan, tanh, tanl, y0, y1, yn.
31010         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31011         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31012         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31013         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31014         unlockpt, vdprintf, vdprintf-posix.
31015         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31016         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31017         xconcat-filename.
31018         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31019         getdtablesize, pipe2, pipe2-safer.
31020         (Security): New section.
31021         (Networking functions): Add accept4.
31022         (Signal handling): Add sigpipe.
31023         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31024         mbmemcasecoll.
31025         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31026         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31027         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31028         pipe-filter-ii.
31029         (Misc): Add argp-version-etc, login_tty, parse-duration.
31030
31031 2010-07-31  Bruno Haible  <bruno@clisp.org>
31032
31033         Improve doc in MODULES.html.
31034         * modules/linkat (Description): Add the word "function".
31035         * modules/mkfifo (Description): Likewise.
31036         * modules/mknod (Description): Likewise.
31037         * modules/remove (Description): Likewise.
31038         * modules/renameat (Description): Likewise.
31039         * modules/stat (Description): Likewise.
31040         * modules/symlink (Description): Likewise.
31041         * modules/unlink (Description): Likewise.
31042
31043 2010-07-31  Bruno Haible  <bruno@clisp.org>
31044
31045         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31046         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31047         option --enable/disable-c++ instead of --enable/disable-cxx.
31048         * NEWS: Mention the change.
31049
31050 2010-07-31  Bruno Haible  <bruno@clisp.org>
31051
31052         readlink, areadlink: Relax test a bit.
31053         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31054         alternative to ENOTDIR.
31055         * tests/test-areadlink.h (test_areadlink): Likewise.
31056         Reported by Rainer Tammer.
31057
31058 2010-07-31  Bruno Haible  <bruno@clisp.org>
31059
31060         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31061         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31062         character, perform the search using U_STRCHR.
31063         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31064         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31065         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31066         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31067         Suggested by Paolo Bonzini.
31068
31069 2010-07-31  Bruno Haible  <bruno@clisp.org>
31070
31071         unistr/u*-strstr: Fix dependencies.
31072         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31073         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31074         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31075
31076 2010-07-31  Bruno Haible  <bruno@clisp.org>
31077
31078         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31079         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31080         the beginning of the loop.
31081         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31082         cases in 'switch' statement.
31083
31084         unistr/u8-strchr: Fix several bugs.
31085         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31086         the string. When not found, return NULL, not a pointer near the end.
31087
31088         More tests for unistr/u8-strchr.
31089         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31090         that the function does not read past the first occurrence of the byte
31091         being searched.
31092         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31093         * tests/unistr/test-u16-strchr.c (main): New function.
31094         * tests/unistr/test-u32-strchr.c (main): New function.
31095
31096 2010-07-31  Bruno Haible  <bruno@clisp.org>
31097
31098         posix-modules: Ignore backup files of documentation files.
31099         * posix-modules: grep only through files named *.texi.
31100
31101 2010-07-31  Bruno Haible  <bruno@clisp.org>
31102
31103         symlinkat: Fix documentation.
31104         * doc/posix-functions/readlinkat.texi: Fix module name.
31105
31106 2010-07-31  Bruno Haible  <bruno@clisp.org>
31107
31108         fchownat: Replace also when chown has the trailing slash bug.
31109         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31110         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31111         introduced on 2010-04-10.
31112         Reported by Rainer Tammer.
31113
31114 2010-07-31  Bruno Haible  <bruno@clisp.org>
31115
31116         linkat: Work around AIX 7.1 bug.
31117         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31118         whether linkat handles trailing slash correctly. If not, replace linkat
31119         and define LINKAT_TRAILING_SLASH_BUG.
31120         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31121         check whether (fd1,file1) points to a directory if file1 or file2 ends
31122         in a slash. Code taken from lib/link.c.
31123         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31124         Reported by Rainer Tammer.
31125
31126 2010-07-31  Bruno Haible  <bruno@clisp.org>
31127
31128         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31129         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31130         This disables an xlc optimization that was causing wrong test results.
31131         Reported by Rainer Tammer.
31132
31133 2010-07-31  Bruno Haible  <bruno@clisp.org>
31134
31135         iconv: Work around AIX 6.1..7.1 bug.
31136         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31137         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31138         cross-compiling, guess no on all versions of AIX.
31139         Reported by Rainer Tammer.
31140
31141 2010-07-31  Bruno Haible  <bruno@clisp.org>
31142
31143         readlink: Relax test a bit.
31144         * tests/test-readlink.h (test_readlink): Allow different errno value
31145         when readlink is called with a file name that ends in / and refers to
31146         a file.
31147         Suggested by Eric Blake.
31148         Reported by Rainer Tammer.
31149
31150 2010-07-31  Bruno Haible  <bruno@clisp.org>
31151
31152         copysign: Does not require -lm on glibc systems.
31153         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31154         gl_COMMON_DOUBLE_MATHFUNC.
31155         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31156
31157 2010-07-31  Bruno Haible  <bruno@clisp.org>
31158
31159         duplocale: Work around AIX 7.1 bug.
31160         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31161         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31162         * lib/duplocale.c (rpl_duplocale): Update comment.
31163         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31164         Reported by Rainer Tammer.
31165
31166 2010-07-30  Bruno Haible  <bruno@clisp.org>
31167
31168         dirfd: Avoid link error on AIX 7.1.
31169         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31170         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31171         exist, set REPLACE_DIRFD.
31172         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31173         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31174         * doc/posix-functions/dirfd.texi: Update.
31175         Reported by Rainer Tammer.
31176
31177 2010-07-30  Eric Blake  <eblake@redhat.com>
31178
31179         strtod: next round of AIX fixes
31180         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31181         exponent.
31182         * tests/test-strtod.c (main): Enhance tests.
31183         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31184         Reported by Rainer Tammer.
31185
31186         futimens: fix configure check
31187         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31188         Reported by Bruno Haible.
31189
31190 2010-07-30  Bruno Haible  <bruno@clisp.org>
31191
31192         getline: Update regarding AIX.
31193         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31194         Reported by Rainer Tammer.
31195
31196 2010-07-30  Bruno Haible  <bruno@clisp.org>
31197
31198         wcwidth: Drop replacement on AIX 7.
31199         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31200         AIX 7.
31201         Reported by Rainer Tammer.
31202
31203 2010-07-30  Bruno Haible  <bruno@clisp.org>
31204
31205         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31206         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31207         a 'char *'.
31208         Reported by Rainer Tammer.
31209
31210 2010-07-30  Bruno Haible  <bruno@clisp.org>
31211
31212         unlink: Update regarding AIX.
31213         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31214         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31215         Reported by Rainer Tammer.
31216
31217 2010-07-30  Bruno Haible  <bruno@clisp.org>
31218
31219         symlink: Update regarding AIX.
31220         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31221         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31222         Reported by Rainer Tammer.
31223
31224 2010-07-30  Bruno Haible  <bruno@clisp.org>
31225
31226         strndup: Update regarding AIX.
31227         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31228         AIX 7.
31229         Reported by Rainer Tammer.
31230
31231 2010-07-30  Bruno Haible  <bruno@clisp.org>
31232
31233         stat: Update regarding AIX.
31234         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31235         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31236         Reported by Rainer Tammer.
31237
31238 2010-07-30  Bruno Haible  <bruno@clisp.org>
31239
31240         truncl: Fix autoconf test.
31241         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31242         whether truncl works.
31243         Reported by Rainer Tammer.
31244
31245 2010-07-30  Bruno Haible  <bruno@clisp.org>
31246
31247         round: Update regarding AIX.
31248         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31249         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31250         Reported by Rainer Tammer.
31251
31252 2010-07-30  Bruno Haible  <bruno@clisp.org>
31253
31254         rename: Update regarding AIX.
31255         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31256         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31257         Reported by Rainer Tammer.
31258
31259 2010-07-30  Bruno Haible  <bruno@clisp.org>
31260
31261         printf.m4: Update regarding AIX.
31262         * m4/printf.m4: Update comments regarding AIX.
31263         Reported by Rainer Tammer.
31264
31265 2010-07-30  Bruno Haible  <bruno@clisp.org>
31266
31267         iconv: Update regarding AIX.
31268         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31269         AIX 7.
31270         Reported by Rainer Tammer.
31271
31272 2010-07-30  Bruno Haible  <bruno@clisp.org>
31273
31274         getopt: Update regarding AIX.
31275         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31276         no on AIX.
31277         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31278         Reported by Rainer Tammer.
31279
31280 2010-07-30  Bruno Haible  <bruno@clisp.org>
31281
31282         ldexpl; Update regarding AIX.
31283         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31284         on AIX 7.
31285         Reported by Rainer Tammer.
31286
31287 2010-07-30  Bruno Haible  <bruno@clisp.org>
31288
31289         frexpl: Update regarding AIX.
31290         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31291         on AIX 7.
31292         Reported by Rainer Tammer.
31293
31294 2010-07-30  Bruno Haible  <bruno@clisp.org>
31295
31296         open, fopen: Update regarding AIX.
31297         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31298         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31299         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31300         * doc/posix-functions/fopen.texi: Likewise.
31301         Reported by Rainer Tammer.
31302
31303 2010-07-30  Bruno Haible  <bruno@clisp.org>
31304
31305         chown: Update doc regarding AIX.
31306         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31307         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31308         Reported by Rainer Tammer.
31309
31310 2010-07-30  Eric Blake  <eblake@redhat.com>
31311
31312         strtod: fix bug in replacement function on AIX
31313         * lib/strtod.c (strtod): Special case broken "0x" parse in
31314         underlying strtod.
31315         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31316         * doc/posix-functions/strtod.texi (strtod): Likewise.
31317         Reported by Rainer Tammer.
31318
31319 2010-07-30  Bruno Haible  <bruno@clisp.org>
31320
31321         mbrlen: Fix cross-compilation guess for AIX.
31322         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31323         guess. Leftover from 2008-12-22.
31324
31325 2010-07-30  Bruno Haible  <bruno@clisp.org>
31326
31327         mbrtowc: Fix cross-compilation guess for AIX.
31328         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31329         guess. Leftover from 2008-12-21.
31330
31331 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31332
31333         init.sh: work around trap limitation of some shells
31334         * tests/init.sh (setup_): Move exit trap outside of shell function.
31335
31336 2010-07-29  Eric Blake  <eblake@redhat.com>
31337
31338         strtod: aid debugging
31339         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31340         understanding why strtod is rejected.
31341
31342 2010-07-28  Bruno Haible  <bruno@clisp.org>
31343
31344         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31345         * lib/unistr/u8-chr.c: Include <string.h>.
31346         * tests/unistr/test-u8-chr.c: Likewise.
31347         * tests/unistr/test-u16-chr.c: Likewise.
31348         * tests/unistr/test-u32-chr.c: Likewise.
31349         * tests/unistr/test-u8-strchr.c: Likewise.
31350         * tests/unistr/test-u16-strchr.c: Likewise.
31351         * tests/unistr/test-u32-strchr.c: Likewise.
31352         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31353         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31354         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31355         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31356
31357 2010-07-28  Bruno Haible  <bruno@clisp.org>
31358
31359         Use spaces for indentation, not tabs.
31360         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31361
31362 2010-07-27  Bruno Haible  <bruno@clisp.org>
31363
31364         mbspcasecmp: Fix function specification.
31365         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31366         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31367         Reported by Eric Blake <eblake@redhat.com>.
31368
31369 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31370
31371         timespec: use cast and not conditional, as truncation isn't possible
31372         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31373         instead of a conditional.  Comment about the situation in more detail.
31374         This undoes most of the 2009-10-29 patch.
31375
31376 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31377
31378         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31379         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31380         * lib/unistr/u8-strchr.c: Likewise.
31381         * modules/unistr/u8-chr: Depend on memchr.
31382
31383         unistr/u*-strchr: add tests
31384         * modules/unistr/u8-strchr-tests: New file.
31385         * modules/unistr/u16-strchr-tests: New file.
31386         * modules/unistr/u32-strchr-tests: New file.
31387         * tests/unistr/test-strchr.h: New file.
31388         * tests/unistr/test-u8-strchr.c: New file.
31389         * tests/unistr/test-u16-strchr.c: New file.
31390         * tests/unistr/test-u32-strchr.c: New file.
31391
31392         unistr/u*-chr: test multibyte sequences more
31393         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31394         test vector.
31395         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31396         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31397         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31398
31399         unistr/u*-chr: test multibyte sequences
31400         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31401
31402         unistr/u*-chr: prepare for multibyte tests
31403         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31404         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31405         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31406         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31407         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31408         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31409
31410 2010-07-18  Bruno Haible  <bruno@clisp.org>
31411
31412         unistr/u8-strchr: Optimize non-ASCII argument case.
31413         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31414         because the first byte often matches anyway.
31415         Reported by Pádraig Brady <P@draigbrady.com>.
31416
31417 2010-07-15  Karl Berry  <karl@gnu.org>
31418
31419         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31420
31421 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31422
31423         getcwd: on Solaris, work better if ancestors are inaccessible
31424         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31425         buffer and size, try again with a large buffer.  This works better
31426         on Solaris, since its getcwd succeeds even if the path to the root
31427         is inaccessible, and this is helpful in common cases such as .zfs
31428         hidden directories.  Problem reported by J Chapman Flack in
31429         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31430         Use system getcwd if it's declared, not merely if it's partly
31431         working; use the partly-working test only to avoid needless effort
31432         if the system getcwd fails.
31433         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31434         comment that was already obsolete and is now even more obsolete.
31435         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31436         now might call strdup.
31437
31438 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31439
31440         pthread: Add enough so that coreutils/src/sort.c compiles.
31441         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31442         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31443         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31444         Include <sys/types.h>, in case it defines pthread_t.
31445         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31446         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31447         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31448         (pthread_rwlockattr_t, pthread_spinlock_t):
31449         New typedefs, if HAVE_PTHREAD_T is not defined.
31450         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31451         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31452         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31453         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31454         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31455         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31456         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31457         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31458         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31459         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31460         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31461         New macros.
31462         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31463         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31464         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31465         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31466         (pthread_spin_unlock): New dummy functions.
31467         (pthread_create): Return EAGAIN; don't set errno.
31468         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31469         require AC_C_INLINE.
31470         * modules/pthread (Depends-on): Add sched, time.
31471         (pthread.h): Use AM_V_GEN.
31472
31473 2010-07-13  Bruno Haible  <bruno@clisp.org>
31474
31475         striconveh: Don't malloc memory if the result buffer is sufficient.
31476         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31477         buffer if its size is sufficient.
31478         Reported by Ludovic Courtès <ludo@gnu.org>.
31479
31480 2010-07-13  Bruno Haible  <bruno@clisp.org>
31481
31482         strtod: Add safety check.
31483         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31484
31485 2010-07-12  Bruno Haible  <bruno@clisp.org>
31486
31487         Unify tests that set gl_cv_func_ldexpl_no_libm.
31488         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31489         gl_FUNC_LDEXPL.
31490         (gl_FUNC_LDEXPL): Invoke it.
31491         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31492
31493 2010-07-12  Bruno Haible  <bruno@clisp.org>
31494
31495         Unify tests that set gl_cv_func_ldexp_no_libm.
31496         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31497         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31498         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31499         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31500         * modules/strtod (Files): Add m4/ldexp.m4.
31501
31502 2010-07-12  Bruno Haible  <bruno@clisp.org>
31503
31504         Unify tests that set gl_cv_func_frexpl_no_libm.
31505         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31506         gl_FUNC_FREXPL_NO_LIBM.
31507         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31508         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31509
31510 2010-07-12  Bruno Haible  <bruno@clisp.org>
31511
31512         Unify tests that set gl_cv_func_frexp_no_libm.
31513         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31514         gl_FUNC_FREXP_NO_LIBM.
31515         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31516         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31517
31518 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31519
31520         memcoll: clarify sizes versus lengths, document better, and tweak perf
31521         * lib/memcoll.c (strcoll_loop, memcoll0):
31522         Improve quality of descriptive comments.  Name variables
31523         consistently as to whether they are lengths (which do not include
31524         terminating null) versus sizes (which do).
31525         * lib/xmemcoll.c (xmemcoll0): Likewise.
31526         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31527         returned when s1size == 0; this is easier to compile and saves
31528         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31529
31530 2010-07-12  Bruno Haible  <bruno@clisp.org>
31531
31532         Tests for module '_Exit'.
31533         * modules/_Exit-tests: New file.
31534         * tests/test-_Exit.sh: New file.
31535         * tests/test-_Exit.c: New file.
31536
31537         New module '_Exit'.
31538         * lib/stdlib.in.h (__attribute__): New macro.
31539         (_Exit): New declaration.
31540         * lib/_Exit.c: New file.
31541         * m4/_Exit.m4: New file.
31542         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31543         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31544         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31545         * modules/_Exit: New file.
31546         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31547         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31548
31549 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31550
31551         strtod: make it more-accurate typically, and don't require libm
31552         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31553         Include limits.h.  Don't include string.h.
31554         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31555         (locale_isspace): New function, so that no casts are needed to
31556         check whether *s is a space.
31557         (ldexp): Provide an unused dummy if not available.
31558         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31559         (strtod): Use them.  This implementation prefers to use the
31560         underlying strtod if available, falling back on our own code
31561         only to fix known bugs.  This is more likely to produce an
31562         accurate result.  Also, it avoids the use of libm functions.
31563         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31564         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31565         was absent, but it caused a test failure with coreutils.
31566         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31567         with libm.
31568         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31569         * modules/strtod-tests (Makefile.am): Likewise.
31570
31571 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31572             Bruno Haible  <bruno@clisp.org>
31573
31574         unistr/u8-strchr: Optimize ASCII argument case.
31575         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31576
31577 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31578
31579         (x)memcoll: minor tweaks
31580         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31581         is after the type that it qualifies.
31582         (memcoll0): Likewise.
31583         * lib/memcoll.h (memcoll0): Likewise.
31584         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31585         * lib/xmemcoll.h (xmemcoll0): Likewise.
31586         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31587         differs from memcoll in that the NUL byte is part of the argument.
31588         Omit the abort-checks, as performance is a real issue here.  Plus,
31589         the checks were wrong anyway (an off-by-one error).  Omit local
31590         variable 'diff', as it's a bit clearer that way.
31591         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31592         no longer needed.
31593
31594 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31595
31596         (x)memcoll: speedup when input is known to be NUL delimited
31597         * lib/memcoll.c: Include stdlib.
31598         (memcoll0): New function.
31599         (strcoll_loop): New function, refactored for use in both memcoll
31600         and memcoll0.
31601         * lib/memcoll.h (memcoll0): Add prototype.
31602         * lib/xmemcoll.c (xmemcoll0): New function.
31603         (collate_error): New function, refactored for use in both xmemcoll
31604         and xmemcoll0.
31605         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31606         * m4/memcoll.m4: add inline invocation.
31607
31608 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31609
31610         * build-aux/bootstrap: Remove any local translations
31611         from the translation project synchronization directory,
31612         so that local only translations are not distributed.
31613
31614 2010-07-04  Bruno Haible  <bruno@clisp.org>
31615
31616         fsusage: Clarify which code applies to which platforms.
31617         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31618         platform.
31619         * lib/fsusage.c (get_fs_usage): Likewise.
31620
31621 2010-07-04  Bruno Haible  <bruno@clisp.org>
31622
31623         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31624         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31625         Reported by Martin Lambers <marlam@marlam.de>.
31626
31627 2010-07-04  Jim Meyering  <meyering@redhat.com>
31628
31629         hash: once again explicitly disallow insertion of NULL
31630         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31631         inserting a NULL pointer cannot work with these functions.
31632         Add a comment with details.
31633         This reverts part of the 2010-07-01 commit, 5bef1a35
31634         "hash: extend module to deal with non-pointer keys".
31635
31636 2010-07-01  Bruno Haible  <bruno@clisp.org>
31637
31638         stdbool: Update doc.
31639         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31640         Info from Christian Weisgerber <naddy@mips.inka.de>.
31641
31642 2010-07-01  Jim Meyering  <meyering@redhat.com>
31643
31644         hash: extend module to deal with non-pointer keys
31645         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31646         but that allows insertion of non-pointer entries.
31647         Do not disallow an ENTRY value of NULL.
31648         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31649         * lib/hash.h (hash_insert0): Declare.
31650
31651 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31652
31653         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31654         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31655         not present (i.e. with autoconf 2.59 and when using gettextize, not
31656         gnulib), require AC_GNU_SOURCE instead.
31657
31658 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31659
31660         idpriv-drop: Fix tests.
31661         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31662         not to the test-idpriv-droptemp program.
31663
31664 2010-06-29  Bruno Haible  <bruno@clisp.org>
31665
31666         string: Fix syntax error with g++ 2.96.
31667         * lib/string.in.h (__pure__): Remove definition.
31668         (_GL_ATTRIBUTE_PURE): New macro.
31669         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31670         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31671         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31672
31673 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31674
31675         unitypes: Fix bug introduced on 2010-05-18.
31676         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31677
31678 2010-06-22  Eric Blake  <eblake@redhat.com>
31679
31680         memmem: slight optimization
31681         * lib/str-two-way.h (critical_factorization): Update comments.
31682         Reduce work during factorization phase.
31683         Reported by Carlos Bueno <carlos@bueno.org>.
31684
31685 2010-06-21  Bruno Haible  <bruno@clisp.org>
31686
31687         Fix HAVE_CALLOC_POSIX misnomer.
31688         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31689         !HAVE_CALLOC_POSIX.
31690         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31691         HAVE_CALLOC_POSIX.
31692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31693         instead of HAVE_CALLOC_POSIX.
31694         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31695         HAVE_CALLOC_POSIX.
31696
31697         Use modern idiom for calloc() replacement.
31698         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31699         AC_FUNC_CALLOC.
31700         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31701         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31702         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31703         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31704         (gl_REPLACE_CALLOC): New macro.
31705
31706 2010-06-21  Bruno Haible  <bruno@clisp.org>
31707
31708         Fix HAVE_REALLOC_POSIX misnomer.
31709         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31710         !HAVE_REALLOC_POSIX.
31711         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31712         HAVE_REALLOC_POSIX.
31713         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31714         instead of HAVE_REALLOC_POSIX.
31715         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31716         HAVE_REALLOC_POSIX.
31717
31718         Use modern idiom for realloc() replacement.
31719         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31720         AC_FUNC_REALLOC.
31721         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31722         Autoconf's AC_FUNC_REALLOC.
31723         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31724         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31725         (gl_REPLACE_REALLOC): New macro.
31726         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31727
31728 2010-06-21  Bruno Haible  <bruno@clisp.org>
31729
31730         Fix HAVE_MALLOC_POSIX misnomer.
31731         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31732         !HAVE_MALLOC_POSIX.
31733         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31734         HAVE_MALLOC_POSIX.
31735         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31736         instead of HAVE_MALLOC_POSIX.
31737         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31738         HAVE_MALLOC_POSIX.
31739
31740         Use modern idiom for malloc() replacement.
31741         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31742         AC_FUNC_MALLOC.
31743         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31744         Autoconf's AC_FUNC_MALLOC.
31745         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31746         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31747         (gl_REPLACE_MALLOC): New macro.
31748         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31749
31750 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31751
31752         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31753         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31754         This macro takes 3 arguments, not 4.
31755
31756 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31757
31758         ipv6: fix detection under mingw
31759         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31760         in6_addr.
31761
31762 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31763
31764         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31765         that strtod() works when cross-compiling to a glibc version known
31766         to work.
31767
31768 2010-06-15  Bruno Haible  <bruno@clisp.org>
31769
31770         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31771
31772 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31773
31774         select: Correct timeout.
31775         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31776
31777 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31778
31779         git-version-gen: init shell var to avoid env var influence
31780         * build-aux/git-version-gen (v): Init shell var to empty.
31781
31782 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31783
31784         priv-set: Don't assume that priv.h exists merely because getppriv does.
31785         See Jan Andersen's bug report about AIX 5L in
31786         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31787         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31788         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31789         * lib/priv-set.h: Likewise.
31790         * tests/test-priv-set.c: Likewise.
31791
31792 2010-06-13  Bruno Haible  <bruno@clisp.org>
31793
31794         relocatable: Make it easier to test whether to install wrappers.
31795         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31796         RELOCATABLE_VIA_WRAPPER.
31797
31798 2010-06-13  Bruno Haible  <bruno@clisp.org>
31799
31800         gnulib-tool: Display specified modules and dependencies differently.
31801         * gnulib-tool (func_show_module_list): New function.
31802         (func_import, func_create_testdir): Invoke it.
31803         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31804
31805 2010-06-13  Bruno Haible  <bruno@clisp.org>
31806
31807         gnulib-tool: Align code of func_import and func_create_testdir.
31808         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31809         specified_modules.
31810
31811 2010-06-12  Jim Meyering  <meyering@redhat.com>
31812
31813         test-inttostr: avoid spurious failure on Solaris 9
31814         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31815         to accept "%ju".  Reported by Bruno Haible.
31816
31817 2010-06-11  Jim Meyering  <meyering@redhat.com>
31818
31819         test-sys_socket: mark variables as used more readably
31820         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31821         as "used" explicitly via (void) statement casts.  This is more
31822         readable than using them in an artificial return expression.
31823         Suggestion from Bruno Haible.
31824
31825 2010-06-11  Bruno Haible  <bruno@clisp.org>
31826
31827         Avoid some more warnings from "gcc -Wwrite-strings".
31828         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31829         to 'const char *'.
31830         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31831         * tests/test-c-strcasestr.c (main): Likewise.
31832         * tests/test-mbscasestr1.c (main): Likewise.
31833         * tests/test-mbscasestr2.c (main): Likewise.
31834         * tests/test-memmem.c (main): Likewise.
31835         * tests/test-strstr.c (main): Likewise.
31836         * tests/test-strcasestr.c (main): Likewise.
31837
31838 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31839
31840         init.sh: change framework_failure_ to fail with status 99, not 1
31841         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31842         automake's parallel-tests rule that this is an unexpected failure,
31843         even if the test is listed in XFAIL_TESTS.
31844
31845 2010-06-11  Jim Meyering  <meyering@redhat.com>
31846
31847         test-inttostr: avoid warnings about 4-6KB literal strings
31848         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31849         Include "macros.h", for its definition of ASSERT.
31850         (CK): s/assert/ASSERT/
31851         * modules/inttostr-tests (Files): Add macros.h.
31852
31853         init.sh: don't use $ME_ or skip_ before they are defined
31854         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31855         their first uses.  Also hoist their companions: warn_, fail_,
31856         framework_failure_, $stderr_fileno.  Prompted by a patch from
31857         Stefano Lattarini.
31858
31859         test-sys_socket: avoid set-but-not-used warnings from gcc
31860         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31861         avoid warning about set-but-not-used variables.
31862
31863         test-xvasprintf: avoid 'const' discard warnings
31864         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31865         "const" when assigning from literal strings.
31866         (test_xasprintf): Add "void" in function argument list to placate
31867         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31868
31869         tests: avoid compilation warnings in argmatch and exclude tests...
31870         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31871         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31872         Since it always exits, declare with the "noreturn" attribute.
31873         * tests/test-argmatch.c: Likewise.
31874
31875         tests: avoid 'const' discard warnings in mbsstr tests
31876         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31877         * tests/test-mbsstr2.c (main): Likewise.
31878
31879         test-verify: avoid warning from gcc's -Wmissing-declarations
31880         * tests/test-verify.c (function): Declare to be static.
31881
31882         test-inttostr.c: include <string.h> for use of strcmp
31883         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31884
31885         test-linkat: avoid failed assertion on "other" architectures
31886         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31887         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31888         sparc: https://bugs.launchpad.net/bugs/591968
31889
31890 2010-06-11  Jim Meyering  <meyering@redhat.com>
31891
31892         printf.m4: avoid autoconf's "Expanded Before Required" warning
31893         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31894         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31895         autoconf warning.
31896
31897 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31898
31899         Replacement header templates are now named with ".in", not "_".
31900         * doc/gnulib-intro.texi: Correct.
31901
31902 2010-06-10  Jim Meyering  <meyering@redhat.com>
31903
31904         inttostr-tests: depend on snprintf, not snprintf-posix
31905         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31906         snprintf-posix, to avoid this aclocal failure:
31907           missing file gnulib-tests/vasnprintf.c
31908           configure.ac:45: error: expected source file, required through \
31909           AC_LIBSOURCES, not found
31910
31911 2010-06-10  Jim Meyering  <meyering@redhat.com>
31912
31913         inttostr: add a new function, inttostr, and tests
31914         The namesake function was not available.  The existence of the
31915         template file, inttostr.c makes its addition nontrivial.
31916         * lib/anytostr.c: Rename from inttostr.c.
31917         (anytostr): Rename from inttostr.
31918         * lib/inttostr.c: New file.
31919         * modules/inttostr (Files): Add anytostr.c.
31920         (Makefile.am): Set lib_SOURCES instead of ...
31921         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31922         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31923         * lib/offtostr.c: Likewise.
31924         * lib/uinttostr.c: Likewise.
31925         * lib/umaxtostr.c: Likewise.
31926         * modules/inttostr-tests: New file.
31927         * tests/test-inttostr.c: New file.  Test these functions.
31928
31929 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31930             Bruno Haible  <bruno@clisp.org>
31931
31932         Add "Extending Gnulib" chapter to manual.
31933         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31934         chapter.
31935         (Extending Gnulib): New chapter.
31936         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31937         chapter.
31938
31939 2010-06-09  Bruno Haible  <bruno@clisp.org>
31940
31941         Avoid relocwrapper link errors due to gnulib replacement functions.
31942         * lib/areadlink.c: Use the system's malloc, realloc functions.
31943         (areadlink): Set errno to ENOMEM explicitly.
31944         * modules/areadlink (Depends-on): Remove malloc-posix.
31945         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31946
31947 2010-06-09  Bruno Haible  <bruno@clisp.org>
31948
31949         Avoid relocwrapper link errors due to gnulib replacement functions.
31950         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31951         * lib/malloca.c: Likewise.
31952         * lib/relocatable.c: Likewise.
31953         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31954         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31955         * lib/setenv.c: Use the system's malloc, realloc functions.
31956         * lib/strerror.c: Use the system's sprintf function.
31957         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31958
31959 2010-06-04  Bruno Haible  <bruno@clisp.org>
31960
31961         Prefer documented low-level autoconf macro names.
31962         * m4/lib-link.m4: Use m4_translit instead of translit.
31963         * m4/environ.m4: Likewise.
31964         * m4/mathfunc.m4: Likewise.
31965         * m4/onceonly.m4: Likewise.
31966         * m4/stdint.m4: Likewise.
31967         Suggested by Eric Blake.
31968
31969 2010-06-04  Martin Lambers  <marlam@marlam.de>
31970             Bruno Haible  <bruno@clisp.org>
31971
31972         havelib: Allow library names with '+' characters.
31973         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31974         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31975
31976 2010-06-09  Bruno Haible  <bruno@clisp.org>
31977
31978         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31979         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31980         realloc failed.
31981
31982 2010-06-08  Peter Simons  <simons@cryp.to>
31983
31984         maint.mk: make the news-check rule more configurable
31985         * top/maint.mk (news-check-lines-spec): New variable.
31986         (news-check): Use "sed -n 1,10p" in place of "head".
31987
31988 2010-06-07  Jim Meyering  <meyering@redhat.com>
31989
31990         do-release-commit-and-tag: fix typo in --help
31991         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31992
31993         regex: avoid new dead-code warning with gcc-4.6.0
31994         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31995         if-block containing a while-loop.  It's been unused for at least
31996         5 years.
31997
31998 2010-06-05  Bruno Haible  <bruno@clisp.org>
31999
32000         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32001         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32002
32003 2010-06-04  Bruno Haible  <bruno@clisp.org>
32004
32005         Update to GNU gettext 0.18.1.
32006         * modules/gettext (configure.ac): Require gettext infrastructure from
32007         version 0.18.1.
32008
32009 2010-06-03  Bruno Haible  <bruno@clisp.org>
32010
32011         Don't use AC_LIBOBJ with file names in subdirectories.
32012         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32013         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32014         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32015         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32016         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32017         gl_LIBUNISTRING_LIBSOURCE.
32018         (Makefile.am): Augment lib_SOURCES here, conditionally.
32019         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32020
32021 2010-06-03  Bruno Haible  <bruno@clisp.org>
32022
32023         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32024         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32025         expansion does not end with a newline.
32026         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32027         unnecessary newline.
32028
32029 2010-06-03  Bruno Haible  <bruno@clisp.org>
32030
32031         Reduce dependencies.
32032         * tests/test-quotearg.h: New file, extracted from
32033         tests/test-quotearg.c.
32034         * tests/test-quotearg-simple.c: New file, extracted from
32035         tests/test-quotearg.c.
32036         * tests/test-quotearg.c: Don't include <ctype.h>.
32037         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32038         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32039         use_quote_double_quotes, use_quotearg_colon): Moved to
32040         tests/test-quotearg.h.
32041         (results_g, flag_results, custom_quotes, custom_results): Moved
32042         to tests/test-quotearg-simple.c.
32043         (main): Moved the part that does not depend on gettext to
32044         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32045         performed.
32046         * modules/quotearg-simple: New file.
32047         * modules/quotearg-simple-tests: New file.
32048         * modules/quotearg (Depends-on): Add quotearg-simple.
32049         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32050         (Files): Add tests/test-quotearg.h.
32051         Reported by Paolo Bonzini.
32052
32053 2010-06-03  Bruno Haible  <bruno@clisp.org>
32054
32055         Reduce dependencies.
32056         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32057
32058 2010-06-03  Bruno Haible  <bruno@clisp.org>
32059
32060         time: Undefine more broken macros.
32061         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32062         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32063         Reported by Eric Blake.
32064
32065 2010-06-03  Bruno Haible  <bruno@clisp.org>
32066
32067         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32068         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32069         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32070         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32071         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32072         Reported by Ludovic Courtès <ludo@gnu.org>.
32073
32074 2010-06-02  Eric Blake  <eblake@redhat.com>
32075
32076         time: work with mingw + pthreads-win32 library
32077         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32078         if timespec is defined only in pthread.h.
32079         * modules/time (Makefile.am): Substitute it.
32080         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32081         <pthread.h>, when needed.
32082         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32083         from the library.
32084
32085 2010-05-31  Bruno Haible  <bruno@clisp.org>
32086
32087         Avoid expanding two macros in the wrong order.
32088         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32089         gl_LIBUNISTRING if it is defined.
32090         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32091         autoconf >= 2.64.
32092         Reported by Ludovic Courtès <ludo@gnu.org>.
32093
32094 2010-05-27  Jim Meyering  <meyering@redhat.com>
32095
32096         maint.mk: also prohibit "#undef" of always-defined symbols
32097         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32098         Allow more than one space before the symbol name.
32099         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32100         the regexp uses alternation.
32101
32102 2010-05-26  Eric Blake  <eblake@redhat.com>
32103
32104         maint.mk: avoid echo -e
32105         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32106         Convert all uses of echo -* to printf.
32107         Reported by Matthias Bolte.
32108
32109 2010-05-25  Bruno Haible  <bruno@clisp.org>
32110
32111         Update to GNU gettext 0.18, part 2.
32112         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32113         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32114
32115 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32116
32117         Add missing include in test-pwrite.c.
32118         * tests/test-pwrite.c: Include string.h, for strcmp.
32119
32120 2010-05-24  Bruno Haible  <bruno@clisp.org>
32121
32122         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32123
32124 2010-05-24  Bruno Haible  <bruno@clisp.org>
32125
32126         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32127         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32128         iconveh_error argument.
32129         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32130         U_STRCONV_TO_LOCALE.
32131         * lib/unistr/u16-strcoll.c: Likewise.
32132         * lib/unistr/u32-strcoll.c: Likewise.
32133         * modules/unistr/u8-strcoll (Depends-on): Add
32134         uniconv/u8-strconv-to-enc, localcharset. Remove
32135         uniconv/u8-strconv-to-locale.
32136         (configure.ac): Bump version number.
32137         * modules/unistr/u16-strcoll (Depends-on): Add
32138         uniconv/u16-strconv-to-enc, localcharset. Remove
32139         uniconv/u16-strconv-to-locale.
32140         (configure.ac): Bump version number.
32141         * modules/unistr/u32-strcoll (Depends-on): Add
32142         uniconv/u32-strconv-to-enc, localcharset. Remove
32143         uniconv/u32-strconv-to-locale.
32144         (configure.ac): Bump version number.
32145
32146 2010-05-24  Bruno Haible  <bruno@clisp.org>
32147
32148         Avoid a test failure on NetBSD 5.0.
32149         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32150         an iconv() bug.
32151
32152 2010-05-24  Bruno Haible  <bruno@clisp.org>
32153
32154         Adjust #include directive style.
32155         * modules/regex (Includes): Recommend to write <regex.h>.
32156
32157 2010-05-24  Bruno Haible  <bruno@clisp.org>
32158
32159         regex: Don't require alloca.
32160         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32161         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32162         only inside if (0).
32163
32164 2010-05-23  Jim Meyering  <meyering@redhat.com>
32165
32166         test-renameat.c: include <sys/stat.h>
32167         * tests/test-renameat.c: Include <sys/stat.h>; required for
32168         definition of S_IS* macros.
32169
32170 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32171
32172         Update maintainer documentation for 'relocatable-prog' module.
32173         * doc/relocatable-maint.texi: Update.
32174         Comments by Bruno Haible.
32175
32176 2010-05-23  Bruno Haible  <bruno@clisp.org>
32177
32178         git-merge-changelog: Enable --split-merged-entry by default.
32179         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32180         (usage): Don't mention this option any more.
32181         Reported by Ralf Wildenhues.
32182
32183 2010-05-23  Jim Meyering  <meyering@redhat.com>
32184
32185         test-pwrite: do not leave behind a test file named "out"
32186         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32187         The trivial-looking use of init.sh is really necessary.
32188         It ensures that the temporary file, "out", is created in
32189         a temporary directory, and removed upon termination.
32190         * tests/test-pwrite.sh: Re-add file.
32191         * modules/pwrite-tests: Reference it.
32192
32193 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32194
32195         Fix output redirection buglet in init.sh.
32196         * tests/init.sh: Fix redirection of stderr.
32197
32198 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32199
32200         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32201
32202 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32203
32204         * modules/valgrind-tests: New file.
32205         * m4/valgrind-tests.m4: New file.
32206         * doc/valgrind-tests.texi: New file.
32207         * doc/gnulib.texi (Running self-tests under valgrind): New
32208         section.
32209
32210 2010-05-19  Bruno Haible  <bruno@clisp.org>
32211
32212         Clean up dead code in recent commit.
32213         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32214         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32215         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32216         Suggested by Paolo Bonzini.
32217
32218 2010-05-19  Bruno Haible  <bruno@clisp.org>
32219
32220         Avoid valgrind error reports from libunistring.
32221         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32222         * modules/libunistring (Files): Add it.
32223         * modules/libunistring-optional (Files): Likewise.
32224
32225 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32226             Bruno Haible  <bruno@clisp.org>
32227
32228         New module 'libunistring-optional'.
32229         * modules/libunistring-optional: New file.
32230         * m4/libunistring-base.m4: New file.
32231         * m4/libunistring-optional.m4: New file.
32232         * lib/unicase.in.h: Renamed from lib/unicase.h.
32233         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32234         * lib/unictype.in.h: Renamed from lib/unictype.h.
32235         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32236         * lib/uniname.in.h: Renamed from lib/uniname.h.
32237         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32238         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32239         * lib/unistr.in.h: Renamed from lib/unistr.h.
32240         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32241         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32242         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32243         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32244         gl_LIBUNISTRING. If the library was found, determine the installed
32245         version and set LIBUNISTRING_VERSION.
32246         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32247         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32248         handle a configuration option --with-included-libunistring.
32249         * modules/libunistring (Files): Add m4/absolute-header.m4.
32250         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32251         Add m4/libunistring-base.m4.
32252         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32253         (Makefile.am): Build unicase.h from unicase.in.h.
32254         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32255         Add m4/libunistring-base.m4.
32256         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32257         (Makefile.am): Build uniconv.h from uniconv.in.h.
32258         * modules/unictype/base (Files): Use unictype.in.h instead of
32259         unictype.h. Add m4/libunistring-base.m4.
32260         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32261         (Makefile.am): Build unictype.h from unictype.in.h.
32262         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32263         Add m4/libunistring-base.m4.
32264         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32265         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32266         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32267         Add m4/libunistring-base.m4.
32268         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32269         (Makefile.am): Build uniname.h from uniname.in.h.
32270         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32271         Add m4/libunistring-base.m4.
32272         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32273         (Makefile.am): Build uninorm.h from uninorm.in.h.
32274         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32275         unistdio.h. Add m4/libunistring-base.m4.
32276         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32277         (Makefile.am): Build unistdio.h from unistdio.in.h.
32278         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32279         Add m4/libunistring-base.m4.
32280         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32281         (Makefile.am): Build unistr.h from unistr.in.h.
32282         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32283         Add m4/libunistring-base.m4.
32284         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32285         (Makefile.am): Build unitypes.h from unitypes.in.h.
32286         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32287         Add m4/libunistring-base.m4.
32288         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32289         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32290         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32291         uniwidth.h. Add m4/libunistring-base.m4.
32292         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32293         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32294         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32295         instead of augmenting lib_SOURCES.
32296         * modules/unicase/empty-suffix-context: Likewise.
32297         * modules/unicase/locale-language: Likewise.
32298         * modules/unicase/tolower: Likewise.
32299         * modules/unicase/totitle: Likewise.
32300         * modules/unicase/toupper: Likewise.
32301         * modules/unicase/u8-casecmp: Likewise.
32302         * modules/unicase/u8-casecoll: Likewise.
32303         * modules/unicase/u8-casefold: Likewise.
32304         * modules/unicase/u8-casexfrm: Likewise.
32305         * modules/unicase/u8-ct-casefold: Likewise.
32306         * modules/unicase/u8-ct-tolower: Likewise.
32307         * modules/unicase/u8-ct-totitle: Likewise.
32308         * modules/unicase/u8-ct-toupper: Likewise.
32309         * modules/unicase/u8-is-cased: Likewise.
32310         * modules/unicase/u8-is-casefolded: Likewise.
32311         * modules/unicase/u8-is-lowercase: Likewise.
32312         * modules/unicase/u8-is-titlecase: Likewise.
32313         * modules/unicase/u8-is-uppercase: Likewise.
32314         * modules/unicase/u8-prefix-context: Likewise.
32315         * modules/unicase/u8-suffix-context: Likewise.
32316         * modules/unicase/u8-tolower: Likewise.
32317         * modules/unicase/u8-totitle: Likewise.
32318         * modules/unicase/u8-toupper: Likewise.
32319         * modules/unicase/u16-casecmp: Likewise.
32320         * modules/unicase/u16-casecoll: Likewise.
32321         * modules/unicase/u16-casefold: Likewise.
32322         * modules/unicase/u16-casexfrm: Likewise.
32323         * modules/unicase/u16-ct-casefold: Likewise.
32324         * modules/unicase/u16-ct-tolower: Likewise.
32325         * modules/unicase/u16-ct-totitle: Likewise.
32326         * modules/unicase/u16-ct-toupper: Likewise.
32327         * modules/unicase/u16-is-cased: Likewise.
32328         * modules/unicase/u16-is-casefolded: Likewise.
32329         * modules/unicase/u16-is-lowercase: Likewise.
32330         * modules/unicase/u16-is-titlecase: Likewise.
32331         * modules/unicase/u16-is-uppercase: Likewise.
32332         * modules/unicase/u16-prefix-context: Likewise.
32333         * modules/unicase/u16-suffix-context: Likewise.
32334         * modules/unicase/u16-tolower: Likewise.
32335         * modules/unicase/u16-totitle: Likewise.
32336         * modules/unicase/u16-toupper: Likewise.
32337         * modules/unicase/u32-casecmp: Likewise.
32338         * modules/unicase/u32-casecoll: Likewise.
32339         * modules/unicase/u32-casefold: Likewise.
32340         * modules/unicase/u32-casexfrm: Likewise.
32341         * modules/unicase/u32-ct-casefold: Likewise.
32342         * modules/unicase/u32-ct-tolower: Likewise.
32343         * modules/unicase/u32-ct-totitle: Likewise.
32344         * modules/unicase/u32-ct-toupper: Likewise.
32345         * modules/unicase/u32-is-cased: Likewise.
32346         * modules/unicase/u32-is-casefolded: Likewise.
32347         * modules/unicase/u32-is-lowercase: Likewise.
32348         * modules/unicase/u32-is-titlecase: Likewise.
32349         * modules/unicase/u32-is-uppercase: Likewise.
32350         * modules/unicase/u32-prefix-context: Likewise.
32351         * modules/unicase/u32-suffix-context: Likewise.
32352         * modules/unicase/u32-tolower: Likewise.
32353         * modules/unicase/u32-totitle: Likewise.
32354         * modules/unicase/u32-toupper: Likewise.
32355         * modules/unicase/ulc-casecmp: Likewise.
32356         * modules/unicase/ulc-casecoll: Likewise.
32357         * modules/unicase/ulc-casexfrm: Likewise.
32358         * modules/uniconv/u8-conv-from-enc: Likewise.
32359         * modules/uniconv/u8-conv-to-enc: Likewise.
32360         * modules/uniconv/u8-strconv-from-enc: Likewise.
32361         * modules/uniconv/u8-strconv-from-locale: Likewise.
32362         * modules/uniconv/u8-strconv-to-enc: Likewise.
32363         * modules/uniconv/u8-strconv-to-locale: Likewise.
32364         * modules/uniconv/u16-conv-from-enc: Likewise.
32365         * modules/uniconv/u16-conv-to-enc: Likewise.
32366         * modules/uniconv/u16-strconv-from-enc: Likewise.
32367         * modules/uniconv/u16-strconv-from-locale: Likewise.
32368         * modules/uniconv/u16-strconv-to-enc: Likewise.
32369         * modules/uniconv/u16-strconv-to-locale: Likewise.
32370         * modules/uniconv/u32-conv-from-enc: Likewise.
32371         * modules/uniconv/u32-conv-to-enc: Likewise.
32372         * modules/uniconv/u32-strconv-from-enc: Likewise.
32373         * modules/uniconv/u32-strconv-from-locale: Likewise.
32374         * modules/uniconv/u32-strconv-to-enc: Likewise.
32375         * modules/uniconv/u32-strconv-to-locale: Likewise.
32376         * modules/unictype/bidicategory-byname: Likewise.
32377         * modules/unictype/bidicategory-name: Likewise.
32378         * modules/unictype/bidicategory-of: Likewise.
32379         * modules/unictype/bidicategory-test: Likewise.
32380         * modules/unictype/block-list: Likewise.
32381         * modules/unictype/block-test: Likewise.
32382         * modules/unictype/category-C: Likewise.
32383         * modules/unictype/category-Cc: Likewise.
32384         * modules/unictype/category-Cf: Likewise.
32385         * modules/unictype/category-Cn: Likewise.
32386         * modules/unictype/category-Co: Likewise.
32387         * modules/unictype/category-Cs: Likewise.
32388         * modules/unictype/category-L: Likewise.
32389         * modules/unictype/category-Ll: Likewise.
32390         * modules/unictype/category-Lm: Likewise.
32391         * modules/unictype/category-Lo: Likewise.
32392         * modules/unictype/category-Lt: Likewise.
32393         * modules/unictype/category-Lu: Likewise.
32394         * modules/unictype/category-M: Likewise.
32395         * modules/unictype/category-Mc: Likewise.
32396         * modules/unictype/category-Me: Likewise.
32397         * modules/unictype/category-Mn: Likewise.
32398         * modules/unictype/category-N: Likewise.
32399         * modules/unictype/category-Nd: Likewise.
32400         * modules/unictype/category-Nl: Likewise.
32401         * modules/unictype/category-No: Likewise.
32402         * modules/unictype/category-P: Likewise.
32403         * modules/unictype/category-Pc: Likewise.
32404         * modules/unictype/category-Pd: Likewise.
32405         * modules/unictype/category-Pe: Likewise.
32406         * modules/unictype/category-Pf: Likewise.
32407         * modules/unictype/category-Pi: Likewise.
32408         * modules/unictype/category-Po: Likewise.
32409         * modules/unictype/category-Ps: Likewise.
32410         * modules/unictype/category-S: Likewise.
32411         * modules/unictype/category-Sc: Likewise.
32412         * modules/unictype/category-Sk: Likewise.
32413         * modules/unictype/category-Sm: Likewise.
32414         * modules/unictype/category-So: Likewise.
32415         * modules/unictype/category-Z: Likewise.
32416         * modules/unictype/category-Zl: Likewise.
32417         * modules/unictype/category-Zp: Likewise.
32418         * modules/unictype/category-Zs: Likewise.
32419         * modules/unictype/category-and: Likewise.
32420         * modules/unictype/category-and-not: Likewise.
32421         * modules/unictype/category-byname: Likewise.
32422         * modules/unictype/category-name: Likewise.
32423         * modules/unictype/category-none: Likewise.
32424         * modules/unictype/category-of: Likewise.
32425         * modules/unictype/category-or: Likewise.
32426         * modules/unictype/category-test: Likewise.
32427         * modules/unictype/combining-class: Likewise.
32428         * modules/unictype/ctype-alnum: Likewise.
32429         * modules/unictype/ctype-alpha: Likewise.
32430         * modules/unictype/ctype-blank: Likewise.
32431         * modules/unictype/ctype-cntrl: Likewise.
32432         * modules/unictype/ctype-digit: Likewise.
32433         * modules/unictype/ctype-graph: Likewise.
32434         * modules/unictype/ctype-lower: Likewise.
32435         * modules/unictype/ctype-print: Likewise.
32436         * modules/unictype/ctype-punct: Likewise.
32437         * modules/unictype/ctype-space: Likewise.
32438         * modules/unictype/ctype-upper: Likewise.
32439         * modules/unictype/ctype-xdigit: Likewise.
32440         * modules/unictype/decimal-digit: Likewise.
32441         * modules/unictype/digit: Likewise.
32442         * modules/unictype/mirror: Likewise.
32443         * modules/unictype/numeric: Likewise.
32444         * modules/unictype/property-alphabetic: Likewise.
32445         * modules/unictype/property-ascii-hex-digit: Likewise.
32446         * modules/unictype/property-bidi-arabic-digit: Likewise.
32447         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32448         * modules/unictype/property-bidi-block-separator: Likewise.
32449         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32450         * modules/unictype/property-bidi-common-separator: Likewise.
32451         * modules/unictype/property-bidi-control: Likewise.
32452         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32453         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32454         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32455         * modules/unictype/property-bidi-european-digit: Likewise.
32456         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32457         * modules/unictype/property-bidi-left-to-right: Likewise.
32458         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32459         * modules/unictype/property-bidi-other-neutral: Likewise.
32460         * modules/unictype/property-bidi-pdf: Likewise.
32461         * modules/unictype/property-bidi-segment-separator: Likewise.
32462         * modules/unictype/property-bidi-whitespace: Likewise.
32463         * modules/unictype/property-byname: Likewise.
32464         * modules/unictype/property-combining: Likewise.
32465         * modules/unictype/property-composite: Likewise.
32466         * modules/unictype/property-currency-symbol: Likewise.
32467         * modules/unictype/property-dash: Likewise.
32468         * modules/unictype/property-decimal-digit: Likewise.
32469         * modules/unictype/property-default-ignorable-code-point: Likewise.
32470         * modules/unictype/property-deprecated: Likewise.
32471         * modules/unictype/property-diacritic: Likewise.
32472         * modules/unictype/property-extender: Likewise.
32473         * modules/unictype/property-format-control: Likewise.
32474         * modules/unictype/property-grapheme-base: Likewise.
32475         * modules/unictype/property-grapheme-extend: Likewise.
32476         * modules/unictype/property-grapheme-link: Likewise.
32477         * modules/unictype/property-hex-digit: Likewise.
32478         * modules/unictype/property-hyphen: Likewise.
32479         * modules/unictype/property-id-continue: Likewise.
32480         * modules/unictype/property-id-start: Likewise.
32481         * modules/unictype/property-ideographic: Likewise.
32482         * modules/unictype/property-ids-binary-operator: Likewise.
32483         * modules/unictype/property-ids-trinary-operator: Likewise.
32484         * modules/unictype/property-ignorable-control: Likewise.
32485         * modules/unictype/property-iso-control: Likewise.
32486         * modules/unictype/property-join-control: Likewise.
32487         * modules/unictype/property-left-of-pair: Likewise.
32488         * modules/unictype/property-line-separator: Likewise.
32489         * modules/unictype/property-logical-order-exception: Likewise.
32490         * modules/unictype/property-lowercase: Likewise.
32491         * modules/unictype/property-math: Likewise.
32492         * modules/unictype/property-non-break: Likewise.
32493         * modules/unictype/property-not-a-character: Likewise.
32494         * modules/unictype/property-numeric: Likewise.
32495         * modules/unictype/property-other-alphabetic: Likewise.
32496         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32497         * modules/unictype/property-other-grapheme-extend: Likewise.
32498         * modules/unictype/property-other-id-continue: Likewise.
32499         * modules/unictype/property-other-id-start: Likewise.
32500         * modules/unictype/property-other-lowercase: Likewise.
32501         * modules/unictype/property-other-math: Likewise.
32502         * modules/unictype/property-other-uppercase: Likewise.
32503         * modules/unictype/property-paired-punctuation: Likewise.
32504         * modules/unictype/property-paragraph-separator: Likewise.
32505         * modules/unictype/property-pattern-syntax: Likewise.
32506         * modules/unictype/property-pattern-white-space: Likewise.
32507         * modules/unictype/property-private-use: Likewise.
32508         * modules/unictype/property-punctuation: Likewise.
32509         * modules/unictype/property-quotation-mark: Likewise.
32510         * modules/unictype/property-radical: Likewise.
32511         * modules/unictype/property-sentence-terminal: Likewise.
32512         * modules/unictype/property-soft-dotted: Likewise.
32513         * modules/unictype/property-space: Likewise.
32514         * modules/unictype/property-terminal-punctuation: Likewise.
32515         * modules/unictype/property-test: Likewise.
32516         * modules/unictype/property-titlecase: Likewise.
32517         * modules/unictype/property-unassigned-code-value: Likewise.
32518         * modules/unictype/property-unified-ideograph: Likewise.
32519         * modules/unictype/property-uppercase: Likewise.
32520         * modules/unictype/property-variation-selector: Likewise.
32521         * modules/unictype/property-white-space: Likewise.
32522         * modules/unictype/property-xid-continue: Likewise.
32523         * modules/unictype/property-xid-start: Likewise.
32524         * modules/unictype/property-zero-width: Likewise.
32525         * modules/unictype/scripts: Likewise.
32526         * modules/unictype/syntax-c-ident: Likewise.
32527         * modules/unictype/syntax-c-whitespace: Likewise.
32528         * modules/unictype/syntax-java-ident: Likewise.
32529         * modules/unictype/syntax-java-whitespace: Likewise.
32530         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32531         * modules/unilbrk/u8-width-linebreaks: Likewise.
32532         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32533         * modules/unilbrk/u16-width-linebreaks: Likewise.
32534         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32535         * modules/unilbrk/u32-width-linebreaks: Likewise.
32536         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32537         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32538         * modules/uniname/uniname: Likewise.
32539         * modules/uninorm/canonical-decomposition: Likewise.
32540         * modules/uninorm/composition: Likewise.
32541         * modules/uninorm/decomposing-form: Likewise.
32542         * modules/uninorm/decomposition: Likewise.
32543         * modules/uninorm/filter: Likewise.
32544         * modules/uninorm/nfc: Likewise.
32545         * modules/uninorm/nfd: Likewise.
32546         * modules/uninorm/nfkc: Likewise.
32547         * modules/uninorm/nfkd: Likewise.
32548         * modules/uninorm/u8-normalize: Likewise.
32549         * modules/uninorm/u8-normcmp: Likewise.
32550         * modules/uninorm/u8-normcoll: Likewise.
32551         * modules/uninorm/u8-normxfrm: Likewise.
32552         * modules/uninorm/u16-normalize: Likewise.
32553         * modules/uninorm/u16-normcmp: Likewise.
32554         * modules/uninorm/u16-normcoll: Likewise.
32555         * modules/uninorm/u16-normxfrm: Likewise.
32556         * modules/uninorm/u32-normalize: Likewise.
32557         * modules/uninorm/u32-normcmp: Likewise.
32558         * modules/uninorm/u32-normcoll: Likewise.
32559         * modules/uninorm/u32-normxfrm: Likewise.
32560         * modules/unistdio/u8-asnprintf: Likewise.
32561         * modules/unistdio/u8-asprintf: Likewise.
32562         * modules/unistdio/u8-snprintf: Likewise.
32563         * modules/unistdio/u8-sprintf: Likewise.
32564         * modules/unistdio/u8-u8-asnprintf: Likewise.
32565         * modules/unistdio/u8-u8-asprintf: Likewise.
32566         * modules/unistdio/u8-u8-snprintf: Likewise.
32567         * modules/unistdio/u8-u8-sprintf: Likewise.
32568         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32569         * modules/unistdio/u8-u8-vasprintf: Likewise.
32570         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32571         * modules/unistdio/u8-u8-vsprintf: Likewise.
32572         * modules/unistdio/u8-vasnprintf: Likewise.
32573         * modules/unistdio/u8-vasprintf: Likewise.
32574         * modules/unistdio/u8-vsnprintf: Likewise.
32575         * modules/unistdio/u8-vsprintf: Likewise.
32576         * modules/unistdio/u16-asnprintf: Likewise.
32577         * modules/unistdio/u16-asprintf: Likewise.
32578         * modules/unistdio/u16-snprintf: Likewise.
32579         * modules/unistdio/u16-sprintf: Likewise.
32580         * modules/unistdio/u16-u16-asnprintf: Likewise.
32581         * modules/unistdio/u16-u16-asprintf: Likewise.
32582         * modules/unistdio/u16-u16-snprintf: Likewise.
32583         * modules/unistdio/u16-u16-sprintf: Likewise.
32584         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32585         * modules/unistdio/u16-u16-vasprintf: Likewise.
32586         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32587         * modules/unistdio/u16-u16-vsprintf: Likewise.
32588         * modules/unistdio/u16-vasnprintf: Likewise.
32589         * modules/unistdio/u16-vasprintf: Likewise.
32590         * modules/unistdio/u16-vsnprintf: Likewise.
32591         * modules/unistdio/u16-vsprintf: Likewise.
32592         * modules/unistdio/u32-asnprintf: Likewise.
32593         * modules/unistdio/u32-asprintf: Likewise.
32594         * modules/unistdio/u32-snprintf: Likewise.
32595         * modules/unistdio/u32-sprintf: Likewise.
32596         * modules/unistdio/u32-u32-asnprintf: Likewise.
32597         * modules/unistdio/u32-u32-asprintf: Likewise.
32598         * modules/unistdio/u32-u32-snprintf: Likewise.
32599         * modules/unistdio/u32-u32-sprintf: Likewise.
32600         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32601         * modules/unistdio/u32-u32-vasprintf: Likewise.
32602         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32603         * modules/unistdio/u32-u32-vsprintf: Likewise.
32604         * modules/unistdio/u32-vasnprintf: Likewise.
32605         * modules/unistdio/u32-vasprintf: Likewise.
32606         * modules/unistdio/u32-vsnprintf: Likewise.
32607         * modules/unistdio/u32-vsprintf: Likewise.
32608         * modules/unistdio/ulc-asnprintf: Likewise.
32609         * modules/unistdio/ulc-asprintf: Likewise.
32610         * modules/unistdio/ulc-fprintf: Likewise.
32611         * modules/unistdio/ulc-snprintf: Likewise.
32612         * modules/unistdio/ulc-sprintf: Likewise.
32613         * modules/unistdio/ulc-vasnprintf: Likewise.
32614         * modules/unistdio/ulc-vasprintf: Likewise.
32615         * modules/unistdio/ulc-vfprintf: Likewise.
32616         * modules/unistdio/ulc-vsnprintf: Likewise.
32617         * modules/unistdio/ulc-vsprintf: Likewise.
32618         * modules/unistr/u8-check: Likewise.
32619         * modules/unistr/u8-chr: Likewise.
32620         * modules/unistr/u8-cmp: Likewise.
32621         * modules/unistr/u8-cmp2: Likewise.
32622         * modules/unistr/u8-cpy: Likewise.
32623         * modules/unistr/u8-cpy-alloc: Likewise.
32624         * modules/unistr/u8-endswith: Likewise.
32625         * modules/unistr/u8-mblen: Likewise.
32626         * modules/unistr/u8-mbsnlen: Likewise.
32627         * modules/unistr/u8-mbtouc: Likewise.
32628         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32629         * modules/unistr/u8-mbtoucr: Likewise.
32630         * modules/unistr/u8-move: Likewise.
32631         * modules/unistr/u8-next: Likewise.
32632         * modules/unistr/u8-prev: Likewise.
32633         * modules/unistr/u8-set: Likewise.
32634         * modules/unistr/u8-startswith: Likewise.
32635         * modules/unistr/u8-stpcpy: Likewise.
32636         * modules/unistr/u8-stpncpy: Likewise.
32637         * modules/unistr/u8-strcat: Likewise.
32638         * modules/unistr/u8-strchr: Likewise.
32639         * modules/unistr/u8-strcmp: Likewise.
32640         * modules/unistr/u8-strcoll: Likewise.
32641         * modules/unistr/u8-strcpy: Likewise.
32642         * modules/unistr/u8-strcspn: Likewise.
32643         * modules/unistr/u8-strdup: Likewise.
32644         * modules/unistr/u8-strlen: Likewise.
32645         * modules/unistr/u8-strmblen: Likewise.
32646         * modules/unistr/u8-strmbtouc: Likewise.
32647         * modules/unistr/u8-strncat: Likewise.
32648         * modules/unistr/u8-strncmp: Likewise.
32649         * modules/unistr/u8-strncpy: Likewise.
32650         * modules/unistr/u8-strnlen: Likewise.
32651         * modules/unistr/u8-strpbrk: Likewise.
32652         * modules/unistr/u8-strrchr: Likewise.
32653         * modules/unistr/u8-strspn: Likewise.
32654         * modules/unistr/u8-strstr: Likewise.
32655         * modules/unistr/u8-strtok: Likewise.
32656         * modules/unistr/u8-to-u16: Likewise.
32657         * modules/unistr/u8-to-u32: Likewise.
32658         * modules/unistr/u8-uctomb: Likewise.
32659         * modules/unistr/u16-check: Likewise.
32660         * modules/unistr/u16-chr: Likewise.
32661         * modules/unistr/u16-cmp: Likewise.
32662         * modules/unistr/u16-cmp2: Likewise.
32663         * modules/unistr/u16-cpy: Likewise.
32664         * modules/unistr/u16-cpy-alloc: Likewise.
32665         * modules/unistr/u16-endswith: Likewise.
32666         * modules/unistr/u16-mblen: Likewise.
32667         * modules/unistr/u16-mbsnlen: Likewise.
32668         * modules/unistr/u16-mbtouc: Likewise.
32669         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32670         * modules/unistr/u16-mbtoucr: Likewise.
32671         * modules/unistr/u16-move: Likewise.
32672         * modules/unistr/u16-next: Likewise.
32673         * modules/unistr/u16-prev: Likewise.
32674         * modules/unistr/u16-set: Likewise.
32675         * modules/unistr/u16-startswith: Likewise.
32676         * modules/unistr/u16-stpcpy: Likewise.
32677         * modules/unistr/u16-stpncpy: Likewise.
32678         * modules/unistr/u16-strcat: Likewise.
32679         * modules/unistr/u16-strchr: Likewise.
32680         * modules/unistr/u16-strcmp: Likewise.
32681         * modules/unistr/u16-strcoll: Likewise.
32682         * modules/unistr/u16-strcpy: Likewise.
32683         * modules/unistr/u16-strcspn: Likewise.
32684         * modules/unistr/u16-strdup: Likewise.
32685         * modules/unistr/u16-strlen: Likewise.
32686         * modules/unistr/u16-strmblen: Likewise.
32687         * modules/unistr/u16-strmbtouc: Likewise.
32688         * modules/unistr/u16-strncat: Likewise.
32689         * modules/unistr/u16-strncmp: Likewise.
32690         * modules/unistr/u16-strncpy: Likewise.
32691         * modules/unistr/u16-strnlen: Likewise.
32692         * modules/unistr/u16-strpbrk: Likewise.
32693         * modules/unistr/u16-strrchr: Likewise.
32694         * modules/unistr/u16-strspn: Likewise.
32695         * modules/unistr/u16-strstr: Likewise.
32696         * modules/unistr/u16-strtok: Likewise.
32697         * modules/unistr/u16-to-u32: Likewise.
32698         * modules/unistr/u16-to-u8: Likewise.
32699         * modules/unistr/u16-uctomb: Likewise.
32700         * modules/unistr/u32-check: Likewise.
32701         * modules/unistr/u32-chr: Likewise.
32702         * modules/unistr/u32-cmp: Likewise.
32703         * modules/unistr/u32-cmp2: Likewise.
32704         * modules/unistr/u32-cpy: Likewise.
32705         * modules/unistr/u32-cpy-alloc: Likewise.
32706         * modules/unistr/u32-endswith: Likewise.
32707         * modules/unistr/u32-mblen: Likewise.
32708         * modules/unistr/u32-mbsnlen: Likewise.
32709         * modules/unistr/u32-mbtouc: Likewise.
32710         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32711         * modules/unistr/u32-mbtoucr: Likewise.
32712         * modules/unistr/u32-move: Likewise.
32713         * modules/unistr/u32-next: Likewise.
32714         * modules/unistr/u32-prev: Likewise.
32715         * modules/unistr/u32-set: Likewise.
32716         * modules/unistr/u32-startswith: Likewise.
32717         * modules/unistr/u32-stpcpy: Likewise.
32718         * modules/unistr/u32-stpncpy: Likewise.
32719         * modules/unistr/u32-strcat: Likewise.
32720         * modules/unistr/u32-strchr: Likewise.
32721         * modules/unistr/u32-strcmp: Likewise.
32722         * modules/unistr/u32-strcoll: Likewise.
32723         * modules/unistr/u32-strcpy: Likewise.
32724         * modules/unistr/u32-strcspn: Likewise.
32725         * modules/unistr/u32-strdup: Likewise.
32726         * modules/unistr/u32-strlen: Likewise.
32727         * modules/unistr/u32-strmblen: Likewise.
32728         * modules/unistr/u32-strmbtouc: Likewise.
32729         * modules/unistr/u32-strncat: Likewise.
32730         * modules/unistr/u32-strncmp: Likewise.
32731         * modules/unistr/u32-strncpy: Likewise.
32732         * modules/unistr/u32-strnlen: Likewise.
32733         * modules/unistr/u32-strpbrk: Likewise.
32734         * modules/unistr/u32-strrchr: Likewise.
32735         * modules/unistr/u32-strspn: Likewise.
32736         * modules/unistr/u32-strstr: Likewise.
32737         * modules/unistr/u32-strtok: Likewise.
32738         * modules/unistr/u32-to-u16: Likewise.
32739         * modules/unistr/u32-to-u8: Likewise.
32740         * modules/unistr/u32-uctomb: Likewise.
32741         * modules/uniwbrk/u8-wordbreaks: Likewise.
32742         * modules/uniwbrk/u16-wordbreaks: Likewise.
32743         * modules/uniwbrk/u32-wordbreaks: Likewise.
32744         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32745         * modules/uniwbrk/wordbreak-property: Likewise.
32746         * modules/uniwidth/u8-strwidth: Likewise.
32747         * modules/uniwidth/u8-width: Likewise.
32748         * modules/uniwidth/u16-strwidth: Likewise.
32749         * modules/uniwidth/u16-width: Likewise.
32750         * modules/uniwidth/u32-strwidth: Likewise.
32751         * modules/uniwidth/u32-width: Likewise.
32752         * modules/uniwidth/width: Likewise.
32753         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32754         with $(LIBUNISTRING).
32755         * modules/unicase/ignorable-tests: Likewise.
32756         * modules/unicase/locale-language-tests: Likewise.
32757         * modules/unicase/tolower-tests: Likewise.
32758         * modules/unicase/totitle-tests: Likewise.
32759         * modules/unicase/toupper-tests: Likewise.
32760         * modules/unicase/u8-casecmp-tests: Likewise.
32761         * modules/unicase/u8-casecoll-tests: Likewise.
32762         * modules/unicase/u8-casefold-tests: Likewise.
32763         * modules/unicase/u8-is-cased-tests: Likewise.
32764         * modules/unicase/u8-is-casefolded-tests: Likewise.
32765         * modules/unicase/u8-is-lowercase-tests: Likewise.
32766         * modules/unicase/u8-is-titlecase-tests: Likewise.
32767         * modules/unicase/u8-is-uppercase-tests: Likewise.
32768         * modules/unicase/u8-tolower-tests: Likewise.
32769         * modules/unicase/u8-totitle-tests: Likewise.
32770         * modules/unicase/u8-toupper-tests: Likewise.
32771         * modules/unicase/u16-casecmp-tests: Likewise.
32772         * modules/unicase/u16-casecoll-tests: Likewise.
32773         * modules/unicase/u16-casefold-tests: Likewise.
32774         * modules/unicase/u16-is-cased-tests: Likewise.
32775         * modules/unicase/u16-is-casefolded-tests: Likewise.
32776         * modules/unicase/u16-is-lowercase-tests: Likewise.
32777         * modules/unicase/u16-is-titlecase-tests: Likewise.
32778         * modules/unicase/u16-is-uppercase-tests: Likewise.
32779         * modules/unicase/u16-tolower-tests: Likewise.
32780         * modules/unicase/u16-totitle-tests: Likewise.
32781         * modules/unicase/u16-toupper-tests: Likewise.
32782         * modules/unicase/u32-casecmp-tests: Likewise.
32783         * modules/unicase/u32-casecoll-tests: Likewise.
32784         * modules/unicase/u32-casefold-tests: Likewise.
32785         * modules/unicase/u32-is-cased-tests: Likewise.
32786         * modules/unicase/u32-is-casefolded-tests: Likewise.
32787         * modules/unicase/u32-is-lowercase-tests: Likewise.
32788         * modules/unicase/u32-is-titlecase-tests: Likewise.
32789         * modules/unicase/u32-is-uppercase-tests: Likewise.
32790         * modules/unicase/u32-tolower-tests: Likewise.
32791         * modules/unicase/u32-totitle-tests: Likewise.
32792         * modules/unicase/u32-toupper-tests: Likewise.
32793         * modules/unicase/ulc-casecmp-tests: Likewise.
32794         * modules/unicase/ulc-casecoll-tests: Likewise.
32795         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32796         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32797         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32798         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32799         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32800         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32801         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32802         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32803         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32804         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32805         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32806         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32807         * modules/unictype/bidicategory-byname-tests: Likewise.
32808         * modules/unictype/bidicategory-name-tests: Likewise.
32809         * modules/unictype/bidicategory-of-tests: Likewise.
32810         * modules/unictype/bidicategory-test-tests: Likewise.
32811         * modules/unictype/block-list-tests: Likewise.
32812         * modules/unictype/block-of-tests: Likewise.
32813         * modules/unictype/block-test-tests: Likewise.
32814         * modules/unictype/category-C-tests: Likewise.
32815         * modules/unictype/category-Cc-tests: Likewise.
32816         * modules/unictype/category-Cf-tests: Likewise.
32817         * modules/unictype/category-Cn-tests: Likewise.
32818         * modules/unictype/category-Co-tests: Likewise.
32819         * modules/unictype/category-Cs-tests: Likewise.
32820         * modules/unictype/category-L-tests: Likewise.
32821         * modules/unictype/category-Ll-tests: Likewise.
32822         * modules/unictype/category-Lm-tests: Likewise.
32823         * modules/unictype/category-Lo-tests: Likewise.
32824         * modules/unictype/category-Lt-tests: Likewise.
32825         * modules/unictype/category-Lu-tests: Likewise.
32826         * modules/unictype/category-M-tests: Likewise.
32827         * modules/unictype/category-Mc-tests: Likewise.
32828         * modules/unictype/category-Me-tests: Likewise.
32829         * modules/unictype/category-Mn-tests: Likewise.
32830         * modules/unictype/category-N-tests: Likewise.
32831         * modules/unictype/category-Nd-tests: Likewise.
32832         * modules/unictype/category-Nl-tests: Likewise.
32833         * modules/unictype/category-No-tests: Likewise.
32834         * modules/unictype/category-P-tests: Likewise.
32835         * modules/unictype/category-Pc-tests: Likewise.
32836         * modules/unictype/category-Pd-tests: Likewise.
32837         * modules/unictype/category-Pe-tests: Likewise.
32838         * modules/unictype/category-Pf-tests: Likewise.
32839         * modules/unictype/category-Pi-tests: Likewise.
32840         * modules/unictype/category-Po-tests: Likewise.
32841         * modules/unictype/category-Ps-tests: Likewise.
32842         * modules/unictype/category-S-tests: Likewise.
32843         * modules/unictype/category-Sc-tests: Likewise.
32844         * modules/unictype/category-Sk-tests: Likewise.
32845         * modules/unictype/category-Sm-tests: Likewise.
32846         * modules/unictype/category-So-tests: Likewise.
32847         * modules/unictype/category-Z-tests: Likewise.
32848         * modules/unictype/category-Zl-tests: Likewise.
32849         * modules/unictype/category-Zp-tests: Likewise.
32850         * modules/unictype/category-Zs-tests: Likewise.
32851         * modules/unictype/category-and-not-tests: Likewise.
32852         * modules/unictype/category-and-tests: Likewise.
32853         * modules/unictype/category-byname-tests: Likewise.
32854         * modules/unictype/category-name-tests: Likewise.
32855         * modules/unictype/category-none-tests: Likewise.
32856         * modules/unictype/category-of-tests: Likewise.
32857         * modules/unictype/category-or-tests: Likewise.
32858         * modules/unictype/category-test-withtable-tests: Likewise.
32859         * modules/unictype/combining-class-tests: Likewise.
32860         * modules/unictype/ctype-alnum-tests: Likewise.
32861         * modules/unictype/ctype-alpha-tests: Likewise.
32862         * modules/unictype/ctype-blank-tests: Likewise.
32863         * modules/unictype/ctype-cntrl-tests: Likewise.
32864         * modules/unictype/ctype-digit-tests: Likewise.
32865         * modules/unictype/ctype-graph-tests: Likewise.
32866         * modules/unictype/ctype-lower-tests: Likewise.
32867         * modules/unictype/ctype-print-tests: Likewise.
32868         * modules/unictype/ctype-punct-tests: Likewise.
32869         * modules/unictype/ctype-space-tests: Likewise.
32870         * modules/unictype/ctype-upper-tests: Likewise.
32871         * modules/unictype/ctype-xdigit-tests: Likewise.
32872         * modules/unictype/decimal-digit-tests: Likewise.
32873         * modules/unictype/digit-tests: Likewise.
32874         * modules/unictype/mirror-tests: Likewise.
32875         * modules/unictype/numeric-tests: Likewise.
32876         * modules/unictype/property-alphabetic-tests: Likewise.
32877         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32878         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32879         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32880         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32881         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32882         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32883         * modules/unictype/property-bidi-control-tests: Likewise.
32884         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32885         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32886         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32887         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32888         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32889         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32890         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32891         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32892         * modules/unictype/property-bidi-pdf-tests: Likewise.
32893         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32894         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32895         * modules/unictype/property-byname-tests: Likewise.
32896         * modules/unictype/property-combining-tests: Likewise.
32897         * modules/unictype/property-composite-tests: Likewise.
32898         * modules/unictype/property-currency-symbol-tests: Likewise.
32899         * modules/unictype/property-dash-tests: Likewise.
32900         * modules/unictype/property-decimal-digit-tests: Likewise.
32901         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32902         * modules/unictype/property-deprecated-tests: Likewise.
32903         * modules/unictype/property-diacritic-tests: Likewise.
32904         * modules/unictype/property-extender-tests: Likewise.
32905         * modules/unictype/property-format-control-tests: Likewise.
32906         * modules/unictype/property-grapheme-base-tests: Likewise.
32907         * modules/unictype/property-grapheme-extend-tests: Likewise.
32908         * modules/unictype/property-grapheme-link-tests: Likewise.
32909         * modules/unictype/property-hex-digit-tests: Likewise.
32910         * modules/unictype/property-hyphen-tests: Likewise.
32911         * modules/unictype/property-id-continue-tests: Likewise.
32912         * modules/unictype/property-id-start-tests: Likewise.
32913         * modules/unictype/property-ideographic-tests: Likewise.
32914         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32915         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32916         * modules/unictype/property-ignorable-control-tests: Likewise.
32917         * modules/unictype/property-iso-control-tests: Likewise.
32918         * modules/unictype/property-join-control-tests: Likewise.
32919         * modules/unictype/property-left-of-pair-tests: Likewise.
32920         * modules/unictype/property-line-separator-tests: Likewise.
32921         * modules/unictype/property-logical-order-exception-tests: Likewise.
32922         * modules/unictype/property-lowercase-tests: Likewise.
32923         * modules/unictype/property-math-tests: Likewise.
32924         * modules/unictype/property-non-break-tests: Likewise.
32925         * modules/unictype/property-not-a-character-tests: Likewise.
32926         * modules/unictype/property-numeric-tests: Likewise.
32927         * modules/unictype/property-other-alphabetic-tests: Likewise.
32928         * modules/unictype/property-other-default-ignorable-code-point-tests:
32929         Likewise.
32930         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32931         * modules/unictype/property-other-id-continue-tests: Likewise.
32932         * modules/unictype/property-other-id-start-tests: Likewise.
32933         * modules/unictype/property-other-lowercase-tests: Likewise.
32934         * modules/unictype/property-other-math-tests: Likewise.
32935         * modules/unictype/property-other-uppercase-tests: Likewise.
32936         * modules/unictype/property-paired-punctuation-tests: Likewise.
32937         * modules/unictype/property-paragraph-separator-tests: Likewise.
32938         * modules/unictype/property-pattern-syntax-tests: Likewise.
32939         * modules/unictype/property-pattern-white-space-tests: Likewise.
32940         * modules/unictype/property-private-use-tests: Likewise.
32941         * modules/unictype/property-punctuation-tests: Likewise.
32942         * modules/unictype/property-quotation-mark-tests: Likewise.
32943         * modules/unictype/property-radical-tests: Likewise.
32944         * modules/unictype/property-sentence-terminal-tests: Likewise.
32945         * modules/unictype/property-soft-dotted-tests: Likewise.
32946         * modules/unictype/property-space-tests: Likewise.
32947         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32948         * modules/unictype/property-test-tests: Likewise.
32949         * modules/unictype/property-titlecase-tests: Likewise.
32950         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32951         * modules/unictype/property-unified-ideograph-tests: Likewise.
32952         * modules/unictype/property-uppercase-tests: Likewise.
32953         * modules/unictype/property-variation-selector-tests: Likewise.
32954         * modules/unictype/property-white-space-tests: Likewise.
32955         * modules/unictype/property-xid-continue-tests: Likewise.
32956         * modules/unictype/property-xid-start-tests: Likewise.
32957         * modules/unictype/property-zero-width-tests: Likewise.
32958         * modules/unictype/scripts-tests: Likewise.
32959         * modules/unictype/syntax-c-ident-tests: Likewise.
32960         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32961         * modules/unictype/syntax-java-ident-tests: Likewise.
32962         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32963         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32964         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32965         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32966         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32967         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32968         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32969         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32970         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32971         * modules/uniname/uniname-tests: Likewise.
32972         * modules/uninorm/canonical-decomposition-tests: Likewise.
32973         * modules/uninorm/compat-decomposition-tests: Likewise.
32974         * modules/uninorm/composition-tests: Likewise.
32975         * modules/uninorm/decomposing-form-tests: Likewise.
32976         * modules/uninorm/decomposition-tests: Likewise.
32977         * modules/uninorm/filter-tests: Likewise.
32978         * modules/uninorm/nfc-tests: Likewise.
32979         * modules/uninorm/nfd-tests: Likewise.
32980         * modules/uninorm/nfkc-tests: Likewise.
32981         * modules/uninorm/nfkd-tests: Likewise.
32982         * modules/uninorm/u8-normcmp-tests: Likewise.
32983         * modules/uninorm/u8-normcoll-tests: Likewise.
32984         * modules/uninorm/u16-normcmp-tests: Likewise.
32985         * modules/uninorm/u16-normcoll-tests: Likewise.
32986         * modules/uninorm/u32-normcmp-tests: Likewise.
32987         * modules/uninorm/u32-normcoll-tests: Likewise.
32988         * modules/unistdio/u8-asnprintf-tests: Likewise.
32989         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32990         * modules/unistdio/u8-vasprintf-tests: Likewise.
32991         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32992         * modules/unistdio/u8-vsprintf-tests: Likewise.
32993         * modules/unistdio/u16-asnprintf-tests: Likewise.
32994         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32995         * modules/unistdio/u16-vasprintf-tests: Likewise.
32996         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32997         * modules/unistdio/u16-vsprintf-tests: Likewise.
32998         * modules/unistdio/u32-asnprintf-tests: Likewise.
32999         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33000         * modules/unistdio/u32-vasprintf-tests: Likewise.
33001         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33002         * modules/unistdio/u32-vsprintf-tests: Likewise.
33003         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33004         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33005         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33006         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33007         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33008         * modules/unistr/u8-check-tests: Likewise.
33009         * modules/unistr/u8-chr-tests: Likewise.
33010         * modules/unistr/u8-cmp-tests: Likewise.
33011         * modules/unistr/u8-cmp2-tests: Likewise.
33012         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33013         * modules/unistr/u8-cpy-tests: Likewise.
33014         * modules/unistr/u8-mblen-tests: Likewise.
33015         * modules/unistr/u8-mbsnlen-tests: Likewise.
33016         * modules/unistr/u8-mbtouc-tests: Likewise.
33017         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33018         * modules/unistr/u8-mbtoucr-tests: Likewise.
33019         * modules/unistr/u8-move-tests: Likewise.
33020         * modules/unistr/u8-next-tests: Likewise.
33021         * modules/unistr/u8-prev-tests: Likewise.
33022         * modules/unistr/u8-set-tests: Likewise.
33023         * modules/unistr/u8-stpcpy-tests: Likewise.
33024         * modules/unistr/u8-stpncpy-tests: Likewise.
33025         * modules/unistr/u8-strcat-tests: Likewise.
33026         * modules/unistr/u8-strcmp-tests: Likewise.
33027         * modules/unistr/u8-strcoll-tests: Likewise.
33028         * modules/unistr/u8-strcpy-tests: Likewise.
33029         * modules/unistr/u8-strdup-tests: Likewise.
33030         * modules/unistr/u8-strlen-tests: Likewise.
33031         * modules/unistr/u8-strmblen-tests: Likewise.
33032         * modules/unistr/u8-strmbtouc-tests: Likewise.
33033         * modules/unistr/u8-strncat-tests: Likewise.
33034         * modules/unistr/u8-strncmp-tests: Likewise.
33035         * modules/unistr/u8-strncpy-tests: Likewise.
33036         * modules/unistr/u8-strnlen-tests: Likewise.
33037         * modules/unistr/u8-to-u16-tests: Likewise.
33038         * modules/unistr/u8-to-u32-tests: Likewise.
33039         * modules/unistr/u8-uctomb-tests: Likewise.
33040         * modules/unistr/u16-check-tests: Likewise.
33041         * modules/unistr/u16-chr-tests: Likewise.
33042         * modules/unistr/u16-cmp-tests: Likewise.
33043         * modules/unistr/u16-cmp2-tests: Likewise.
33044         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33045         * modules/unistr/u16-cpy-tests: Likewise.
33046         * modules/unistr/u16-mblen-tests: Likewise.
33047         * modules/unistr/u16-mbsnlen-tests: Likewise.
33048         * modules/unistr/u16-mbtouc-tests: Likewise.
33049         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33050         * modules/unistr/u16-mbtoucr-tests: Likewise.
33051         * modules/unistr/u16-move-tests: Likewise.
33052         * modules/unistr/u16-next-tests: Likewise.
33053         * modules/unistr/u16-prev-tests: Likewise.
33054         * modules/unistr/u16-set-tests: Likewise.
33055         * modules/unistr/u16-stpcpy-tests: Likewise.
33056         * modules/unistr/u16-stpncpy-tests: Likewise.
33057         * modules/unistr/u16-strcat-tests: Likewise.
33058         * modules/unistr/u16-strcmp-tests: Likewise.
33059         * modules/unistr/u16-strcoll-tests: Likewise.
33060         * modules/unistr/u16-strcpy-tests: Likewise.
33061         * modules/unistr/u16-strdup-tests: Likewise.
33062         * modules/unistr/u16-strlen-tests: Likewise.
33063         * modules/unistr/u16-strmblen-tests: Likewise.
33064         * modules/unistr/u16-strmbtouc-tests: Likewise.
33065         * modules/unistr/u16-strncat-tests: Likewise.
33066         * modules/unistr/u16-strncmp-tests: Likewise.
33067         * modules/unistr/u16-strncpy-tests: Likewise.
33068         * modules/unistr/u16-strnlen-tests: Likewise.
33069         * modules/unistr/u16-to-u32-tests: Likewise.
33070         * modules/unistr/u16-to-u8-tests: Likewise.
33071         * modules/unistr/u16-uctomb-tests: Likewise.
33072         * modules/unistr/u32-check-tests: Likewise.
33073         * modules/unistr/u32-chr-tests: Likewise.
33074         * modules/unistr/u32-cmp-tests: Likewise.
33075         * modules/unistr/u32-cmp2-tests: Likewise.
33076         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33077         * modules/unistr/u32-cpy-tests: Likewise.
33078         * modules/unistr/u32-mblen-tests: Likewise.
33079         * modules/unistr/u32-mbsnlen-tests: Likewise.
33080         * modules/unistr/u32-mbtouc-tests: Likewise.
33081         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33082         * modules/unistr/u32-mbtoucr-tests: Likewise.
33083         * modules/unistr/u32-move-tests: Likewise.
33084         * modules/unistr/u32-next-tests: Likewise.
33085         * modules/unistr/u32-prev-tests: Likewise.
33086         * modules/unistr/u32-set-tests: Likewise.
33087         * modules/unistr/u32-stpcpy-tests: Likewise.
33088         * modules/unistr/u32-stpncpy-tests: Likewise.
33089         * modules/unistr/u32-strcat-tests: Likewise.
33090         * modules/unistr/u32-strcmp-tests: Likewise.
33091         * modules/unistr/u32-strcoll-tests: Likewise.
33092         * modules/unistr/u32-strcpy-tests: Likewise.
33093         * modules/unistr/u32-strdup-tests: Likewise.
33094         * modules/unistr/u32-strlen-tests: Likewise.
33095         * modules/unistr/u32-strmblen-tests: Likewise.
33096         * modules/unistr/u32-strmbtouc-tests: Likewise.
33097         * modules/unistr/u32-strncat-tests: Likewise.
33098         * modules/unistr/u32-strncmp-tests: Likewise.
33099         * modules/unistr/u32-strncpy-tests: Likewise.
33100         * modules/unistr/u32-strnlen-tests: Likewise.
33101         * modules/unistr/u32-to-u16-tests: Likewise.
33102         * modules/unistr/u32-to-u8-tests: Likewise.
33103         * modules/unistr/u32-uctomb-tests: Likewise.
33104         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33105         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33106         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33107         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33108         * modules/uniwidth/u8-strwidth-tests: Likewise.
33109         * modules/uniwidth/u8-width-tests: Likewise.
33110         * modules/uniwidth/u16-strwidth-tests: Likewise.
33111         * modules/uniwidth/u16-width-tests: Likewise.
33112         * modules/uniwidth/u32-strwidth-tests: Likewise.
33113         * modules/uniwidth/u32-width-tests: Likewise.
33114         * modules/uniwidth/width-tests: Likewise.
33115
33116 2010-05-18  Richard Jones  <rjones@redhat.com>
33117
33118         doc: users.txt: list hivex
33119         * users.txt: Add hivex.
33120
33121 2010-05-18  Richard Jones  <rjones@redhat.com>
33122
33123         doc: users.txt: list febootstrap
33124         * users.txt: Add febootstrap.
33125
33126 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33127
33128         bootstrap: fix an error when gnulib is not used as a git submodule
33129         * build-aux/bootstrap (gnulib_path): If its length is zero then
33130         assign "gnulib" to it.
33131         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33132
33133 2010-05-16  Bruno Haible  <bruno@clisp.org>
33134
33135         Avoid autoconf warnings about AM_ICONV.
33136         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33137         2.64.
33138
33139 2010-05-16  Bruno Haible  <bruno@clisp.org>
33140
33141         absolute-header: Make the macro usable in more situations.
33142         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33143         from gl_ABSOLUTE_HEADER.
33144         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33145
33146 2010-05-16  James Youngman  <jay@gnu.org>
33147
33148         doc: update users.txt
33149         * users.txt: Add CSSC.
33150
33151 2010-05-16  Jim Meyering  <meyering@redhat.com>
33152
33153         init.sh: fix an error in the previous change; add more comments
33154         * tests/init.sh: Compare exit code in loop against 9, not 2.
33155         Patch by Bruno Haible.
33156         Make the two tests more similar by adding an empty "then" clause.
33157         Add comments.
33158
33159         init.sh: avoid unnecessary shell re-exec
33160         * tests/init.sh: Improve the re-exec-required check to first test the
33161         current shell.  If it passes the test, do not search for a shell that
33162         does pass, and do not re-exec.  This test is particularly contorted to
33163         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33164         of $(...) evokes a syntax error and causes immediate shell exit with
33165         status 2.  Bruno Haible reported that the re-exec made it impossible
33166         to single-step through any init.sh-using script.
33167
33168 2010-05-16  Bruno Haible  <bruno@clisp.org>
33169
33170         Fix collision between gnulib's and libintl's printf replacements.
33171         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33172         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33173         (printf): When using GNU C, map the __printf__ function to rpl_printf
33174         via __asm__. When not using GNU C, define rpl_printf instead of
33175         __printf__.
33176         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33177         commit.
33178         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33179         commit.
33180         * m4/asm-underscore.m4: New file.
33181         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33182         * modules/stdio (Files): Add m4/asm-underscore.m4.
33183         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33184         Reported by Ben Pfaff.
33185
33186 2010-05-16  Bruno Haible  <bruno@clisp.org>
33187
33188         verify: Avoid skipping the test on openSUSE 11.0.
33189         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33190
33191 2010-05-13  Bruno Haible  <bruno@clisp.org>
33192
33193         Avoid useless warnings from G++.
33194         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33195         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33196         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33197
33198 2010-05-11  Jim Meyering  <meyering@redhat.com>
33199
33200         maint.mk: tweak preceding change
33201         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33202         regexps tighter by anchoring at EOL, and make the new group "shy"
33203         for slightly decreased overhead.
33204
33205 2010-05-11  Eric Blake  <eblake@redhat.com>
33206
33207         maint.mk: gnulib doesn't guarantee NSIG
33208         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33209
33210 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33211
33212         test-pwrite.c: Remove unused variable declaration.
33213         * tests/test-pwrite.c (main): Remove read_buf declaration.
33214
33215         Remove useless test-pwrite.sh file.
33216         * tests/test-pwrite.sh: Delete file.
33217         * modules/pwrite-tests: Remove references.
33218         Reported by Bruno Haible.
33219
33220 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33221
33222         init.sh: fix a typo
33223         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33224
33225 2010-05-10  Jim Meyering  <meyering@redhat.com>
33226
33227         maint.mk: avoid using a temporary file in the always-defined-macros check
33228         * top/maint.mk (.re-defmac): Remove rule.
33229         (gl_trap_): Remove definition.
33230         (sc_prohibit_always-defined_macros): Rewrite not to create and
33231         depend on a temporary file.  Instead, depend on GNU grep's ability
33232         to read a list of regular expressions from stdin when given "-f -".
33233
33234 2010-05-09  Bruno Haible  <bruno@clisp.org>
33235
33236         Update to GNU gettext 0.18, part 1.
33237         * m4/gettext.m4: Update to GNU gettext 0.18.
33238         * m4/intl.m4: Likewise.
33239         * m4/po.m4: Likewise.
33240         * modules/gettext (Files): Add m4/fcntl-o.m4.
33241         (configure.ac): Require gettext infrastructure from version 0.18.
33242
33243 2010-05-09  Jim Meyering  <meyering@redhat.com>
33244
33245         init.sh: enable MALLOC_PERTURB_
33246         * tests/init.sh: Enable glibc's malloc-perturbing option.
33247
33248         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33249         With my recent change in init.sh from the two-line form:
33250             -#   : ${srcdir=.}
33251             -#   . "$srcdir/init.sh"; path_prepend_ .
33252             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33253         I noticed that using the one-line form would cause this test
33254         to fail with a false-positive, or to stop working altogether,
33255         depending on whether help-version changed or all the tests did.
33256         * top/maint.mk (_hv_regex): Remove this definition.
33257         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33258         (_hv_regex_strong): Use a stronger regex to check for conformance.
33259         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33260         Give a separate diagnostic for lack of conforming use.
33261
33262         maint.mk: prohibit definition of symbols defined by gnulib
33263         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33264         definition of symbols defined by gnulib.
33265
33266 2010-05-09  Bruno Haible  <bruno@clisp.org>
33267
33268         acl: Avoid test failure on Cygwin-hosted mingw.
33269         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33270
33271 2010-05-09  Bruno Haible  <bruno@clisp.org>
33272
33273         error: Use system's fcntl function.
33274         * lib/error.c (fcntl): Undefine.
33275
33276 2010-05-09  Jim Meyering  <meyering@redhat.com>
33277
33278         verify: adjust formatting to be more consistent
33279         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33280         argument-list '('s, and after one comma.
33281
33282 2010-05-09  Bruno Haible  <bruno@clisp.org>
33283
33284         error: More reliable output on mingw.
33285         * lib/error.c: Include <windows.h>.
33286         (is_open): New function.
33287         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33288         defined.
33289
33290 2010-05-09  Bruno Haible  <bruno@clisp.org>
33291
33292         vasnprintf: Fix syntax errors in libintl build on mingw.
33293         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33294         pad_ourselves and prec_ourselves after use.
33295
33296 2010-05-08  Bruno Haible  <bruno@clisp.org>
33297
33298         * lib/config.charset: Update comments for Cygwin 1.7.
33299         * lib/localcharset.c: Likewise.
33300
33301 2010-05-07  Jim Meyering  <meyering@redhat.com>
33302
33303         init.sh: improve comments
33304         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33305         . "${srcdir=.}/init.sh"; path_prepend_ .
33306         Add a note about path_prepend_ and the alternative of using
33307         TESTS_ENVIRONMENT.
33308
33309 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33310
33311         exclude: Unescape hashed patterns in wildcard mode.
33312         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33313         to the hash list.
33314         * tests/test-exclude8.sh: New test case.
33315         * modules/exclude-tests: Add new test.
33316
33317 2010-05-05  Eric Blake  <eblake@redhat.com>
33318
33319         verify: automate tests
33320         * modules/verify-tests: New module.
33321         * tests/test-verify.sh: New file.
33322         * tests/test-verify.c: Guard each negative test with a unique id.
33323         Also avoid warning about unused left hand of comma expressions.
33324
33325 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33326
33327         Further improvements to verify.h, suggested by Eric Blake.
33328         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33329         the GL_* versions, to avoid collision with OpenGL.
33330         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33331         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33332         than testing merely whether it's defined.
33333
33334         Modify verify.h to pacify gcc -Wredundant_decls.
33335         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33336         These use the prefix "GL_" since they're likely to be useful elsewhere.
33337         We may need to break them out into a different .h file.
33338         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33339         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33340         of verify_function__.
33341
33342 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33343
33344         Tests for module pwrite.
33345         * modules/pwrite-tests: New file.
33346         * tests/test-pwrite.sh: New file.
33347         * tests/test-pwrite.c: New file.
33348
33349         New module pwrite.
33350         * lib/unistd.in.h (pwrite): New declaration.
33351         * lib/pwrite.c: New file, from glibc with modifications.
33352         * m4/pwrite.m4: New file.
33353         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33354         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33355         REPLACE_PWRITE.
33356         * modules/pwrite: New file.
33357         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33358         REPLACE_PWRITE.
33359         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33360         * doc/posix-functions/pwrite.texi: Mention the new module.
33361
33362 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33363
33364         pread: Update documentation.
33365         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33366
33367 2010-05-04  Eric Blake  <eblake@redhat.com>
33368
33369         docs: update cygwin progress
33370         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33371         this bug.
33372         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33373         Added in cygwin 1.7.2.
33374         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33375         Likewise.
33376         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33377         Likewise.
33378         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33379         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33380         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33381         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33382         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33383         Mention nproc module.
33384         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33385         bug in cygwin 1.7.5 addition.
33386         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33387         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33388         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33389         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33390         1.7.5.
33391         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33392         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33393         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33394         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33395         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33396         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33397         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33398         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33399         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33400         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33401         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33402         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33403         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33404         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33405         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33406         Likewise.
33407         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33408         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33409         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33410         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33411         Likewise.
33412         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33413         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33414         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33415         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33416         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33417         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33418         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33419         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33420         Likewise.
33421         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33422         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33423         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33424         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33425         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33426         Likewise.
33427         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33428         Likewise.
33429         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33430         Likewise.
33431         * doc/glibc-functions/xdrrec_endofrecord.texi
33432         (xdrrec_endofrecord): Likewise.
33433         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33434         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33435         Likewise.
33436         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33437         Likewise.
33438
33439 2010-05-04  Jim Meyering  <meyering@redhat.com>
33440
33441         gendocs.sh: make its "-s FILE" option more useful
33442         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33443         $PACKAGE to reflect the probably-different basename of "FILE".
33444
33445 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33446
33447         bootstrap: don't ignore download_po_files failure
33448         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33449         failure.
33450
33451 2010-05-03  Jim Meyering  <meyering@redhat.com>
33452
33453         maint.mk: allow to pass options to gendocs.sh
33454         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33455         (gendocs_options_): New overridable variable.
33456
33457         gnu-web-doc-update: don't ignore configure or build failure
33458         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33459
33460         announce-gen: backslash-escape '@'s in --help output
33461         * build-aux/announce-gen: Fix syntax errors.
33462
33463         maint.mk, announce-gen: allow project-specific announcement mail headers
33464         * top/maint.mk (translation_project_): Define default.
33465         (announcement_Cc_, announcement_mail_headers_): Likewise.
33466         (announcement): Invoke announce-gen with new --mail-headers option.
33467         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33468
33469         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33470         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33471         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33472         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33473         line in the "err2" output file when running "make check" in verbose
33474         mode (i.e., with set -x enabled).
33475
33476 2010-05-03  Bruno Haible  <bruno@clisp.org>
33477
33478         wctob: Fix for weird platforms.
33479         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33480         argument value.
33481
33482 2010-05-03  Jim Meyering  <meyering@redhat.com>
33483
33484         maint.mk: prohibit unwarranted use of <strings.h>
33485         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33486         strings.h in a file that does not also use strcasecmp, strncasecmp,
33487         ffs or ffsll.
33488
33489         maint.mk: remove obsolete comments
33490         * top/maint.mk: Remove stale, commented-out rules.
33491
33492 2010-05-02  Bruno Haible  <bruno@clisp.org>
33493
33494         wcwidth: Declare also when it's aliased.
33495         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33496         macro.
33497
33498 2010-05-02  Bruno Haible  <bruno@clisp.org>
33499
33500         Fix regression from 2010-04-25.
33501         * gnulib-tool (func_modules_transitive_closure): Check the status of
33502         all modules, not only of the tests that are of the form foo-tests where
33503         foo is a module.
33504
33505 2010-05-02  Bruno Haible  <bruno@clisp.org>
33506
33507         wctob: Work around nasty Cygwin 1.7.2 bug.
33508         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33509         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33510
33511 2010-05-01  Bruno Haible  <bruno@clisp.org>
33512
33513         fpurge: Sharper test.
33514         * tests/test-fpurge.c (main): Add one more ftell check.
33515         * modules/fpurge-tests (Depends-on): Add ftell.
33516         Suggested by Eric Blake.
33517
33518 2010-05-01  Bruno Haible  <bruno@clisp.org>
33519
33520         ftello: Another test.
33521         * tests/test-ftello3.c: New file.
33522         * modules/ftello-tests (Files): Add it.
33523         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33524         MOSTLYCLEANFILES.
33525
33526         ftell: Another test.
33527         * tests/test-ftell3.c: New file.
33528         * modules/ftell-tests (Files): Add it.
33529         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33530         MOSTLYCLEANFILES.
33531
33532 2010-05-01  Bruno Haible  <bruno@clisp.org>
33533
33534         ftell, ftello: Work around Solaris bug.
33535         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33536         * lib/ftello.c: Include stdio-impl.h.
33537         (ftello): On Solaris, when _IOWRT is set, compute the result without
33538         looking at _IOREAD.
33539         * modules/ftello (Files): Add lib/stdio-impl.h.
33540         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33541         * doc/posix-functions/ftello.texi: Likewise.
33542         Reported by Eric Blake.
33543
33544 2010-05-01  Bruno Haible  <bruno@clisp.org>
33545
33546         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33547         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33548         the _IOWRT flag is also set.
33549
33550 2010-05-01  Bruno Haible  <bruno@clisp.org>
33551
33552         Fix doc about a HP-UX stdio bug.
33553         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33554         * doc/posix-functions/ftello.texi: Likewise.
33555
33556 2010-05-01  Bruno Haible  <bruno@clisp.org>
33557
33558         lseek test: Fix failure on Solaris.
33559         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33560         output.
33561
33562 2010-04-30  Jim Meyering  <meyering@redhat.com>
33563
33564         bootstrap: don't ignore failure to generate po*/Makevars
33565         * build-aux/bootstrap (with_gettext): Don't ignore failure
33566         to create po/Makevars or runtime-po/Makevars.
33567
33568 2010-04-29  Eric Blake  <eblake@redhat.com>
33569
33570         headers: relax license to LGPLv2+
33571         * modules/fcntl-h (License): Relax license.
33572         * modules/getopt-posix (License): Likewise.
33573         * modules/locale (License): Likewise.
33574         * modules/math (License): Likewise.
33575         * modules/pty (License): Likewise.
33576         * modules/sched (License): Likewise.
33577         * modules/search (License): Likewise.
33578         * modules/spawn (License): Likewise.
33579         * modules/stdarg (License): Likewise.
33580         * modules/sysexits (License): Likewise.
33581
33582 2010-04-29  Jim Meyering  <meyering@redhat.com>
33583
33584         inttypes: relax license to LGPLv2+
33585         * modules/inttypes (License): Relax license.
33586
33587 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33588
33589         * top/maint.mk (indent): Run twice to produce idempotent results.
33590
33591 2010-04-28  Bruno Haible  <bruno@clisp.org>
33592
33593         getdate: Generate getdate.c in the source directory.
33594         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33595         MOSTLYCLEANFILES.
33596         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33597
33598 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33599
33600         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33601         is not declared as a const *; avoid warnings in that case.
33602
33603 2010-04-28  Eric Blake  <eblake@redhat.com>
33604
33605         canonicalize-lgpl: avoid compiler warning
33606         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33607         declaration' / 'extraneous semicolon' warning with some compilers.
33608         Reported by Andreas Gruenbacher.
33609
33610 2010-04-28  Jim Meyering  <meyering@redhat.com>
33611
33612         init.sh: ensure a more reliable exit status when exiting via trap
33613         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33614         Inspired by patches from Dmitry V. Levin.
33615         Also trap on signal 3 (SIGQUIT).
33616
33617 2010-04-27  Bruno Haible  <bruno@clisp.org>
33618
33619         Update doc about utimes().
33620         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33621         'utimens' module.
33622         Reported by Andreas Gruenbacher <agruen@suse.de>.
33623
33624 2010-04-27  Eric Blake  <eblake@redhat.com>
33625
33626         full-read, full-write: relax license
33627         * modules/full-read (License): Drop to LGPLv2+.
33628         * modules/full-write (License): Likewise.
33629         * modules/safe-read (License): Likewise.
33630         * modules/safe-write (License): Likewise.
33631
33632         pthread: mention library for linking
33633         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33634
33635 2010-04-27  Jim Meyering  <meyering@redhat.com>
33636
33637         maint.mk: fix a bug introduced in last change
33638         * top/maint.mk (gl_assured_headers_): Now that all names are on
33639         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33640         is not anchored to end of word, it should be adequate.
33641
33642         maint.mk: avoid side-effect in latest syntax-check
33643         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33644         to run commands via $(shell...), and hence to incur cost only when
33645         the new rule is actually run.
33646
33647         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33648         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33649         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33650         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33651         (gl_assured_headers_, az_, AZ_): Define.
33652         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33653
33654 2010-04-26  Jim Meyering  <jim@meyering.net>
33655             Bruno Haible  <bruno@clisp.org>
33656
33657         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33658         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33659         Prompted by an exchange with Gilles Espinasse.
33660
33661 2010-04-26  Jim Meyering  <meyering@redhat.com>
33662
33663         git-version-gen: aesthetic tweak
33664         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33665         so that the command remains on a single line.
33666
33667 2010-04-26  Eric Blake  <eblake@redhat.com>
33668
33669         git-version-gen: allow use on EBCDIC hosts
33670         * build-aux/git-version-gen (dirty): Use literal rather than tying
33671         ourselves to ascii.
33672         Reported by Steve Goetze.
33673
33674 2010-04-25  Bruno Haible  <bruno@clisp.org>
33675
33676         netdb: Add support for GNULIB_POSIXCHECK.
33677         * lib/netdb.in.h: Include warn-on-use.h.
33678         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33679         functions are used when GNULIB_POSIXCHECK is defined and the
33680         getaddrinfo module is not in use.
33681         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33682         freeaddrinfo, gai_strerror, getnameinfo are declared.
33683         * modules/netdb (Depends-on): Add warn-on-use.
33684         (Makefile.am): Include warn-on-use.h in netdb.h.
33685
33686 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33687
33688         build: avoid "make check" failure without .git/ directory
33689         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33690         there is no .git/ directory.
33691
33692 2010-04-25  Bruno Haible  <bruno@clisp.org>
33693
33694         ptsname: Fix misuse of ttyname_r.
33695         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33696         of errno.
33697
33698 2010-04-25  Bruno Haible  <bruno@clisp.org>
33699
33700         ttyname_r: Make it work on Solaris 10.
33701         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33702         if the system function has the POSIX declaration. Test whether the
33703         function fails if the buffer is less than 128 bytes large.
33704         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33705         system's ttyname_r function. Provide a reasonably large buffer.
33706         * modules/ttyname_r (Depends-on): Add extensions.
33707         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33708
33709 2010-04-25  Bruno Haible  <bruno@clisp.org>
33710
33711         Use the 'extensions' module for some more functions on Solaris.
33712         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33713         module.
33714         * doc/posix-functions/ctime_r.texi: Likewise.
33715         * doc/posix-functions/getgrgid_r.texi: Likewise.
33716         * doc/posix-functions/getgrnam_r.texi: Likewise.
33717         * doc/posix-functions/getpwnam_r.texi: Likewise.
33718         * doc/posix-functions/getpwuid_r.texi: Likewise.
33719         * doc/posix-functions/readdir_r.texi: Likewise.
33720         * doc/posix-functions/sigwait.texi: Likewise.
33721         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33722         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33723
33724 2010-04-25  Bruno Haible  <bruno@clisp.org>
33725
33726         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33727         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33728         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33729         * lib/ttyname_r.c: Include <limits.h>.
33730         (ttyname_r): Define using the system's ttyname_r function, if it exists
33731         and not on Solaris.
33732         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33733         set.
33734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33735         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33736         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33737         Reported by Simon Josefsson.
33738
33739 2010-04-25  Bruno Haible  <bruno@clisp.org>
33740
33741         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33742         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33743         * doc/posix-functions/ctime_r.texi: Likewise.
33744         * doc/posix-functions/getgrgid_r.texi: Likewise.
33745         * doc/posix-functions/getgrnam_r.texi: Likewise.
33746         * doc/posix-functions/getlogin_r.texi: Likewise.
33747         * doc/posix-functions/getpwnam_r.texi: Likewise.
33748         * doc/posix-functions/getpwuid_r.texi: Likewise.
33749         * doc/posix-functions/readdir_r.texi: Likewise.
33750         * doc/posix-functions/sigwait.texi: Likewise.
33751         * doc/posix-functions/ttyname_r.texi: Likewise.
33752         Reported by Simon Josefsson.
33753
33754 2010-04-25  Bruno Haible  <bruno@clisp.org>
33755
33756         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33757         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33758         also to --create-testdir.
33759         (func_acceptable): Don't consider the status of *-tests modules here.
33760         (func_modules_transitive_closure): Consider it here, before including a
33761         test module.
33762         (func_import, func_create_testdir): Set inc_all_direct_tests,
33763         inc_all_indirect_tests.
33764         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33765         --create-testdir and --create-megatestdir.
33766
33767 2010-04-25  Bruno Haible  <bruno@clisp.org>
33768
33769         gnulib-tool: Add --without-*-tests options.
33770         * gnulib-tool (func_usage): Document the --without-*-tests options.
33771         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33772         excl_unportable_tests): New variables.
33773         Fail if they are specified with --import or --update.
33774         (func_acceptable): Respect the excl_*_tests variables.
33775         (func_import): Set the excl_*_tests variables to empty.
33776
33777 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33778             Bruno Haible  <bruno@clisp.org>
33779
33780         Work around a MacOS X 10.4 bug with openpty.
33781         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33782         * tests/test-openpty.c (main): Close the master side explicitly.
33783
33784 2010-04-25  Bruno Haible  <bruno@clisp.org>
33785
33786         strnlen: Fix a C++ test error on MacOS X and Solaris.
33787         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33788         the function is not declared.
33789         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33790         Simon Josefsson.
33791
33792 2010-04-24  Bruno Haible  <bruno@clisp.org>
33793
33794         Avoid a gcc warning.
33795         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33796         of correct type for %08lx directive.
33797         Reported by Eric Blake.
33798
33799 2010-04-24  Bruno Haible  <bruno@clisp.org>
33800
33801         vasnprintf: Correct errno value in case of out-of-memory.
33802         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33803         or sprintf. Use the errno value from SNPRINTF or sprintf.
33804         Reported by Ian Beckwith <ianb@erislabs.net>.
33805
33806 2010-04-24  Bruno Haible  <bruno@clisp.org>
33807
33808         ansi-c++-opt: Find correct compiler when cross-compiling.
33809         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33810         AC_CHECK_PROGS.
33811         Reported by Simon Josefsson.
33812
33813 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33814
33815         vc-list-files: Add support for subversion
33816         * build-aux/vc-list-files: Use "svn list" to generate the list of
33817         files controlled by subversion.
33818
33819 2010-04-23  Jim Meyering  <meyering@redhat.com>
33820
33821         vc-list-files tests: convert to use init.sh
33822         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33823         path_prepend_.
33824         Use Exit, not exit.
33825         Use skip_ rather than open coding it.
33826         Remove trap set-up and compare definitions.
33827         * tests/test-vc-list-files-git.sh: Likewise.
33828         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33829
33830 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33831
33832         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33833         backup files.
33834
33835 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33836
33837         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33838
33839 2010-04-20  Eric Blake  <eblake@redhat.com>
33840
33841         tests: be robust to ignored SIGPIPE
33842         * tests/test-select-in.sh: Consume all output.
33843         * tests/test-lseek.sh: Check correct exit status, while avoiding
33844         EPIPE.
33845
33846 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33847             Bruno Haible  <bruno@clisp.org>
33848
33849         visibility: Don't use -fvisibility if it leads to a warning.
33850         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33851         yes, don't pretend that visibility works if it leads to a warning.
33852         Reported by Mike Gran <spk121@yahoo.com>.
33853
33854 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33855
33856         * build-aux/bootstrap: Use "git -h" for testing for supported options
33857         instead of "git --help".  The short-form option only shows a summary,
33858         and doesn't layout the full man page.  Grep for the full option name
33859         in the summary, too.
33860
33861 2010-04-19  Bruno Haible  <bruno@clisp.org>
33862
33863         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33864         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33865         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33866         mention of RELOCATABLE_STRIP.
33867         Reported by Sylvain Beucler <beuc@beuc.net>.
33868
33869 2010-04-19  Bruno Haible  <bruno@clisp.org>
33870
33871         * lib/diffseq.h: Fix typo in comment.
33872         Reported by Eric Blake.
33873
33874 2010-04-19  Bruno Haible  <bruno@clisp.org>
33875
33876         ioctl: Move autoconf macro to a .m4 file.
33877         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33878         * modules/ioctl (Files): Add it.
33879         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33880         Reported by Ian Beckwith <ianb@erislabs.net>.
33881
33882 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33883             Bruno Haible  <bruno@clisp.org>
33884
33885         diffseq: Accommodate use-case with abstract arrays.
33886         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33887         is not defined.
33888         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33889         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33890
33891 2010-04-18  Bruno Haible  <bruno@clisp.org>
33892
33893         * doc/posix-headers/stdbool.texi: More precise wording.
33894
33895 2010-04-17  Jim Meyering  <meyering@redhat.com>
33896
33897         maint.mk: use gnu-style indentation in an embedded perl script
33898         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33899         Rename variable: s/two/last_two_bytes/
33900
33901 2010-04-16  Eric Blake  <eblake@redhat.com>
33902
33903         test-stdbool: skip test that fails with Solaris CC
33904         * tests/test-stdbool.c (f): Skip test that causes compilation
33905         error under buggy C++ compiler.
33906         * lib/stdbool.in.h: Document the limitation.
33907         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33908
33909         setenv: allow compilation with C++
33910         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33911         register keyword.
33912
33913         stdint: allow test to pass with C++
33914         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33915
33916         getopt: allow compilation with C++
33917         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33918         struct.
33919         * lib/getopt.c (_getopt_internal_r): Use correct type.
33920         Reported by Dagobert Michelson, via Joel E. Denny.
33921
33922 2010-04-16  Bruno Haible  <bruno@clisp.org>
33923
33924         Override netdb.h always.
33925         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33926         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33927         Reported by Ludovic Courtès <ludo@gnu.org>.
33928
33929 2010-04-15  Bruno Haible  <bruno@clisp.org>
33930
33931         openpty: Fix mistake from 2010-03-21.
33932         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33933         Reported by Simon Josefsson.
33934
33935 2010-04-15  Eric Blake  <eblake@redhat.com>
33936
33937         test-forkpty: fix expected signature
33938         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33939         Reported by Simon Josefsson.
33940
33941 2010-04-15  Jim Meyering  <meyering@redhat.com>
33942
33943         maint.mk: texinfo_suffix_re_: correct the default regexp
33944         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33945
33946         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33947         make it configurable via texinfo_suffix_re_.
33948
33949 2010-04-14  Eric Blake  <eblake@redhat.com>
33950
33951         strtok_r: relax license to LGPLv2+
33952         * modules/strtok_r (License): Relax license.
33953         Reported by Matthias Bolte.
33954
33955 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33956
33957         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33958         version 1.4.4 by default instead of requiring the libgcrypt
33959         version used during build.  This makes it possible to use the
33960         application with older but still binary compatible libgcrypt
33961         versions.
33962
33963 2010-04-13  Eric Blake  <eblake@redhat.com>
33964
33965         getopt-gnu: match recent glibc fixes and posix ruling
33966         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33967         '+' handling, when requesting extensions.
33968         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33969         'W;' handling.
33970         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33971         * doc/posix-functions/getopt.texi (getopt): Document this.
33972         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33973         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33974         Likewise.
33975
33976         getopt: merge bug fixes from glibc
33977         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33978         diagnostics.  Honor '+:' correctly.  Reject ';'.
33979
33980         getopt-posix: detect MacOS bug
33981         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33982         optind when missing a required argument.
33983         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33984         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33985         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33986         Likewise.
33987
33988         getopt-posix: avoid spurious failure on Solaris
33989         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33990         an indicator that setting optind=1 is sufficient for reset.
33991
33992         getopt-posix: avoid spurious failure on FreeBSD
33993         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33994         in POSIX mode, since the m4 test uses it.
33995
33996         gnulib-tool: silence warning on BSD sh
33997         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33998
33999 2010-04-13  Jim Meyering  <meyering@redhat.com>
34000
34001         doc: users.txt: GNU patch now uses gnulib
34002         * users.txt: Add patch.
34003
34004 2010-04-12  Jim Meyering  <meyering@redhat.com>
34005
34006         maint.mk: generate more concise timing data for syntax-check rules
34007         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34008         " done" from each line that reports a syntax-check test duration.
34009
34010 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34011
34012         git-version-gen: use "git update-index..." rather than "git status"
34013         * build-aux/git-version-gen: Use git update-index --refresh, not
34014         "git status".  With some versions of git, "git status" would fail
34015         to update the index and result in an unwarranted "-dirty" suffix.
34016
34017 2010-04-11  Jim Meyering  <meyering@redhat.com>
34018
34019         openat: correct formatting (no semantic change)
34020         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34021         Suggested by Bruno Haible.
34022
34023 2010-04-11  Bruno Haible  <bruno@clisp.org>
34024
34025         Stricter declaration checking in testdirs.
34026         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34027         If for_tests is true, augment AM_CPPFLAGS to define
34028         GNULIB_STRICT_CHECKING.
34029         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34030         GNULIB_STRICT_CHECKING is defined, verify that the function is
34031         declared.
34032
34033 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34034             Bruno Haible  <bruno@clisp.org>
34035
34036         libunistring: Improve configure output.
34037         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34038         Don't say "consider installing GNU libunistring" when checking again
34039         with libiconv.
34040
34041 2010-04-11  Bruno Haible  <bruno@clisp.org>
34042
34043         libunistring: Correct value of $LTLIBUNISTRING.
34044         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34045         correct the value of $LTLIBUNISTRING.
34046
34047 2010-04-11  Bruno Haible  <bruno@clisp.org>
34048
34049         havelib: Add static libraries to LIBS in the right order.
34050         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34051         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34052
34053 2010-04-11  Bruno Haible  <bruno@clisp.org>
34054
34055         libunistring: Detect libunistring also when it depends on libiconv.
34056         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34057         the second AC_LIB_HAVE_LINKFLAGS invocation.
34058
34059 2010-04-11  James Youngman  <jay@gnu.org>
34060
34061         close-stream: declare local scalars to be "const"
34062         * lib/close-stream.c (close_stream): Make boolean variables const
34063         to document the fact that we set but do not change them.
34064
34065 2010-04-11  Bruno Haible  <bruno@clisp.org>
34066
34067         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34068
34069 2010-04-11  Jim Meyering  <meyering@redhat.com>
34070
34071         maint.mk: don't include dist-check.mk
34072         * top/maint.mk: Remove bogus include directive.
34073
34074         maint.mk: improve empty-line-at-EOF check
34075         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34076         solution, rather than tail+Perl-based one.  The latter would read
34077         a few kilobytes from the end of each file, and did not handle empty
34078         files properly.
34079
34080         maint.mk: print the elapsed time for each syntax-check rule
34081         * top/maint.mk (sc_m_rules_): Save start time in a file.
34082         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34083         (local-check): Interpose the .z rules
34084
34085 2010-04-11  Jim Meyering  <meyering@redhat.com>
34086
34087         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34088         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34089         empty file with one that ends in an empty line.
34090
34091 2010-04-10  Bruno Haible  <bruno@clisp.org>
34092
34093         mkdir: Make it work on mingw64.
34094         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34095         * lib/mkdir.c: Update comment.
34096         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
34097
34098 2010-04-10  Bruno Haible  <bruno@clisp.org>
34099
34100         Don't override improved macro from newer autoconf.
34101         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34102         autoconf >= 2.62.
34103         Reported by Joel E. Denny <jdenny@clemson.edu>.
34104
34105 2010-04-10  Jim Meyering  <meyering@redhat.com>
34106
34107         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34108         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34109
34110         maint.mk: correct a diagnostic
34111         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34112         in diagnostic; now use $prohibit.
34113
34114 2010-04-10  Bruno Haible  <address@hidden>
34115
34116         fchownat: Fix a C++ test error on Solaris 8.
34117         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34118         the function does not exist.
34119
34120 2010-04-10  Bruno Haible  <bruno@clisp.org>
34121
34122         vasnprintf: Add more tests.
34123         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34124         (test_function): Test converting an invalid wide string.
34125
34126         vasnprintf: Correct handling of unconvertible wide string arguments.
34127         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34128         VASNPRINTF.
34129         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34130         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34131         smaller than the expected maximum need for the directive. Set errno to
34132         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34133         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34134         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34135         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34136         * modules/vasnprintf (Files): Add m4/printf.m4.
34137         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34138
34139 2010-04-10  Bruno Haible  <bruno@clisp.org>
34140
34141         vasnprintf: Fix crash in %ls directive.
34142         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34143         string is passed as argument to %ls, with no precision and no width.
34144         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34145
34146 2010-04-10  Bruno Haible  <bruno@clisp.org>
34147
34148         vasnprintf: Fix multiple test failures on mingw.
34149         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34150         _snprintf, or snwprintf, not _snwprintf.
34151
34152 2010-04-10  Bruno Haible  <bruno@clisp.org>
34153
34154         write: Fix a C++ test error on mingw.
34155         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34156
34157 2010-04-10  Bruno Haible  <bruno@clisp.org>
34158
34159         vasnprintf test: Reduce code duplication.
34160         * tests/test-vasnprintf.c (test_function): New function, extracted from
34161         test_vasnprintf.
34162         (test_vasnprintf, test_asnprintf): Invoke it.
34163
34164 2010-04-10  Bruno Haible  <bruno@clisp.org>
34165
34166         strnlen: Fix warning in C++ mode on MacOS X.
34167         * lib/string.in.h (strnlen): Use the modern idiom.
34168         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34169         defining strnlen as a macro already in <config.h>.
34170         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34171         REPLACE_STRNLEN.
34172         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34173         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34174
34175 2010-04-08  James Youngman  <jay@gnu.org>
34176
34177         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34178         the example.
34179
34180 2010-04-09  Jim Meyering  <meyering@redhat.com>
34181
34182         maint.mk: print better diagnostic when there is no $(_hv_file)
34183         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34184         announce that when $(_hv_file) (aka help-version) does not exist.
34185
34186         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34187         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34188         not try to interpret its random input bytes.  Jarno Rajahalme reported
34189         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34190         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34191         (mktempd_): Likewise, just in case.
34192
34193         ftruncate: add two years to projected module removal date: 2012
34194         * m4/ftruncate.m4: Adjust comments.
34195
34196         ftruncate: mark module as obsolete; even MinGW provides it, now
34197         * modules/ftruncate (Status): Obsolete.
34198         (Notice): Say that.
34199         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34200         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34201
34202 2010-04-08  Bruno Haible  <bruno@clisp.org>
34203
34204         Fix side effects from tests-related modules.
34205         * modules/dprintf-posix (Comment): New section.
34206         * modules/fprintf-posix (Comment): Likewise.
34207         * modules/obstack-printf-posix (Comment): Likewise.
34208         * modules/printf-posix (Comment): Likewise.
34209         * modules/snprintf-posix (Comment): Likewise.
34210         * modules/sprintf-posix (Comment): Likewise.
34211         * modules/vasnprintf-posix (Comment): Likewise.
34212         * modules/vasprintf-posix (Comment): Likewise.
34213         * modules/vdprintf-posix (Comment): Likewise.
34214         * modules/vfprintf-posix (Comment): Likewise.
34215         * modules/vprintf-posix (Comment): Likewise.
34216         * modules/vsnprintf-posix (Comment): Likewise.
34217         * modules/vsprintf-posix (Comment): Likewise.
34218         * modules/xprintf-posix (Comment): Likewise.
34219         * modules/xvasprintf-posix (Comment): Likewise.
34220         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34221         * modules/floorf-tests (Depends-on): Likewise.
34222         * modules/round-tests (Depends-on): Likewise.
34223         * modules/roundf-tests (Depends-on): Likewise.
34224         * modules/trunc-tests (Depends-on): Likewise.
34225         * modules/truncf-tests (Depends-on): Likewise.
34226         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34227         'fprintf-posix' module is not present.
34228         * tests/test-floorf2.c (check): Likewise.
34229         * tests/test-trunc2.c (check): Likewise.
34230         * tests/test-truncf2.c (check): Likewise.
34231         * tests/test-round2.c (equal): Likewise.
34232         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34233
34234 2010-04-07  Karl Berry  <karl@gnu.org>
34235
34236         * config/srclist.txt,
34237         * config/srclistvars.sh,
34238         * config/srclist-update: doc fixes.
34239
34240 2010-04-07  Jim Meyering  <meyering@redhat.com>
34241
34242         maint.mk: add a PATH crosschecking syntax-check rule
34243         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34244         Useful if you use a test like the one in help-version (coreutils,
34245         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34246         printed by prog --version.
34247
34248 2010-04-06  Bruno Haible  <bruno@clisp.org>
34249
34250         Fix link error on mingw.
34251         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34252         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34253
34254 2010-04-06  Bruno Haible  <bruno@clisp.org>
34255
34256         Assume rmdir exists.
34257         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34258
34259 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34260
34261         doc: update users.txt
34262         * users.txt: Add gcal.
34263
34264 2010-04-06  Jim Meyering  <meyering@redhat.com>
34265
34266         init.sh: simply unset TMPDIR rather than risking env -i
34267         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34268         although it probably works fine on all Unix-based systems, some
34269         systems (Cygwin?) cannot tolerate a totally cleared environment.
34270         Suggestion from Eric Blake.
34271
34272 2010-04-06  Jim Meyering  <meyering@redhat.com>
34273
34274         init.sh: portability fix: use env's POSIX-specified -i option not -u
34275         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34276         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34277
34278 2010-04-05  Bruno Haible  <bruno@clisp.org>
34279
34280         btowc: Work around Cygwin 1.7.2 bug.
34281         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34282         does not map NUL to 0.
34283         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34284
34285 2010-04-05  Bruno Haible  <bruno@clisp.org>
34286
34287         Make the multithread modules work on Cygwin 1.7.2.
34288         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34289         imported symbols can be declared weak, so that it returns "no" on
34290         Cygwin 1.7.2.
34291
34292 2010-04-05  Bruno Haible  <bruno@clisp.org>
34293
34294         Use the module 'strncat'.
34295         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34296
34297         Tests for module 'strncat'.
34298         * modules/strncat-tests: New file.
34299         * tests/test-strncat.c: New file.
34300
34301         New module 'strncat'.
34302         * lib/string.in.h (strncat): New declaration.
34303         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34304         * m4/strncat.m4: New file, based on m4/memchr.m4.
34305         * modules/strncat: New file.
34306         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34307         is declared.
34308         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34309         REPLACE_STRNCAT.
34310         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34311         REPLACE_STRNCAT.
34312         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34313         module.
34314         * tests/test-string-c++.cc: Check signature of strncat.
34315
34316 2010-04-05  Jim Meyering  <meyering@redhat.com>
34317
34318         xstrtoumax-tests: convert to use init.sh
34319         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34320         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34321         Use Exit, not exit.
34322         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34323
34324         xstrtoimax-tests: convert to use init.sh
34325         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34326         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34327         Use Exit, not exit.
34328         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34329
34330 2010-04-05  Bruno Haible  <bruno@clisp.org>
34331
34332         sys_socket: Avoid #define replacements in C++ mode.
34333         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34334         warning to the function if possible, rather than #defining the symbol
34335         to a dysfunctional alias.
34336
34337 2010-04-05  Bruno Haible  <bruno@clisp.org>
34338
34339         fseeko: Fix C++ test error on mingw.
34340         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34341         gl_FUNC_FSEEKO.
34342         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34343         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34344         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34345         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34346
34347 2010-04-05  Bruno Haible  <bruno@clisp.org>
34348
34349         duplocale: Improve test output.
34350         * tests/test-duplocale.c (main): Print reason for skipped test.
34351
34352 2010-04-05  Bruno Haible  <bruno@clisp.org>
34353
34354         Assume rmdir exists.
34355         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34356         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34357
34358 2010-04-05  Bruno Haible  <bruno@clisp.org>
34359
34360         Fix link error on Solaris 8 with cc.
34361         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34362
34363 2010-04-05  Bruno Haible  <bruno@clisp.org>
34364
34365         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34366         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34367
34368 2010-04-05  Bruno Haible  <bruno@clisp.org>
34369
34370         vasprintf: Update documentation.
34371         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34372
34373 2010-04-05  Bruno Haible  <bruno@clisp.org>
34374
34375         ptsname: Improve test.
34376         * tests/test-ptsname.c (main): Also try the various master names of BSD
34377         systems.
34378
34379 2010-04-05  Bruno Haible  <bruno@clisp.org>
34380
34381         memchr: Avoid a possible C++ test error.
34382         * lib/string.in.h (memchr): Provide declaration if function is missing.
34383         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34384         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34385         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34386         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34387
34388 2010-04-05  Bruno Haible  <bruno@clisp.org>
34389
34390         strtok_r: Improve idiom.
34391         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34392         AC_LIBOBJ is used.
34393
34394 2010-04-05  Bruno Haible  <bruno@clisp.org>
34395
34396         strdup: Improve idiom.
34397         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34398         AC_LIBOBJ is used.
34399         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34400         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34401         when AC_LIBOBJ is used.
34402
34403 2010-04-05  Bruno Haible  <bruno@clisp.org>
34404
34405         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34406         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34407         don't set REPLACE_MBSINIT to 1.
34408         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34409         don't set REPLACE_MBRTOWC to 1.
34410         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34411         exist, don't set REPLACE_MBSRTOWCS to 1.
34412         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34413         exist, don't set REPLACE_MBSNRTOWCS to 1.
34414         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34415         don't set REPLACE_WCRTOMB to 1.
34416         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34417         exist, don't set REPLACE_WCSRTOMBS to 1.
34418         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34419         exist, don't set REPLACE_WCSNRTOMBS to 1.
34420
34421 2010-04-05  Bruno Haible  <bruno@clisp.org>
34422
34423         ldexpl: Improve idiom.
34424         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34425         make sure to set HAVE_DECL_LDEXPL to 0.
34426
34427 2010-04-05  Jim Meyering  <meyering@redhat.com>
34428
34429         xstrtol-tests: convert to use init.sh
34430         * modules/xstrtol-tests (Files): Add tests/init.sh.
34431         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34432         Use Exit, not exit.
34433         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34434
34435         atexit-tests: convert to use init.sh
34436         * modules/atexit-tests (Files): Add tests/init.sh.
34437         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34438         Use Exit, not exit.
34439         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34440
34441         init.sh: fix typo
34442         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34443
34444         init.sh: make it easier for a test script to write to the tty, ...
34445         when using automake's parallel-tests mode.
34446         * tests/init.sh (stderr_fileno_): Define overridable variable.
34447         (warn_): New function, to use it.
34448         (fail_, skip_, framework_failure_): Use warn_.
34449
34450 2010-04-04  Bruno Haible  <bruno@clisp.org>
34451
34452         btowc: Avoid warning.
34453         * lib/btowc.c: Include <stdlib.h>.
34454         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34455
34456 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34457             Bruno Haible  <bruno@clisp.org>
34458
34459         wchar: Port to NetBSD 1.5.
34460         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34461         * lib/wctype.in.h (WEOF): Likewise.
34462
34463 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34464             Bruno Haible  <bruno@clisp.org>
34465
34466         Port extended stdio to NetBSD 1.5.
34467         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34468         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34469         older.
34470
34471 2010-04-04  Bruno Haible  <bruno@clisp.org>
34472
34473         string: Remove unused substitution.
34474         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34475         HAVE_DECL_STRERROR.
34476         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34477
34478 2010-04-04  Bruno Haible  <bruno@clisp.org>
34479
34480         strtod: Avoid a possible C++ test error.
34481         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34482         set REPLACE_STRTOD.
34483
34484 2010-04-04  Bruno Haible  <bruno@clisp.org>
34485
34486         strerror: Update documentation.
34487         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34488
34489 2010-04-04  Bruno Haible  <bruno@clisp.org>
34490
34491         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34492         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34493         _GL_CXXALIAS_SYS_CAST.
34494
34495 2010-04-04  Bruno Haible  <bruno@clisp.org>
34496
34497         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34498         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34499         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34500         REPLACE_FREXPL to 1.
34501         * doc/posix-functions/frexpl.texi: Update documentation.
34502
34503 2010-04-04  Bruno Haible  <bruno@clisp.org>
34504
34505         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34506         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34507
34508 2010-04-04  Bruno Haible  <bruno@clisp.org>
34509
34510         Implement nanosleep for native Windows.
34511         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34512
34513 2010-04-04  Bruno Haible  <bruno@clisp.org>
34514
34515         math: Fix some C++ test errors on Solaris 8.
34516         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34517
34518 2010-04-04  Bruno Haible  <bruno@clisp.org>
34519
34520         math: Fix some C++ test errors on Cygwin.
34521         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34522         truncl): Provide declaration if the system does not have it.
34523         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34524         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34525         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34526         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34527         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34528         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34529         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34530         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34531         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34532         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34533         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34534         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34535         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34536         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34537         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34538         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34539         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34540         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34541         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34542         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34543         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34544         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34545
34546 2010-04-04  Bruno Haible  <bruno@clisp.org>
34547
34548         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34549         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34550         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34551         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34552         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34553         * m4/isinf.m4 (gl_ISINF): Likewise.
34554         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34555
34556 2010-04-04  Bruno Haible  <bruno@clisp.org>
34557
34558         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34559         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34560
34561 2010-04-04  Bruno Haible  <bruno@clisp.org>
34562
34563         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34564         * modules/tmpfile (configure.ac): Update.
34565
34566         tmpfile: Fix C++ test error on mingw.
34567         * lib/stdio.in.h (tmpfile): New declaration.
34568         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34569         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34570         * modules/tmpfile (Depends-on): Add stdio.
34571         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34572         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34573         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34574         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34575         REPLACE_TMPFILE.
34576         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34577
34578 2010-04-04  Bruno Haible  <bruno@clisp.org>
34579
34580         ioctl: Fix C++ test error on mingw.
34581         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34582         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34583         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34584
34585 2010-04-03  Bruno Haible  <bruno@clisp.org>
34586
34587         wcwidth: Fix C++ test error on mingw.
34588         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34589         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34590         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34591
34592 2010-04-03  Bruno Haible  <bruno@clisp.org>
34593
34594         nanosleep: Fix C++ test error on mingw.
34595         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34596         * lib/time.in.h (nanosleep): Use modern idiom.
34597         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34598         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34599         REPLACE_NANOSLEEP to 1.
34600         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34601         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34602
34603 2010-04-03  Bruno Haible  <bruno@clisp.org>
34604
34605         strptime: Fix C++ test error on mingw.
34606         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34607         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34608         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34609         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34610         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34611         not REPLACE_STRPTIME.
34612         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34613         REPLACE_STRPTIME.
34614
34615 2010-04-03  Bruno Haible  <bruno@clisp.org>
34616
34617         timegm: Fix C++ test error on mingw.
34618         * lib/time.in.h (timegm): Use modern idiom.
34619         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34620         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34621         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34622         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34623
34624 2010-04-03  Bruno Haible  <bruno@clisp.org>
34625
34626         timegm: Assume declaration if function exists.
34627         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34628         if it exists. Don't clobber ac_cv_func_timegm.
34629
34630 2010-04-03  Bruno Haible  <bruno@clisp.org>
34631
34632         time_r: Fix C++ test error on mingw.
34633         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34634         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34635         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34636         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34637         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34638
34639 2010-04-03  Bruno Haible  <bruno@clisp.org>
34640
34641         time_r: Minor updates.
34642         * modules/time_r (Description): Mention the provided functions.
34643         * lib/time_r.c: Don't include <string.h>.
34644         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34645         * doc/posix-functions/localtime_r.texi: Likewise.
34646
34647 2010-04-03  Bruno Haible  <bruno@clisp.org>
34648
34649         time: Fix regression introduced on 2010-03-08.
34650         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34651         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34652
34653 2010-04-03  Jim Meyering  <meyering@redhat.com>
34654
34655         maint.mk: don't silently disable project-specific syntax-check rules
34656         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34657         that they need to convert their project-specific syntax-check rules
34658         to use the new _sc_search_regexp.
34659
34660 2010-04-03  Bruno Haible  <bruno@clisp.org>
34661
34662         fchdir: Fix regression introduced on 2010-03-08.
34663         * lib/unistd.in.h (fchdir): Fix declaration.
34664         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34666         REPLACE_FCHDIR.
34667         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34668         REPLACE_FCHDIR.
34669
34670 2010-04-03  Bruno Haible  <bruno@clisp.org>
34671
34672         getpagesize: Fix C++ test error on mingw.
34673         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34674         system does not declare the function.
34675         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34676         declared.
34677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34678         HAVE_DECL_GETPAGESIZE.
34679         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34680
34681 2010-04-03  Bruno Haible  <bruno@clisp.org>
34682
34683         stdio: Make C++ tests work on mingw.
34684         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34685         does not declare the function.
34686
34687 2010-04-03  Bruno Haible  <bruno@clisp.org>
34688
34689         ftello: Fix C++ test error on mingw.
34690         * lib/stdio.in.h (ftello): Use modern idiom.
34691         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34692         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34693         is missing and that it needs to be replaced.
34694         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34696         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34697
34698 2010-04-03  Bruno Haible  <bruno@clisp.org>
34699
34700         fseeko: Fix C++ test error on mingw.
34701         * lib/stdio.in.h (fseeko): Use modern idiom.
34702         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34703         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34704         is missing and that it needs to be replaced.
34705         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34707         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34708
34709 2010-04-03  Bruno Haible  <bruno@clisp.org>
34710
34711         mkstemp: Fix C++ test error on mingw.
34712         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34713         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34714         function is missing and that it needs to be replaced.
34715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34716         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34717
34718 2010-04-03  Bruno Haible  <bruno@clisp.org>
34719
34720         stpncpy: Fix C++ test error on mingw.
34721         * lib/string.in.h (stpncpy): Use modern idiom.
34722         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34723         function is missing and that it needs to be replaced.
34724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34725         REPLACE_STPNCPY.
34726         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34727
34728 2010-04-03  Bruno Haible  <bruno@clisp.org>
34729
34730         sys_stat: Fix C++ test error on mingw.
34731         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34732         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34733
34734 2010-04-03  Bruno Haible  <bruno@clisp.org>
34735
34736         pty: Update doc.
34737         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34738
34739 2010-04-03  Bruno Haible  <bruno@clisp.org>
34740
34741         unistd: Fix C++ test error on mingw.
34742         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34743
34744 2010-04-03  Bruno Haible  <bruno@clisp.org>
34745
34746         Update doc regarding mingw.
34747         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34748         * doc/glibc-functions/login_tty.texi: Likewise.
34749         * doc/glibc-functions/forkpty.texi: Likewise.
34750
34751 2010-04-03  Bruno Haible  <bruno@clisp.org>
34752
34753         stdlib: Avoid compilation failure of c-strtold on mingw.
34754         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34755
34756 2010-04-03  Bruno Haible  <bruno@clisp.org>
34757
34758         locale: Make C++ tests work on Cygwin and mingw.
34759         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34760         cannot provide the function.
34761         Reported by Simon Josefsson.
34762
34763 2010-04-03  Bruno Haible  <bruno@clisp.org>
34764
34765         localename: Port to MacOS X 10.6.
34766         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34767         memory layout of the locales in MacOS X 10.6 as well.
34768         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34769
34770 2010-04-02  Bruno Haible  <bruno@clisp.org>
34771
34772         gnulib-tool: Ensure that long-running tests are executed last.
34773         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34774         running tests after the one for the other tests.
34775
34776 2010-04-02  Bruno Haible  <bruno@clisp.org>
34777
34778         gnulib-tool: Ensure the tests in the main directory are executed first.
34779         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34780         start with the current directory.
34781
34782 2010-04-02  Bruno Haible  <bruno@clisp.org>
34783
34784         Tests for module 'havelib', moved here from GNU gettext.
34785         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34786         modifications.
34787         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34788         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34789         with modifications.
34790         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34791         modifications.
34792         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34793         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34794         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34795         with modifications.
34796         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34797         with modifications.
34798         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34799         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34800         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34801         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34802         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34803         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34804         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34805         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34806         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34807         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34808         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34809         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34810         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34811         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34812         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34813         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34814         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34815         with modifications.
34816         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34817         with modifications.
34818         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34819         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34820         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34821         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34822         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34823         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34824         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34825         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34826         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34827         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34828         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34829         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34830         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34831         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34832         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34833         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34834         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34835         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34836         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34837         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34838         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34839         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34840         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34841         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34842         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34843         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34844         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34845         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34846         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34847         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34848         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34849         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34850         * tests/havelib/rpathx/rpathx.c: New file, from
34851         gettext/autoconf-lib-link.
34852         * tests/havelib/rpathx/Makefile.am: New file, from
34853         gettext/autoconf-lib-link.
34854         * tests/havelib/rpathx/configure.ac: New file, from
34855         gettext/autoconf-lib-link with modifications.
34856         * tests/havelib/rpathy/rpathy.c: New file, from
34857         gettext/autoconf-lib-link.
34858         * tests/havelib/rpathy/Makefile.am: New file, from
34859         gettext/autoconf-lib-link.
34860         * tests/havelib/rpathy/configure.ac: New file, from
34861         gettext/autoconf-lib-link with modifications.
34862         * tests/havelib/rpathz/rpathz.c: New file, from
34863         gettext/autoconf-lib-link.
34864         * tests/havelib/rpathz/Makefile.am: New file, from
34865         gettext/autoconf-lib-link.
34866         * tests/havelib/rpathz/configure.ac: New file, from
34867         gettext/autoconf-lib-link with modifications.
34868         * tests/havelib/rpathlx/usex.c: New file, from
34869         gettext/autoconf-lib-link.
34870         * tests/havelib/rpathlx/Makefile.am: New file, from
34871         gettext/autoconf-lib-link.
34872         * tests/havelib/rpathlx/configure.ac: New file, from
34873         gettext/autoconf-lib-link with modifications.
34874         * tests/havelib/rpathly/usey.c: New file, from
34875         gettext/autoconf-lib-link.
34876         * tests/havelib/rpathly/Makefile.am: New file, from
34877         gettext/autoconf-lib-link.
34878         * tests/havelib/rpathly/configure.ac: New file, from
34879         gettext/autoconf-lib-link with modifications.
34880         * tests/havelib/rpathlz/usez.c: New file, from
34881         gettext/autoconf-lib-link.
34882         * tests/havelib/rpathlz/Makefile.am: New file, from
34883         gettext/autoconf-lib-link.
34884         * tests/havelib/rpathlz/configure.ac: New file, from
34885         gettext/autoconf-lib-link with modifications.
34886         * tests/havelib/rpathlyx/usey.c: New file, from
34887         gettext/autoconf-lib-link.
34888         * tests/havelib/rpathlyx/Makefile.am: New file, from
34889         gettext/autoconf-lib-link.
34890         * tests/havelib/rpathlyx/configure.ac: New file, from
34891         gettext/autoconf-lib-link with modifications.
34892         * tests/havelib/rpathlzyx/usez.c: New file, from
34893         gettext/autoconf-lib-link.
34894         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34895         gettext/autoconf-lib-link.
34896         * tests/havelib/rpathlzyx/configure.ac: New file, from
34897         gettext/autoconf-lib-link with modifications.
34898         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34899         with modifications.
34900
34901 2010-04-02  Bruno Haible  <bruno@clisp.org>
34902
34903         gnulib-tool: Create distributed built sources also for the tests.
34904         * gnulib-tool (func_create_testdir): Also generate distributed built
34905         sources in the tests directory.
34906
34907 2010-04-02  Bruno Haible  <bruno@clisp.org>
34908
34909         gnulib-tool: Obey user's environment variables.
34910         * gnulib-tool (func_create_testdir): When creating built sources,
34911         respect the environment variables for autoconf, automake, etc. given by
34912         the user.
34913
34914 2010-04-02  Bruno Haible  <bruno@clisp.org>
34915
34916         gnulib-tool: Provide the value of --m4-base to modules.
34917         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34918         of gl_m4_base.
34919
34920 2010-04-02  Eric Blake  <eblake@redhat.com>
34921
34922         maint.mk: fix some fallout
34923         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34924         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34925
34926 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34927
34928         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34929         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34930         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34931         (sc_cast_of_x_alloc_return_value): Likewise.
34932         (sc_cast_of_alloca_return_value): Likewise.
34933         (sc_space_tab): Likewise.
34934         (sc_prohibit_atoi_atof): Likewise.
34935         (sc_prohibit_magic_number_exit): Likewise.
34936         (sc_error_exit_success): Likewise.
34937         (sc_file_system): Likewise.
34938         (sc_prohibit_have_config_h): Likewise.
34939         (sc_require_config_h): Likewise.
34940         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34941         (sc_obsolete_symbols): Likewise.
34942         (sc_changelog): Likewise.
34943         (sc_program_name): Likewise.
34944         (sc_the_the): Likewise.
34945         (sc_trailing_blank): Likewise.
34946         (sc_two_space_separator_in_usage): Likewise.
34947         (sc_useless_cpp_parens): Likewise.
34948         (sc_GPL_version): Likewise.
34949         (sc_GFDL_version): Likewise.
34950         (sc_texinfo_acronym): Likewise.
34951         (sc_prohibit_cvs_keyword): Likewise.
34952         (sc_prohibit_stat_st_blocks): Likewise.
34953         (sc_prohibit_S_IS_definition): Likewise.
34954         (sc_redundant_const): Likewise.
34955         (sc_makefile_TAB_only_indentation): Likewise.
34956         (sc_m4_quote_check): Likewise.
34957         (sc_makefile_path_separator_check): Likewise.
34958         (sc_copyright_check): Likewise.
34959         (sc_Wundef_boolean): Likewise.
34960         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34961
34962         maint.mk: match 0 or more whitespace-before-function-call '('
34963         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34964         that have zero or two-and-more spaces between the function name
34965         and the open parenthesis.
34966         (sc_error_message_warn_fatal): Likewise.
34967         (sc_error_message_uppercase): Likewise.
34968         (sc_error_message_period): Likewise.
34969
34970 2010-03-31  Eric Blake  <eblake@redhat.com>
34971
34972         maint.mk: check for [ as well as test
34973         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34974         Based on a libvirt report by Matthias Bolte.
34975
34976         gnumakefile: don't squelch _version output
34977         * top/GNUmakefile (_version): Create one-shot dependency rather
34978         than using $(shell) when version must be regenerated.
34979         (_autoreconf): Run verbosely, by default.
34980
34981         sys_time: avoid compiler warnings
34982         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34983         unconditional, fixing regression from 2010-03-29.
34984         Reported by Simon Josefsson.
34985
34986 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34987
34988         maint.mk: s/_header_without_use/_sc_header_without_use/
34989         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34990         (sc_prohibit_assert_without_use): Use the new name.
34991         (sc_prohibit_close_stream_without_use): Likewise.
34992         (sc_prohibit_getopt_without_use): Likewise.
34993         (sc_prohibit_quotearg_without_use): Likewise.
34994         (sc_prohibit_quote_without_use): Likewise.
34995         (sc_prohibit_long_options_without_use): Likewise.
34996         (sc_prohibit_inttostr_without_use): Likewise.
34997         (sc_prohibit_ignore_value_without_use): Likewise.
34998         (sc_prohibit_error_without_use): Likewise.
34999         (sc_prohibit_xalloc_without_use): Likewise.
35000         (sc_prohibit_hash_without_use): Likewise.
35001         (sc_prohibit_hash_pjw_without_use): Likewise.
35002         (sc_prohibit_safe_read_without_use): Likewise.
35003         (sc_prohibit_argmatch_without_use): Likewise.
35004         (sc_prohibit_canonicalize_without_use): Likewise.
35005         (sc_prohibit_root_dev_ino_without_use): Likewise.
35006         (sc_prohibit_openat_without_use): Likewise.
35007         (sc_prohibit_c_ctype_without_use): Likewise.
35008         (sc_prohibit_signal_without_use): Likewise.
35009         (sc_prohibit_intprops_without_use): Likewise.
35010
35011 2010-03-30  Eric Blake  <eblake@redhat.com>
35012
35013         maint: improve module indicators
35014         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35015         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35016         columns, and avoid extra macro expansion.
35017
35018         fdopendir: work around FreeBSD bug
35019         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35020         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35021         * modules/dirent (Makefile.am): Substitute it.
35022         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35023         declaration.
35024         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35025         fix.
35026         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35027
35028 2010-03-29  Bruno Haible  <bruno@clisp.org>
35029
35030         Emit #pragma system_header after the inclusion guard, not before.
35031         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35032         guard that spans the entire file, not before. This enables an
35033         optimization in GCC's preprocessor.
35034         * lib/ctype.in.h: Likewise.
35035         * lib/dirent.in.h: Likewise.
35036         * lib/errno.in.h: Likewise.
35037         * lib/float.in.h: Likewise.
35038         * lib/getopt.in.h: Likewise.
35039         * lib/iconv.in.h: Likewise.
35040         * lib/langinfo.in.h: Likewise.
35041         * lib/locale.in.h: Likewise.
35042         * lib/math.in.h: Likewise.
35043         * lib/netdb.in.h: Likewise.
35044         * lib/netinet_in.in.h: Likewise.
35045         * lib/pty.in.h: Likewise.
35046         * lib/sched.in.h: Likewise.
35047         * lib/se-selinux.in.h: Likewise.
35048         * lib/search.in.h: Likewise.
35049         * lib/spawn.in.h: Likewise.
35050         * lib/stdarg.in.h: Likewise.
35051         * lib/stdint.in.h: Likewise.
35052         * lib/string.in.h: Likewise.
35053         * lib/strings.in.h: Likewise.
35054         * lib/sys_file.in.h: Likewise.
35055         * lib/sys_ioctl.in.h: Likewise.
35056         * lib/sys_time.in.h: Likewise.
35057         * lib/sys_times.in.h: Likewise.
35058         * lib/sys_utsname.in.h: Likewise.
35059         * lib/sys_wait.in.h: Likewise.
35060         * lib/sysexits.in.h: Likewise.
35061         * lib/wctype.in.h: Likewise.
35062
35063 2010-03-28  James Youngman  <jay@gnu.org>
35064
35065         save-cwd: don't leak a file descriptor when the caller execs.
35066         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35067         saved file descriptor.
35068         * modules/save-cwd (Depends-on): Depend on cloexec.
35069
35070 2010-03-29  Bruno Haible  <bruno@clisp.org>
35071
35072         Remove vestiges of fts-lgpl module.
35073         * lib/fts_.h: Assume GNULIB_FTS is 1.
35074         * lib/fts.c: Likewise.
35075         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35076
35077 2010-03-28  Bruno Haible  <bruno@clisp.org>
35078
35079         Fix definition of tests witness macro.
35080         * gnulib-tool (func_import): Fix definition of witness macro.
35081
35082 2010-03-28  Bruno Haible  <bruno@clisp.org>
35083
35084         Fix ioctl's protoype on glibc systems.
35085         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35086         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35087         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35088         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35089         signature. If not, arrange to replace the ioctl function.
35090         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35091         REPLACE_IOCTL.
35092         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35093         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35094         Reported by Ludovic Courtès <ludo@gnu.org>.
35095
35096 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35097
35098         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35099         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35100         made it so grep -r --include=GLOB* ... did not work.
35101
35102 2010-03-26  Jim Meyering  <meyering@redhat.com>
35103             Eric Blake  <eblake@redhat.com>
35104
35105         maint.mk: prohibit use of test's -o and -a operators
35106         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35107
35108 2010-03-28  Bruno Haible  <bruno@clisp.org>
35109
35110         Remove unused GNULIB_XYZ macro definitions.
35111         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35112         invocation.
35113
35114 2010-03-28  Bruno Haible  <bruno@clisp.org>
35115
35116         Mark privileged tests modules.
35117         * modules/idpriv-drop-tests (Status): New section.
35118         * modules/idpriv-droptemp-tests (Status): New section.
35119
35120 2010-03-28  Bruno Haible  <bruno@clisp.org>
35121
35122         Split C++ tests into separate tests modules.
35123         * modules/dirent-c++-tests: New file, extracted from
35124         modules/dirent-tests.
35125         * modules/dirent-tests: Depend on it.
35126         * modules/fcntl-h-c++-tests: New file, extracted from
35127         modules/fcntl-h-tests.
35128         * modules/fcntl-h-tests: Depend on it.
35129         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35130         * modules/glob-tests: Depend on it.
35131         * modules/iconv-h-c++-tests: New file, extracted from
35132         modules/iconv-h-tests.
35133         * modules/iconv-h-tests: Depend on it.
35134         * modules/langinfo-c++-tests: New file, extracted from
35135         modules/langinfo-tests.
35136         * modules/langinfo-tests: Depend on it.
35137         * modules/locale-c++-tests: New file, extracted from
35138         modules/locale-tests.
35139         * modules/locale-tests: Depend on it.
35140         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35141         * modules/math-tests: Depend on it.
35142         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35143         * modules/pty-tests: Depend on it.
35144         * modules/search-c++-tests: New file, extracted from
35145         modules/search-tests.
35146         * modules/search-tests: Depend on it.
35147         * modules/signal-c++-tests: New file, extracted from
35148         modules/signal-tests.
35149         * modules/signal-tests: Depend on it.
35150         * modules/spawn-c++-tests: New file, extracted from
35151         modules/spawn-tests.
35152         * modules/spawn-tests: Depend on it.
35153         * modules/stdio-c++-tests: New file, extracted from
35154         modules/stdio-tests.
35155         * modules/stdio-tests: Depend on it.
35156         * modules/stdlib-c++-tests: New file, extracted from
35157         modules/stdlib-tests.
35158         * modules/stdlib-tests: Depend on it.
35159         * modules/string-c++-tests: New file, extracted from
35160         modules/string-tests.
35161         * modules/string-tests: Depend on it.
35162         * modules/sys_ioctl-c++-tests: New file, extracted from
35163         modules/sys_ioctl-tests.
35164         * modules/sys_ioctl-tests: Depend on it.
35165         * modules/sys_select-c++-tests: New file, extracted from
35166         modules/sys_select-tests.
35167         * modules/sys_select-tests: Depend on it.
35168         * modules/sys_socket-c++-tests: New file, extracted from
35169         modules/sys_socket-tests.
35170         * modules/sys_socket-tests: Depend on it.
35171         * modules/sys_stat-c++-tests: New file, extracted from
35172         modules/sys_stat-tests.
35173         * modules/sys_stat-tests: Depend on it.
35174         * modules/sys_time-c++-tests: New file, extracted from
35175         modules/sys_time-tests.
35176         * modules/sys_time-tests: Depend on it.
35177         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35178         * modules/time-tests: Depend on it.
35179         * modules/unistd-c++-tests: New file, extracted from
35180         modules/unistd-tests.
35181         * modules/unistd-tests: Depend on it.
35182         * modules/wchar-c++-tests: New file, extracted from
35183         modules/wchar-tests.
35184         * modules/wchar-tests: Depend on it.
35185         * modules/wctype-c++-tests: New file, extracted from
35186         modules/wctype-tests.
35187         * modules/wctype-tests: Depend on it.
35188         Reported by Simon Josefsson.
35189
35190 2010-03-28  Bruno Haible  <bruno@clisp.org>
35191
35192         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35193         * gnulib-tool (func_exists_module): New function, extracted from
35194         func_verify_module.
35195         (func_verify_module): Use it.
35196         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35197         'foo' only if 'foo' exists.
35198         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35199         module.
35200
35201 2010-03-28  Bruno Haible  <bruno@clisp.org>
35202
35203         gnulib-tool: Add support for special categories of tests.
35204         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35205         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35206         (func_usage): Document them.
35207         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35208         inc_unportable_tests, inc_all_tests): New variables.
35209         (func_acceptable): Consider these variables.
35210         (func_modules_transitive_closure): Make it work when the 'Status' field
35211         consists of multiple words.
35212         (func_import): Store and restore the values of inc_cxx_tests,
35213         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35214         inc_all_tests in gnulib-comp.m4.
35215         (func_create_testdir): Set inc_all_tests to true.
35216         * doc/gnulib.texi (Extra tests modules): New section.
35217         Suggested by Jim Meyering.
35218
35219 2010-03-28  Bruno Haible  <bruno@clisp.org>
35220
35221         ansi-c++-opt: Allow turning off the C++ build by default.
35222         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35223         gl_CXX_CHOICE_DEFAULT_NO is defined.
35224         Requested by Eric Blake.
35225
35226 2010-03-28  Bruno Haible  <bruno@clisp.org>
35227
35228         unistd: Avoid #define replacements in C++ mode.
35229         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35230         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35231         setsockopt, shutdown, select): In C++, attach a warning to the function
35232         if possible, rather than #defining the symbol to a dysfunctional alias.
35233         Reported by John W. Eaton <jwe@gnu.org>.
35234
35235 2010-03-28  Bruno Haible  <bruno@clisp.org>
35236
35237         Fix link errors on mingw.
35238         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35239         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35240         $(LIBSOCKET).
35241         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35242         $(LIBSOCKET).
35243
35244 2010-03-28  Bruno Haible  <bruno@clisp.org>
35245             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35246
35247         lib-ignore: Determine different options for different compilers.
35248         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35249         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35250         Add comments.
35251         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35252         * NEWS: Mention the change.
35253
35254 2010-03-27  Bruno Haible  <bruno@clisp.org>
35255
35256         Remove unused GNULIB_XYZ macro definitions.
35257         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35258         * modules/fseek (configure.ac): Likewise.
35259         * modules/ioctl (configure.ac): Likewise.
35260         * modules/open (configure.ac): Likewise.
35261         * modules/stdlib-safer (configure.ac): Likewise.
35262
35263 2010-03-27  Bruno Haible  <bruno@clisp.org>
35264
35265         Add a remark about certain modules.
35266         * modules/malloc (Comment): New section.
35267         * modules/realloc (Comment): Likewise.
35268         * modules/sigpipe (Comment): Likewise.
35269
35270 2010-03-27  Bruno Haible  <bruno@clisp.org>
35271
35272         Resolve conflict between the two kinds of module indicators.
35273         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35274         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35275         * modules/canonicalize (configure.ac): Invoke
35276         gl_MODULE_INDICATOR_FOR_TESTS.
35277         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35278         GNULIB_XYZ.
35279         * tests/test-dirent-c++.cc: Likewise.
35280         * tests/test-dirent-safer.c: Likewise.
35281         * tests/test-dup2.c: Likewise.
35282         * tests/test-fchdir.c: Likewise.
35283         * tests/test-fcntl-h-c++.cc: Likewise.
35284         * tests/test-getopt.c: Likewise.
35285         * tests/test-getopt.h: Likewise.
35286         * tests/test-langinfo-c++.cc: Likewise.
35287         * tests/test-locale-c++.cc: Likewise.
35288         * tests/test-math-c++.cc: Likewise.
35289         * tests/test-pty-c++.cc: Likewise.
35290         * tests/test-search-c++.cc: Likewise.
35291         * tests/test-signal-c++.cc: Likewise.
35292         * tests/test-spawn-c++.cc: Likewise.
35293         * tests/test-stdio-c++.cc: Likewise.
35294         * tests/test-stdlib-c++.cc: Likewise.
35295         * tests/test-string-c++.cc: Likewise.
35296         * tests/test-sys_ioctl-c++.cc: Likewise.
35297         * tests/test-sys_select-c++.cc: Likewise.
35298         * tests/test-sys_socket-c++.cc: Likewise.
35299         * tests/test-sys_stat-c++.cc: Likewise.
35300         * tests/test-sys_time-c++.cc: Likewise.
35301         * tests/test-time-c++.cc: Likewise.
35302         * tests/test-unistd-c++.cc: Likewise.
35303         * tests/test-wchar-c++.cc: Likewise.
35304         * tests/uninorm/test-u8-nfc.c: Likewise.
35305         * tests/uninorm/test-u8-nfd.c: Likewise.
35306         * tests/uninorm/test-u8-nfkc.c: Likewise.
35307         * tests/uninorm/test-u8-nfkd.c: Likewise.
35308         * tests/uninorm/test-u16-nfc.c: Likewise.
35309         * tests/uninorm/test-u16-nfd.c: Likewise.
35310         * tests/uninorm/test-u16-nfkc.c: Likewise.
35311         * tests/uninorm/test-u16-nfkd.c: Likewise.
35312         * tests/uninorm/test-u32-nfc.c: Likewise.
35313         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35314         * tests/uninorm/test-u32-nfd.c: Likewise.
35315         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35316         * tests/uninorm/test-u32-nfkc.c: Likewise.
35317         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35318         * tests/uninorm/test-u32-nfkd.c: Likewise.
35319         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35320         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35321
35322 2010-03-27  Bruno Haible  <bruno@clisp.org>
35323
35324         Distinguish two kinds of module indicators.
35325         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35326         gl_MODULE_INDICATOR.
35327         (gl_MODULE_INDICATOR): New macro.
35328         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35329         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35330         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35331         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35332         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35333         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35334         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35335         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35336         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35337         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35338         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35339         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35340         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35341         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35342         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35343         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35344         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35345         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35346         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35347         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35348         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35349         * modules/cloexec (configure.ac): Likewise.
35350         * modules/getopt-gnu (configure.ac): Likewise.
35351         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35352         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35353         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35354         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35355
35356 2010-03-27  Bruno Haible  <bruno@clisp.org>
35357
35358         New module description field 'Comment'.
35359         * gnulib-tool: New option --extract-comment.
35360         (func_usage): Document it.
35361         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35362         (func_get_comment): New function.
35363         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35364
35365 2010-03-27  Bruno Haible  <bruno@clisp.org>
35366
35367         Addendum to 2010-02-07 commit.
35368         * gnulib-tool (func_usage): Document --extract-applicability option.
35369
35370 2010-03-27  Bruno Haible  <bruno@clisp.org>
35371
35372         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35373         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35374         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35375         rather than link errors.
35376
35377 2010-03-27  Bruno Haible  <bruno@clisp.org>
35378
35379         Avoid side effects from tests-related modules on the compilation of lib.
35380         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35381         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35382         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35383         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35384         macro.
35385         (func_import): Define a witness macro. Assign it a value that depends
35386         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35387         tests-related modules.
35388         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35389         Reported by Jim Meyering.
35390
35391 2010-03-27  Bruno Haible  <bruno@clisp.org>
35392
35393         Factorize common .m4 code.
35394         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35395         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35396         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35397         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35398         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35399         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35400         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35401         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35402         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35403         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35404         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35405         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35406         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35407         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35408         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35409         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35410         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35411         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35412         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35413         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35414         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35415         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35416         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35417         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35418         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35419         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35420         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35421         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35422         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35423         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35424         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35425         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35426
35427 2010-03-27  Bruno Haible  <bruno@clisp.org>
35428
35429         Fix a compilation error on Cygwin with g++ >= 4.3.
35430         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35431         if it is undefined or if we alias it to chmod.
35432         (lstat): Don't warn about the use of this function if it is undefined
35433         or if we alias it to stat.
35434         Reported by Simon Josefsson.
35435
35436 2010-03-27  Bruno Haible  <bruno@clisp.org>
35437
35438         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35439         * modules/getlogin (configure.ac): Update.
35440
35441         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35442         * modules/getlogin_r (configure.ac): Update.
35443
35444         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35445         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35446         * modules/inet_ntop (configure.ac): Update.
35447
35448         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35449         * modules/inet_pton (configure.ac): Update.
35450
35451         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35452         * modules/mbslen (configure.ac): Update.
35453
35454         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35455         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35456         * modules/forkpty (configure.ac): Update.
35457         * modules/openpty (configure.ac): Update.
35458
35459 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35460
35461         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35462         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35463
35464 2010-03-25  Eric Blake  <eblake@redhat.com>
35465
35466         maint: use pragma consistently across replacement headers
35467         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35468         * lib/dirent.in.h (system_header): Likewise.
35469         * lib/errno.in.h (system_header): Likewise.
35470         * lib/float.in.h (system_header): Likewise.
35471         * lib/getopt.in.h (system_header): Likewise.
35472         * lib/iconv.in.h (system_header): Likewise.
35473         * lib/inttypes.in.h (system_header): Likewise.
35474         * lib/langinfo.in.h (system_header): Likewise.
35475         * lib/locale.in.h (system_header): Likewise.
35476         * lib/math.in.h (system_header): Likewise.
35477         * lib/netdb.in.h (system_header): Likewise.
35478         * lib/netinet_in.in.h (system_header): Likewise.
35479         * lib/pty.in.h (system_header): Likewise.
35480         * lib/sched.in.h (system_header): Likewise.
35481         * lib/se-selinux.in.h (system_header): Likewise.
35482         * lib/search.in.h (system_header): Likewise.
35483         * lib/spawn.in.h (system_header): Likewise.
35484         * lib/stdarg.in.h (system_header): Likewise.
35485         * lib/stdint.in.h (system_header): Likewise.
35486         * lib/string.in.h (system_header): Likewise.
35487         * lib/strings.in.h (system_header): Likewise.
35488         * lib/sys_file.in.h (system_header): Likewise.
35489         * lib/sys_ioctl.in.h (system_header): Likewise.
35490         * lib/sys_socket.in.h (system_header): Likewise.
35491         * lib/sys_times.in.h (system_header): Likewise.
35492         * lib/sys_utsname.in.h (system_header): Likewise.
35493         * lib/sys_wait.in.h (system_header): Likewise.
35494         * lib/sysexits.in.h (system_header): Likewise.
35495         * lib/unistd.in.h (system_header): Likewise.
35496         * lib/wctype.in.h (system_header): Likewise.
35497
35498         arpa/inet: fix mingw compilation warning
35499         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35500         Reported by Matthew Bolte.
35501
35502 2010-03-25  Bruno Haible  <bruno@clisp.org>
35503
35504         Avoid collision between gnulib wrapper and libintl wrapper.
35505         * lib/printf.c (printf): Don't define if a printf wrapper is already
35506         defined in intl/printf.c.
35507         Reported by Michel Boaventura <michel@michelboaventura.com>.
35508
35509 2010-03-25  Bruno Haible  <bruno@clisp.org>
35510
35511         Use ANSI C.
35512         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35513
35514 2010-03-25  Bruno Haible  <bruno@clisp.org>
35515
35516         Minor formatting changes.
35517         * lib/acosl.c: Insert space before function argument list.
35518         * lib/argz.c: Likewise.
35519         * lib/asinl.c: Likewise.
35520         * lib/expl.c: Likewise.
35521         * lib/gen-uni-tables.c: Likewise.
35522         * lib/gettext.h: Likewise.
35523         * lib/glthread/lock.h: Likewise.
35524         * lib/tanl.c: Likewise.
35525         * lib/uniname/uniname.c: Likewise.
35526         * tests/test-idpriv-drop.c: Likewise.
35527         * tests/test-idpriv-droptemp.c: Likewise.
35528         * tests/test-lock.c: Likewise.
35529         * tests/test-tls.c: Likewise.
35530         * lib/argp-help.c: Insert space before function-like macro argument
35531         list.
35532         * lib/memcmp.c: Likewise.
35533         * tests/test-base64.c: Likewise.
35534         * lib/localename.c: Insert space before sizeof's argument list.
35535         * lib/safe-alloc.h: Likewise.
35536         * lib/file-set.h: Insert space before macro argument list.
35537         * tests/test-argp.c: Likewise.
35538         * lib/argp-namefrob.h: Insert space before function parameter list.
35539         * lib/getaddrinfo.c: Likewise.
35540         * lib/netdb.in.h: Likewise.
35541         * lib/parse-duration.h: Likewise.
35542         * lib/parse-duration.c: Likewise.
35543         * lib/poll.c: Likewise.
35544         * lib/select.c: Likewise.
35545         * lib/trim.h: Likewise.
35546         * tests/test-usleep.c: Likewise.
35547         * lib/ldexpl.c: Insert space before function parameter list and before
35548         function argument list.
35549         * lib/logl.c: Likewise.
35550         * lib/sqrtl.c: Likewise.
35551         * lib/trim.c: Likewise.
35552         * lib/cosl.c: Use GNU style indentation. Insert space before function
35553         argument list.
35554         * lib/sinl.c: Likewise.
35555         * lib/tsearch.c: Insert space after 'for'.
35556         Reported by Jim Meyering.
35557
35558 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35559
35560         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35561         config header before grepping, as it's not present before
35562         autoreconf/configure are run.  Reported by Simon Josefsson.
35563
35564 2010-03-23  Bruno Haible  <bruno@clisp.org>
35565
35566         pt_chown: Make it work with automake < 1.11.
35567         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35568         Reported by Simon Josefsson.
35569
35570 2010-03-23  Bruno Haible  <bruno@clisp.org>
35571
35572         pt_chown: Don't depend on GPLed modules.
35573         * lib/pt_chown.c: Don't include idpriv.h.
35574         (main): Don't drop privileges.
35575         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35576         Reported by Simon Josefsson.
35577
35578 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35579
35580         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35581         suggestions from karl@freefriends.org (Karl Berry).
35582
35583 2010-03-22  Eric Blake  <eblake@redhat.com>
35584
35585         gethostname: further tweaks
35586         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35587         are overriding gethostname.
35588         Suggested by Bruno Haible.
35589
35590 2010-03-21  Bruno Haible  <bruno@clisp.org>
35591
35592         Fix comments.
35593         * lib/forkpty.c (rpl_forkpty): Fix comment.
35594         * lib/openpty.c (rpl_openpty): Likewise.
35595         Reported by Eric Blake.
35596
35597 2010-03-22  Eric Blake  <eblake@redhat.com>
35598
35599         gethostname: fix build on mingw
35600         * lib/unistd.in.h (includes): Work around fact that mingw
35601         <winsock2.h> re-includes <unistd.h>, by avoiding any
35602         redeclarations if we are being included by <winsock2.h>.
35603         Reported by Matthias Bolte.
35604
35605 2010-03-21  Bruno Haible  <bruno@clisp.org>
35606
35607         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35608         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35609         modifications.
35610         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35611         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35612         provide the replacement.
35613         * modules/forkpty (Depends-on): Add openpty, login_tty.
35614         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35615         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35616         * doc/glibc-functions/forkpty.texi: More supported platforms.
35617         * config/srclist.txt: Add forkpty.c (commented).
35618
35619 2010-03-21  Bruno Haible  <bruno@clisp.org>
35620
35621         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35622         (Makefile.am): Verify that PTY_LIB is defined.
35623
35624         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35625
35626 2010-03-21  Bruno Haible  <bruno@clisp.org>
35627
35628         Tests for module 'login_tty'.
35629         * modules/login_tty-tests: New file.
35630         * tests/test-login_tty.c: New file.
35631
35632         New module 'login_tty'.
35633         * lib/login_tty.c: New file.
35634         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35635         * modules/login_tty: New file.
35636         * doc/glibc-functions/login_tty.texi: Mention the new module.
35637
35638 2010-03-21  Bruno Haible  <bruno@clisp.org>
35639
35640         login_tty: Documentation.
35641         * doc/glibc-functions/login_tty.texi: New file.
35642         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35643
35644 2010-03-21  Bruno Haible  <bruno@clisp.org>
35645
35646         pty: Consistent macro naming.
35647         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35648         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35649         * modules/pty (configure.ac): Update.
35650
35651 2010-03-21  Bruno Haible  <bruno@clisp.org>
35652
35653         Tests for openpty: Make stricter.
35654         * tests/test-openpty.c (main): Add test of canonical processing and
35655         erase.
35656         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35657
35658         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35659         * lib/openpty.c (openpty): New replacement function.
35660         * lib/pty.in.h: Include <termios.h>.
35661         (openpty): Update declaration. Add comments.
35662         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35663         is not declared, arrange to provide the replacement. Check for _getpty
35664         and posix_openpt.
35665         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35666         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35667         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35668         * modules/pty-tests (test_pty_c___LDADD): New variable.
35669         * doc/glibc-functions/openpty.texi: More supported platforms.
35670
35671 2010-03-21  Bruno Haible  <bruno@clisp.org>
35672
35673         setenv: Tweaks.
35674         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35675         the test program.
35676         * doc/posix-functions/setenv.texi: Update platforms list.
35677
35678 2010-03-21  Bruno Haible  <bruno@clisp.org>
35679
35680         New module 'unlockpt'.
35681         * lib/unlockpt.c: New file, from glibc with modifications.
35682         * m4/unlockpt.m4: New file.
35683         * modules/unlockpt: New file.
35684         * lib/stdlib.in.h (unlockpt): New declaration.
35685         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35686         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35687         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35688         HAVE_UNLOCKPT.
35689         * doc/posix-functions/unlockpt.texi: Mention the new module.
35690         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35691         * config/srclist.txt: Add unlockpt.c (commented).
35692
35693 2010-03-21  Jim Meyering  <meyering@redhat.com>
35694
35695         maint.mk: prohibit inclusion of "intprops.h" without use
35696         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35697
35698 2010-03-21  Bruno Haible  <bruno@clisp.org>
35699
35700         New module 'grantpt'.
35701         * lib/grantpt.c: New file, from glibc with modifications.
35702         * m4/grantpt.m4: New file.
35703         * modules/grantpt: New file.
35704         * lib/stdlib.in.h (grantpt): New declaration.
35705         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35706         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35707         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35708         HAVE_GRANTPT.
35709         * doc/posix-functions/grantpt.texi: Mention the new module.
35710         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35711         * config/srclist.txt: Add grantpt.c (commented).
35712
35713 2010-03-21  Bruno Haible  <bruno@clisp.org>
35714
35715         New module 'pt_chown'.
35716         * lib/pt_chown.c: New file, from glibc with modifications.
35717         * lib/pty-private.h: New file, from glibc with modifications.
35718         * modules/pt_chown: New file.
35719         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35720
35721 2010-03-21  Bruno Haible  <bruno@clisp.org>
35722
35723         Tests for module 'ptsname'.
35724         * modules/ptsname-tests: New file.
35725         * tests/test-ptsname.c: New file.
35726
35727         New module 'ptsname'.
35728         * lib/ptsname.c: New file, from glibc with modifications.
35729         * m4/ptsname.m4: New file.
35730         * modules/ptsname: New file.
35731         * lib/stdlib.in.h (ptsname): New declaration.
35732         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35733         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35734         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35735         HAVE_PTSNAME.
35736         * doc/posix-functions/ptsname.texi: Mention the new module.
35737         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35738         * config/srclist.txt: Add ptsname.c (commented).
35739
35740 2010-03-21  Bruno Haible  <bruno@clisp.org>
35741
35742         Tests for module 'ttyname_r'.
35743         * modules/ttyname_r-tests: New file.
35744         * tests/test-ttyname_r.c: New file.
35745
35746         New module 'ttyname_r'.
35747         * lib/ttyname_r.c: New file.
35748         * m4/ttyname_r.m4: New file.
35749         * modules/ttyname_r: New file.
35750         * lib/unistd.in.h (ttyname_r): New declaration.
35751         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35752         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35753         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35754         HAVE_TTYNAME_R.
35755         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35756         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35757
35758 2010-03-20  Bruno Haible  <bruno@clisp.org>
35759
35760         signal: Undefine macro definitions in C++ mode.
35761         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35762         sigfillset): Undefine macro definitions from the system header in C++
35763         mode.
35764         Reported by John W. Eaton <jwe@gnu.org>.
35765
35766 2010-03-20  Bruno Haible  <bruno@clisp.org>
35767
35768         Ensure no #include statements inside extern "C" { ... }.
35769         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35770         contain #include statements.
35771         * lib/time.in.h: Likewise.
35772
35773 2010-03-20  Bruno Haible  <bruno@clisp.org>
35774
35775         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35776         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35777         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35778         Reported by John W. Eaton <jwe@gnu.org>.
35779
35780 2010-03-20  Bruno Haible  <bruno@clisp.org>
35781
35782         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35783         Reported by Jim Meyering.
35784
35785 2010-03-20  Bruno Haible  <bruno@clisp.org>
35786
35787         pipe: Set errno upon failure.
35788         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35789         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35790         errno value in error message.
35791
35792 2010-03-20  Bruno Haible  <bruno@clisp.org>
35793             Jim Meyering  <meyering@redhat.com>
35794
35795         lchown: Avoid "unused variable" warning.
35796         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35797
35798 2010-03-20  Bruno Haible  <bruno@clisp.org>
35799
35800         Work around unlink() bug on MacOS X 10.5.6.
35801         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35802         attempting to unlink a parent directory.
35803         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35804         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35805         activate for the replacement function.
35806         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35807
35808 2010-03-20  Bruno Haible  <bruno@clisp.org>
35809
35810         Fix link errors on Solaris 8.
35811         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35812         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35813
35814 2010-03-19  Jim Meyering  <meyering@redhat.com>
35815
35816         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35817         The _LIBC implementation of build_range_exp correctly honors the
35818         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35819         However, the non-_LIBC implementation would ignore that syntax-bit
35820         flag and return REG_ERANGE unconditionally.
35821         This change makes it honor that flag.
35822         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35823         Make two pointer parameters "const".
35824         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35825         (parse_bracket_exp): Update caller.
35826
35827         regex.m4: correct the reversed range endpoint ([b-a]) test
35828         * m4/regex.m4: When requiring that [b-a] evoke failure,
35829         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35830         test pass once again for x86-based systems.
35831
35832 2010-03-19  Bruno Haible  <bruno@clisp.org>
35833
35834         scandir: Fix link error on Solaris 8.
35835         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35836         macros.
35837
35838 2010-03-19  Bruno Haible  <bruno@clisp.org>
35839
35840         getusershell: Fix documentation.
35841         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35842         module.
35843         * doc/glibc-functions/setusershell.texi: Likewise.
35844
35845         getusershell: Provide declaration, missing on Solaris 9.
35846         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35847         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35848         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35849         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35851         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35852         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35853         HAVE_GETUSERSHELL.
35854         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35855
35856 2010-03-19  Bruno Haible  <bruno@clisp.org>
35857
35858         wctype: Provide iswblank function.
35859         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35860         exists and is fine.
35861         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35862         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35863         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35864         * doc/posix-functions/iswblank.texi: Update.
35865
35866 2010-03-19  Bruno Haible  <bruno@clisp.org>
35867
35868         Tests of module 'pty' in C++ mode.
35869         * modules/pty-tests: New file.
35870         * tests/test-pty-c++.cc: New file.
35871         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35872
35873 2010-03-19  Eric Blake  <eblake@redhat.com>
35874
35875         logb: fix documentation
35876         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35877         1.5 declaration bug.
35878
35879         forkpty, openpty: prefer glibc's const-safe prototype
35880         * lib/forkpty.c (rpl_forkpty): New file.
35881         * lib/openpty.c (rpl_openpty): Likewise.
35882         * modules/forkpty (Files): Distribute it.
35883         * modules/openpty (Files): Likewise.
35884         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35885         check...
35886         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35887         replacement for for non-const BSD signature.
35888         * modules/pty (Makefile.am): Substitute witnesses.
35889         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35890         * tests/test-forkpty.c: Update signature check.
35891         * tests/test-openpty.c: Likewise.
35892         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35893         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35894
35895         forkpty, openpty: split functions into new modules
35896         * modules/pty (Makefile.am): Substitute new witnesses.
35897         (Libraries): Move library detection...
35898         * modules/forkpty: ...into new module.
35899         * modules/openpty: Another new module.
35900         * modules/pty-tests: Rename and split...
35901         * modules/forkpty-tests: ...to this...
35902         * modules/openpty-tests: ...and this.
35903         * tests/test-pty.c: Rename and split...
35904         * tests/test-forkpty.c: ...to this...
35905         * tests/test-openpty.c: ...and this.
35906         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35907         (gl_PTY): Split library searching...
35908         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35909         (gl_FORKPTY, gl_OPENPTY): New macros.
35910         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35911         * NEWS: Mention the split.
35912         * MODULES.html.sh (Misc): Document the modules.
35913         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35914         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35915
35916         pty: improve replacement header
35917         * lib/pty.in.h: New file.
35918         * modules/pty (Files): Ship it.
35919         (Makefile.am): Always build replacement.
35920         * m4/pty.m4: Rename...
35921         * m4/pty_h.m4: ...to this.
35922         (gl_PTY): Modernize setting of witness macros; update check of
35923         forkpty to take proper advantage of cache.
35924         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35925
35926         getopt: avoid compiler warning
35927         * lib/getopt.c (attribute_hidden): Remove unused macro.
35928
35929 2010-03-18  Bruno Haible  <bruno@clisp.org>
35930
35931         Fix link errors on Solaris 8.
35932         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35933         * modules/search-tests (test_search_c___LDADD): Likewise.
35934         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35935         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35936         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35937         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35938         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35939         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35940         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35941
35942 2010-03-18  Bruno Haible  <bruno@clisp.org>
35943
35944         Fix bug introduced on 2010-03-14.
35945         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35946         (gl_SPAWN_H): Require it.
35947         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35948         Reported by Simon Josefsson.
35949
35950 2010-03-18  Bruno Haible  <bruno@clisp.org>
35951
35952         Fix typo introduced on 2009-12-31.
35953         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35954         posix_spawn_file_actions_adddup2.
35955
35956 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35957         and Eric Blake  <eblake@redhat.com>
35958
35959         test-vc-list-files-git: make more robust
35960         * tests/test-vc-list-files-git.sh: Unset problematic environment
35961         variables.  Chain commands together.
35962
35963 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35964
35965         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35966         `AC_CHECK_DECL' invocation.
35967
35968 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35969
35970         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35971         appears before executable statements. Suggested by Petr Sumbera
35972         <Petr.Sumbera@Sun.COM>.
35973
35974 2010-03-14  Bruno Haible  <bruno@clisp.org>
35975
35976         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35977         portability problems. Instead use a simpler test.
35978         (main): Check that invalid arguments are rejected only on Linux.
35979
35980 2010-03-14  Bruno Haible  <bruno@clisp.org>
35981
35982         Fix bug introduced on 2009-12-31.
35983         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35984         gl_PREREQ_SYS_H_WINSOCK2 always.
35985         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35986         SYS_SOCKET_H variable.
35987         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35988         Update comments.
35989         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35990         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35991         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35992         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35993         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35994
35995 2010-03-14  Bruno Haible  <bruno@clisp.org>
35996
35997         Fix values returned by sinl, cosl.
35998         * lib/trigl.h: Add specification comments.
35999         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36000         that combines the values from the precomputed table with the values of
36001         the Chebyshev polynomials.
36002
36003 2010-03-14  Bruno Haible  <bruno@clisp.org>
36004
36005         Fix compilation error when modules 'posix_spawn[p]' are not used.
36006         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36007         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36008
36009 2010-03-14  Bruno Haible  <bruno@clisp.org>
36010
36011         Fix compilation error on mingw when module 'time_r' is not used.
36012         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36013         is 1.
36014         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36015         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36016         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36017         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36018
36019 2010-03-14  Bruno Haible  <bruno@clisp.org>
36020
36021         Fix compilation error with Sun C.
36022         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36023         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36024         instead of GCC specific ULONG_LONG_MAX.
36025         * lib/xstrtoll.c: Likewise.
36026         * lib/xstrtoull.c: Likewise.
36027
36028 2010-03-13  Bruno Haible  <bruno@clisp.org>
36029
36030         Allow the user to disable C++ code and tests.
36031         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36032         (gl_PROG_ANSI_CXX): Require it.
36033
36034 2010-03-13  Bruno Haible  <bruno@clisp.org>
36035
36036         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36037         cases.
36038
36039 2010-03-13  Bruno Haible  <bruno@clisp.org>
36040
36041         Test that gnulib does not break the standard C++ headers.
36042         * tests/test-locale-c++2.cc: New file.
36043         * modules/locale-tests (Files): Add it.
36044         (Makefile.am): Compile it for test-locale-c++.
36045         * tests/test-math-c++2.cc: New file.
36046         * modules/math-tests (Files): Add it.
36047         (Makefile.am): Compile it for test-math-c++.
36048         * tests/test-signal-c++2.cc: New file.
36049         * modules/signal-tests (Files): Add it.
36050         (Makefile.am): Compile it for test-signal-c++.
36051         * tests/test-stdio-c++2.cc: New file.
36052         * modules/stdio-tests (Files): Add it.
36053         (Makefile.am): Compile it for test-stdio-c++.
36054         * tests/test-stdlib-c++2.cc: New file.
36055         * modules/stdlib-tests (Files): Add it.
36056         (Makefile.am): Compile it for test-stdlib-c++.
36057         * tests/test-string-c++2.cc: New file.
36058         * modules/string-tests (Files): Add it.
36059         (Makefile.am): Compile it for test-string-c++.
36060         * tests/test-time-c++2.cc: New file.
36061         * modules/time-tests (Files): Add it.
36062         (Makefile.am): Compile it for test-time-c++.
36063         Reported by John W. Eaton <jwe@gnu.org>.
36064
36065 2010-03-13  Bruno Haible  <bruno@clisp.org>
36066
36067         * gnulib-tool (func_usage): Clarify which options are available for
36068         --create-testdir and --create-megatestdir.
36069
36070 2010-03-13  Bruno Haible  <bruno@clisp.org>
36071
36072         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36073         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36074         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36075         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36076         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36077         when appropriate.
36078         Reported by Jim Meyering.
36079
36080 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36081
36082         * gnulib-tool (func_import): Explain origin of code.
36083
36084 2010-03-12  Bruno Haible  <bruno@clisp.org>
36085
36086         Fix problem with automake's definition of CXXLINK.
36087         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36088         Reported by Simon Josefsson and Ludovic Courtès.
36089
36090 2010-03-12  Bruno Haible  <bruno@clisp.org>
36091
36092         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36093         stable releases.
36094
36095 2010-03-11  Bruno Haible  <bruno@clisp.org>
36096
36097         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36098         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36099         whether the system provides one variant or multiple variants of the
36100         function.
36101         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36102         C++ compilers.
36103         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36104         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36105         Reported by Jim Meyering.
36106
36107 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36108
36109         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36110
36111 2010-03-08  Bruno Haible  <bruno@clisp.org>
36112
36113         gnulib-tool: Add support for --libtool in --create-testdir.
36114         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36115         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36116
36117 2010-03-08  Eric Blake  <eblake@redhat.com>
36118
36119         gnulib-tool.texi: mention possibility of git submodule
36120         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36121         submodules.
36122         * doc/.gitignore: Ignore another generated file.
36123
36124 2010-03-08  Karl Berry  <karl@gnu.org>
36125
36126         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36127         of committing gnulib files while skipping others.
36128
36129 2010-03-07  Bruno Haible  <bruno@clisp.org>
36130
36131         Tests of module 'wctype' in C++ mode.
36132         * tests/test-wctype-c++.cc: New file.
36133         * modules/wctype-tests (Files): Add it and tests/signature.h.
36134         (Depends-on): Add ansi-c++-opt.
36135         (Makefile.am): Arrange to compile and run test-wctype-c++.
36136
36137         Tests of module 'wchar' in C++ mode.
36138         * tests/test-wchar-c++.cc: New file.
36139         * modules/wchar-tests (Files): Add it and tests/signature.h.
36140         (Depends-on): Add ansi-c++-opt.
36141         (Makefile.am): Arrange to compile and run test-wchar-c++.
36142         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36143         gl_MODULE_INDICATOR.
36144
36145         Tests of module 'unistd' in C++ mode.
36146         * tests/test-unistd-c++.cc: New file.
36147         * modules/unistd-tests (Files): Add it and tests/signature.h.
36148         (Depends-on): Add ansi-c++-opt.
36149         (Makefile.am): Arrange to compile and run test-unistd-c++.
36150         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36151         gl_MODULE_INDICATOR.
36152
36153         Tests of module 'time' in C++ mode.
36154         * tests/test-time-c++.cc: New file.
36155         * modules/time-tests (Files): Add it and tests/signature.h.
36156         (Depends-on): Add ansi-c++-opt.
36157         (Makefile.am): Arrange to compile and run test-time-c++.
36158         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36159
36160         Tests of module 'sys_time' in C++ mode.
36161         * tests/test-sys_time-c++.cc: New file.
36162         * modules/sys_time-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_time-c++.
36165         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36166         gl_MODULE_INDICATOR.
36167
36168         Tests of module 'sys_stat' in C++ mode.
36169         * tests/test-sys_stat-c++.cc: New file.
36170         * modules/sys_stat-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_stat-c++.
36173         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36174         gl_MODULE_INDICATOR.
36175
36176         Tests of module 'sys_socket' in C++ mode.
36177         * tests/test-sys_socket-c++.cc: New file.
36178         * modules/sys_socket-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_socket-c++.
36181         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36182         gl_MODULE_INDICATOR.
36183
36184         Tests of module 'sys_select' in C++ mode.
36185         * tests/test-sys_select-c++.cc: New file.
36186         * modules/sys_select-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_select-c++.
36189         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36190         gl_MODULE_INDICATOR.
36191
36192         Tests of module 'sys_ioctl' in C++ mode.
36193         * tests/test-sys_ioctl-c++.cc: New file.
36194         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36195         (Depends-on): Add ansi-c++-opt.
36196         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36197         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36198         gl_MODULE_INDICATOR.
36199
36200         Tests of module 'string' in C++ mode.
36201         * tests/test-string-c++.cc: New file.
36202         * modules/string-tests (Files): Add it and tests/signature.h.
36203         (Depends-on): Add ansi-c++-opt.
36204         (Makefile.am): Arrange to compile and run test-string-c++.
36205         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36206         gl_MODULE_INDICATOR.
36207
36208         Tests of module 'stdlib' in C++ mode.
36209         * tests/test-stdlib-c++.cc: New file.
36210         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36211         (Depends-on): Add ansi-c++-opt.
36212         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36213         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36214         gl_MODULE_INDICATOR.
36215
36216         Tests of module 'stdio' in C++ mode.
36217         * tests/test-stdio-c++.cc: New file.
36218         * modules/stdio-tests (Files): Add it and tests/signature.h.
36219         (Depends-on): Add ansi-c++-opt.
36220         (Makefile.am): Arrange to compile and run test-stdio-c++.
36221         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36222         gl_MODULE_INDICATOR.
36223
36224         Tests of module 'spawn' in C++ mode.
36225         * tests/test-spawn-c++.cc: New file.
36226         * modules/spawn-tests (Files): Add it and tests/signature.h.
36227         (Depends-on): Add ansi-c++-opt.
36228         (Makefile.am): Arrange to compile and run test-spawn-c++.
36229         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36230         gl_MODULE_INDICATOR.
36231
36232         Tests of module 'signal' in C++ mode.
36233         * tests/test-signal-c++.cc: New file.
36234         * modules/signal-tests (Files): Add it and tests/signature.h.
36235         (Depends-on): Add ansi-c++-opt.
36236         (Makefile.am): Arrange to compile and run test-signal-c++.
36237         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36238         gl_MODULE_INDICATOR.
36239
36240         Tests of module 'search' in C++ mode.
36241         * tests/test-search-c++.cc: New file.
36242         * modules/search-tests (Files): Add it and tests/signature.h.
36243         (Depends-on): Add ansi-c++-opt.
36244         (Makefile.am): Arrange to compile and run test-search-c++.
36245         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36246         gl_MODULE_INDICATOR.
36247
36248         Tests of module 'math' in C++ mode.
36249         * tests/test-math-c++.cc: New file.
36250         * modules/math-tests (Files): Add it and tests/signature.h.
36251         (Depends-on): Add ansi-c++-opt.
36252         (Makefile.am): Arrange to compile and run test-math-c++.
36253         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36254
36255         Tests of module 'locale' in C++ mode.
36256         * tests/test-locale-c++.cc: New file.
36257         * modules/locale-tests (Files): Add it and tests/signature.h.
36258         (Depends-on): Add ansi-c++-opt.
36259         (Makefile.am): Arrange to compile and run test-locale-c++.
36260         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36261         gl_MODULE_INDICATOR.
36262
36263         Tests of module 'langinfo' in C++ mode.
36264         * tests/test-langinfo-c++.cc: New file.
36265         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36266         (Depends-on): Add ansi-c++-opt.
36267         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36268         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36269         gl_MODULE_INDICATOR.
36270
36271         Tests of module 'iconv-h' in C++ mode.
36272         * tests/test-iconv-h-c++.cc: New file.
36273         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36274         (Depends-on): Add ansi-c++-opt.
36275         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36276
36277         Tests of module 'glob' in C++ mode.
36278         * tests/test-glob-c++.cc: New file.
36279         * modules/glob-tests (Files): Add it.
36280         (Depends-on): Add ansi-c++-opt.
36281         (Makefile.am): Arrange to compile and run test-glob-c++.
36282
36283         Tests of module 'fcntl-h' in C++ mode.
36284         * tests/test-fcntl-h-c++.cc: New file.
36285         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36286         (Depends-on): Add ansi-c++-opt.
36287         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36288         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36289         gl_MODULE_INDICATOR.
36290
36291         Tests of module 'dirent' in C++ mode.
36292         * tests/test-dirent-c++.cc: New file.
36293         * modules/dirent-tests (Files): Add it and tests/signature.h.
36294         (Depends-on): Add ansi-c++-opt.
36295         (Makefile.am): Arrange to compile and run test-dirent-c++.
36296         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36297         gl_MODULE_INDICATOR.
36298
36299         New module 'ansi-c++-opt'.
36300         * modules/ansi-c++-opt: New file.
36301         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36302
36303         Document C++ namespace mode.
36304         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36305
36306         wctype: Avoid #define replacements in C++ mode.
36307         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36308         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36309         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36310         In C++, define a namespaced alias symbol.
36311         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36312         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36313         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36314         rule.
36315
36316         wchar: Avoid #define replacements in C++ mode.
36317         * lib/wchar.in.h: Include c++defs.h.
36318         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36319         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36320         symbol.
36321         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36322         * modules/wchar (Depends-on): Add c++defs.
36323         (Makefile.am): Update wchar.h rule.
36324
36325         unistd: Avoid #define replacements in C++ mode.
36326         * lib/unistd.in.h: Include c++defs.h.
36327         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36328         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36329         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36330         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36331         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36332         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36333         symbol.
36334         (environ): Update.
36335         * modules/unistd (Depends-on): Add c++defs.
36336         (Makefile.am): Update unistd.h rule.
36337
36338         time: Avoid #define replacements in C++ mode.
36339         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36340         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36341         define a namespaced alias symbol.
36342         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36343         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36344         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36345         * modules/time (Depends-on): Add c++defs, warn-on-use.
36346         (Makefile.am): Update time.h rule.
36347         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36348         * modules/nanosleep (configure.ac): Likewise.
36349         * modules/strptime (configure.ac): Likewise.
36350         * modules/timegm (configure.ac): Likewise.
36351
36352         sys_time: Avoid #define replacements in C++ mode.
36353         * lib/sys_time.in.h: Include c++defs.h.
36354         (gettimeofday): In C++, define a namespaced alias symbol.
36355         * modules/sys_time (Depends-on): Add c++defs.
36356         (Makefile.am): Update sys/time.h rule.
36357
36358         sys_stat: Avoid #define replacements in C++ mode.
36359         * lib/sys_stat.in.h: Include c++defs.h.
36360         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36361         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36362         namespaced alias symbol.
36363         In C++, define a namespaced alias symbol.
36364         * modules/sys_stat (Depends-on): Add c++defs.
36365         (Makefile.am): Update sys/stat.h rule.
36366
36367         sys_socket: Avoid #define replacements in C++ mode.
36368         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36369         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36370         definitions also when the system has a <sys/socket.h>.
36371         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36372         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36373         In C++, define a namespaced alias symbol.
36374         * modules/sys_socket (Depends-on): Add c++defs.
36375         (Makefile.am): Update sys/socket.h rule.
36376
36377         sys_select: Avoid #define replacements in C++ mode.
36378         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36379         definitions also when the system has a <sys/select.h>.
36380         (select): In C++, define a namespaced alias symbol.
36381         * modules/sys_select (Depends-on): Add c++defs.
36382         (Makefile.am): Update sys/select.h rule.
36383
36384         sys_ioctl: Avoid #define replacements in C++ mode.
36385         * lib/sys_ioctl.in.h: Include c++defs.h.
36386         (ioctl): In C++, define a namespaced alias symbol.
36387         * modules/sys_ioctl (Depends-on): Add c++defs.
36388         (Makefile.am): Update sys/ioctl.h rule.
36389
36390         string: Avoid #define replacements in C++ mode.
36391         * lib/string.in.h: Include c++defs.h.
36392         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36393         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36394         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36395         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36396         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36397         * modules/string (Depends-on): Add c++defs.
36398         (Makefile.am): Update string.h rule.
36399
36400         stdlib: Avoid #define replacements in C++ mode.
36401         * lib/stdlib.in.h: Include c++defs.h.
36402         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36403         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36404         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36405         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36406         symbol.
36407         * modules/stdlib (Depends-on): Add c++defs.
36408         (Makefile.am): Update stdlib.h rule.
36409
36410         stdio: Avoid #define replacements in C++ mode.
36411         * lib/stdio.in.h: Include c++defs.h.
36412         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36413         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36414         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36415         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36416         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36417         namespaced alias symbol.
36418         * modules/stdio (Depends-on): Add c++defs.
36419         (Makefile.am): Update stdio.h rule.
36420
36421         spawn: Avoid #define replacements in C++ mode.
36422         * lib/spawn.in.h: Include c++defs.h.
36423         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36424         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36425         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36426         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36427         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36428         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36429         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36430         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36431         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36432         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36433         In C++, define a namespaced alias symbol.
36434         * modules/spawn (Depends-on): Add c++defs.
36435         (Makefile.am): Update spawn.h rule.
36436
36437         signal: Avoid #define replacements in C++ mode.
36438         * lib/signal.in.h: Include c++defs.h.
36439         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36440         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36441         namespaced alias symbol.
36442         * modules/signal (Depends-on): Add c++defs.
36443         (Makefile.am): Update signal.h rule.
36444
36445         search: Avoid #define replacements in C++ mode.
36446         * lib/search.in.h: Include c++defs.h.
36447         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36448         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36449         symbol.
36450         * modules/search (Depends-on): Add c++defs.
36451         (Makefile.am): Update search.h rule.
36452
36453         math: Avoid #define replacements in C++ mode.
36454         * lib/math.in.h: Include c++defs.h.
36455         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36456         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36457         trunc, truncl): In C++, define a namespaced alias symbol.
36458         * modules/math (Depends-on): Add c++defs.
36459         (Makefile.am): Update math.h rule.
36460
36461         locale: Avoid #define replacements in C++ mode.
36462         * lib/locale.in.h: Include c++defs.h.
36463         (duplocale): In C++, define a namespaced alias symbol.
36464         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36465         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36466         * modules/locale (Depends-on): Add c++defs.
36467         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36468
36469         langinfo: Avoid #define replacements in C++ mode.
36470         * lib/langinfo.in.h: Include c++defs.h.
36471         (nl_langinfo): In C++, define a namespaced alias symbol.
36472         * modules/langinfo (Depends-on): Add c++defs.
36473         (Makefile.am): Update langinfo.h rule.
36474
36475         iconv-h: Avoid #define replacements in C++ mode.
36476         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36477         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36478         symbol.
36479         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36480         whenever iconv is present.
36481         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36482         (Makefile.am): Update iconv.h rule.
36483
36484         glob: Avoid #define replacements in C++ mode.
36485         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36486         (_gl_glob_errfunc_fn): New type.
36487         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36488         symbol.
36489         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36490         (Makefile.am): Update glob.h rule.
36491
36492         fcntl-h: Avoid #define replacements in C++ mode.
36493         * lib/fcntl.in.h: Include c++defs.h.
36494         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36495         * modules/fcntl-h (Depends-on): Add c++defs.
36496         (Makefile.am): Update fcntl.h rule.
36497
36498         dirent: Avoid #define replacements in C++ mode.
36499         * lib/dirent.in.h: Include c++defs.h.
36500         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36501         namespaced alias symbol.
36502         (dirfd): Update declaration.
36503         * modules/dirent (Depends-on): Add c++defs.
36504         (Makefile.am): Update dirent.h rule.
36505
36506         ctype: Make it usable in C++ code.
36507         * lib/ctype.in.h: Include c++defs.h.
36508         (isblank): Declare as extern "C".
36509         * modules/ctype (Depends-on): Add c++defs.
36510         (Makefile.am): Update ctype.h rule.
36511
36512         New module 'c++defs'.
36513         * modules/c++defs: New file.
36514         * build-aux/c++defs.h: New file.
36515         Reported by John W. Eaton <jwe@gnu.org>.
36516
36517 2010-03-07  Bruno Haible  <bruno@clisp.org>
36518
36519         logb: Provide missing declaration for Cygwin.
36520         * lib/math.in.h (logb): New declaration.
36521         * m4/logb.m4: New file.
36522         * modules/logb (Files): Add m4/logb.m4.
36523         (Depends-on): Add math.
36524         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36525         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36527         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36528         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36529
36530 2010-03-07  Bruno Haible  <bruno@clisp.org>
36531
36532         Fix test-cond link error.
36533         * tests/test-cond.c: Include <stdio.h>.
36534
36535 2010-03-07  Bruno Haible  <bruno@clisp.org>
36536
36537         Fix test-dirent-safer link error.
36538         * modules/dirent-safer-tests (Makefile.am): Define
36539         test_dirent_safer_LDADD.
36540
36541 2010-03-07  Bruno Haible  <bruno@clisp.org>
36542
36543         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36544         among default module list.
36545
36546 2010-03-07  Bruno Haible  <bruno@clisp.org>
36547
36548         Fix link error on platforms with GNU libiconv.
36549         * modules/unistr/u8-strcoll-tests (Makefile): Define
36550         test_u8_strcoll_LDADD.
36551         * modules/unistr/u16-strcoll-tests (Makefile): Define
36552         test_u16_strcoll_LDADD.
36553         * modules/unistr/u32-strcoll-tests (Makefile): Define
36554         test_u32_strcoll_LDADD.
36555
36556 2010-03-07  Bruno Haible  <bruno@clisp.org>
36557
36558         Use POSIX declarations for socket functions.
36559         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36560         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36561         rpl_sendto): Change declaration to match POSIX.
36562         * lib/connect.c (rpl_connect): Likewise.
36563         * lib/accept.c (rpl_accept): Likewise.
36564         * lib/bind.c (rpl_bind): Likewise.
36565         * lib/getpeername.c (rpl_getpeername): Likewise.
36566         * lib/getsockname.c (rpl_getsockname): Likewise.
36567         * lib/recv.c (rpl_recv): Likewise.
36568         * lib/send.c (rpl_send): Likewise.
36569         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36570         * lib/sendto.c (rpl_sendto): Likewise.
36571
36572 2010-03-06  Bruno Haible  <bruno@clisp.org>
36573
36574         Clarify access, euidaccess, faccessat.
36575         * doc/posix-functions/faccessat.texi: Mention security problem under
36576         "Other problems", not "Portability problems".
36577         * doc/posix-functions/access.texi: Likewise. Mention a related security
36578         problem.
36579         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36580         * lib/euidaccess.c: Add comments about platforms.
36581         * lib/unistd.in.h (access, euidaccess): Add warnings.
36582
36583 2010-03-07  Bruno Haible  <bruno@clisp.org>
36584
36585         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36586         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36587         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36588         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36589         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36590         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36591         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36592         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36593         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36594         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36595         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36596         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36597         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36598         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36599         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36600         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36601         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36602         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36603         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36604         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36605         Likewise.
36606         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36607         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36608         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36609         Likewise.
36610         * tests/test-spawn.c (main): Make it work when
36611         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36612
36613 2010-03-07  Bruno Haible  <bruno@clisp.org>
36614
36615         Fix incorrect Makefile.am generation in German locale.
36616         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36617         Execute sed command with character range in C locale.
36618
36619 2010-03-06  Bruno Haible  <bruno@clisp.org>
36620
36621         Tests for module 'iconv-h'.
36622         * modules/iconv-h-tests: New file.
36623         * tests/test-iconv-h.c: New file.
36624
36625         New module 'iconv-h'.
36626         * modules/iconv-h: New file.
36627         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36628         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36629         (configure.ac): Remove gl_ICONV_H.
36630         (Makefile.am): Remove rule for iconv.h.
36631
36632 2010-03-06  Bruno Haible  <bruno@clisp.org>
36633
36634         More consistent naming of *.m4 files.
36635         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36636         * modules/wctype (Files): Update.
36637
36638         More consistent naming of *.m4 files.
36639         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36640         * modules/wchar (Files): Update.
36641
36642 2010-03-06  Jim Meyering  <meyering@redhat.com>
36643
36644         euidaccess: relax license to LGPLv2+
36645         * modules/euidaccess (License): Relax to LGPLv2+.
36646
36647 2010-03-06  Bruno Haible  <bruno@clisp.org>
36648
36649         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36650         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36651         (Makefile.am): Augment lib_SOURCES instead.
36652
36653 2010-03-04  Jim Meyering  <meyering@redhat.com>
36654
36655         utime: remove obsolete module
36656         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36657         unnecessary for years, and has been marked as obsolete for 10 months.
36658         * modules/utime: Remove file.
36659         * lib/utime.c: Remove file.
36660         * m4/utime.m4: Remove file.
36661         * m4/utimes-null.m4: Remove file.
36662         * doc/posix-functions/utime.texi (utime): Remove reference to
36663         the module.  Move the sole "fixed by gnulib" item into the
36664         "problems not fixed by Gnulib" list.
36665         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36666
36667 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36668
36669         * modules/exit (License): Relax license to LGPLv2+.
36670         (Status): Mark as obsolete.
36671         * NEWS: Mention deprecated 'exit' module.
36672         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36673         of now obsolete 'exit'.
36674
36675 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36676
36677         fts-lgpl: remove unused module
36678         * modules/fts-lgpl: Remove.
36679         * MODULES.html.sh (func_all_modules): Adjust.
36680         * check-module (find_included_lib_files): Adjust.
36681         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36682
36683 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36684
36685         copy-acl: enhance Solaris ACL error handling
36686         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36687         * lib/set-mode-acl.c (qset_acl): Likewise.
36688
36689 2010-03-02  Bruno Haible  <bruno@clisp.org>
36690
36691         spawn: Don't override the system defined values on FreeBSD 8.
36692         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36693         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36694         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36695         if HAVE_POSIX_SPAWN is 1.
36696         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36697
36698 2010-03-01  Bruno Haible  <bruno@clisp.org>
36699
36700         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36701         regarding Automake.
36702
36703 2010-02-25  Bruno Haible  <bruno@clisp.org>
36704
36705         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36706         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36707         setting, not afterwards.
36708         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36709
36710 2010-02-24  Eric Blake  <eblake@redhat.com>
36711
36712         bootstrap, git-version-gen: use timestamp
36713         * build-aux/git-version-gen (scriptversion): Force UTC.
36714         * build-aux/bootstrap (scriptversion): New variable.
36715
36716         bootstrap: allow older git
36717         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36718         older than 1.6.4.  Requested by the libvirt project.
36719
36720 2010-02-23  Eric Blake  <eblake@redhat.com>
36721
36722         warn-on-use: work with old autoconf
36723         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36724         AS_VAR semantics of autoconf 2.60.
36725         Reported by Bruno Haible.
36726
36727         bootstrap: improve some comments
36728         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36729         clarification comments.
36730
36731         gettimeofday: provide correct function
36732         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36733         when replacement is declared, otherwise provide gettimeofday.
36734         Reported by Michael Goffioul.
36735
36736 2010-02-23  Jim Meyering  <meyering@redhat.com>
36737
36738         lib-ignore: relax license to "unlimited", not LGPLv2+
36739         * modules/lib-ignore (License): Relax to "unlimited".
36740
36741 2010-02-23  Jim Meyering  <meyering@redhat.com>
36742
36743         lib-ignore: relax license to LGPLv2+
36744         * modules/lib-ignore (License): Relax to LGPLv2+.
36745
36746 2010-02-22  Eric Blake  <eblake@redhat.com>
36747
36748         lseek: avoid bash 3.2 broken pipe bug
36749         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36750         warning from bash 3.2.
36751         Reported by Ben Pfaff, with analysis from Bruno Haible.
36752
36753         bootstrap: support non-FSF copyright holder
36754         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36755         bootstrap.conf override of COPYRIGHT_HOLDER.
36756         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36757
36758         bootstrap: interoperate with gettext 0.14.1
36759         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36760
36761         bootstrap: allow for alternate submodule location
36762         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36763         hardcoding submodule location.
36764         (gnulib_mk): Allow direct use of Makefile.am.
36765
36766         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36767         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36768         rather than reconfiguring where the submodule points.
36769
36770         gettimeofday: restore support for platforms that lack function
36771         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36772         replacement if function is missing.
36773         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36774         * modules/sys_time (Makefile.am): Substitute it.
36775         * lib/sys_time.in.h (gettimeofday): Check it.
36776         Reported by Michael Goffioul.
36777
36778 2010-02-21  Bruno Haible  <bruno@clisp.org>
36779
36780         * lib/stdio.in.h (obstack_printf): Fix typo.
36781
36782 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36783
36784         vc-list-files: use bzr ls's -R option
36785         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36786         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36787
36788 2010-02-21  Jim Meyering  <meyering@redhat.com>
36789
36790         init.sh: fix EXEEXT shims to work also for names like test-prog
36791         * tests/init.sh: Re-exec a better shell, when needed.
36792         If the current shell lacks support for posix $(...), an init.sh-using
36793         test will now try to find a shell that supports that.  If EXEEXT is
36794         nonempty, we also require support for hyphen-in-alias-name and shell
36795         substitutions like ${var#glob}.  Failure to find such a shell results
36796         in a skipped test.
36797
36798 2010-02-21  Bruno Haible  <bruno@clisp.org>
36799
36800         Really work around around "broken pipe" error message from bash 3.2.
36801         * gnulib-tool (func_reset_sigpipe): Remove function.
36802         (echo): In bash 3.2, define to a function that uses printf.
36803         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36804
36805 2010-02-20  Bruno Haible  <bruno@clisp.org>
36806
36807         Restore support for automake 1.9.6 with autoconf 2.61.
36808         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36809         Reported by James Youngman <jay@gnu.org>.
36810
36811 2010-02-20  Bruno Haible  <bruno@clisp.org>
36812
36813         Improve *printf warning condition.
36814         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36815         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36816         and the function is overridden due to SIGPIPE emulation.
36817
36818 2010-02-20  Bruno Haible  <bruno@clisp.org>
36819
36820         * lib/stdio.in.h: Tweak comments.
36821
36822 2010-02-19  Bruno Haible  <bruno@clisp.org>
36823
36824         Make it easier to find modules. New gnulib-tool option '--find'.
36825         * gnulib-tool: New option --find.
36826         (func_usage): Document it.
36827         (func_sanitize_modulelist): New function, extracted from
36828         func_all_modules.
36829         (func_all_modules): Invoke it.
36830         * doc/gnulib-tool.texi (Which modules?): New node.
36831
36832 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36833
36834         * lib/sys_select.in.h: Provide select replacement even if
36835         sys/select.h exists on a system, for Interix.
36836
36837 2010-02-18  Jim Meyering  <meyering@redhat.com>
36838
36839         init.sh: don't use $(...) just yet
36840         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36841         to accommodate e.g., Solaris' /bin/sh.
36842
36843 2010-02-17  Bruno Haible  <bruno@clisp.org>
36844
36845         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36846         Reported by Ludovic Courtès <ludo@gnu.org>.
36847
36848 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36849
36850         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36851         linking with -lintl.
36852
36853 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36854
36855         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36856         if not provided by the system's netdb.h.  Reported by
36857         ludo@gnu.org (Ludovic Courtès).
36858
36859 2010-02-15  Jim Meyering  <meyering@redhat.com>
36860
36861         init.sh: improve portability and efficiency
36862         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36863         "dummy" in a for loop.
36864         Use '!', not '^' to select the complement of a character set used
36865         in a "case" statement.
36866         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36867         Suggestions from Eric Blake.
36868
36869         init.sh: automatically accommodate programs with the .exe suffix
36870         Automatically arrange for an invocation of "prog" to execute the
36871         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36872         may use the simpler "prog", yet still work when built on a system
36873         that requires specifying the added suffix.
36874         Do this by constructing a function named "prog" that invokes
36875         "prog.exe" for each .exe file in selected directories.
36876         * tests/init.sh (find_exe_basenames_): New function.
36877         (create_exe_shim_functions_): New function.
36878         (path_prepend_): Use it.
36879
36880         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36881         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36882         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36883
36884 2010-02-14  Jim Meyering  <meyering@redhat.com>
36885
36886         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36887         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36888         (sc_prohibit_hash_pjw_without_use): New rule.
36889
36890         maint.mk: allow the default upload destination dir to be overridden
36891         * top/maint.mk (upload_dest_dir_): Define with a default that
36892         preserves the status quo.
36893         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36894         Reported by Peter Simons.
36895
36896         maint.mk: prohibit inclusion of "hash.h" without_use
36897         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36898
36899 2010-02-10  Jim Meyering  <meyering@redhat.com>
36900
36901         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36902         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36903
36904 2010-02-09  Eric Blake  <ebb9@byu.net>
36905         and Bruno Haible  <bruno@clisp.org>
36906
36907         obstack-printf-posix: ensure declaration
36908         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36909         extracted from gl_FUNC_OBSTACK_PRINTF.
36910         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36911         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36912         Likewise.
36913         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36914         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36915         0.
36916
36917 2010-02-08  Bruno Haible  <bruno@clisp.org>
36918
36919         gnulib-tool: Fix typo in 2010-02-07 commit.
36920         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36921         Reported by Eric Blake.
36922
36923 2010-02-07  Bruno Haible  <bruno@clisp.org>
36924
36925         gnulib-tool: Fix up caching patches.
36926         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36927         option --no-cache. Use associative arrays when supported by the shell.
36928         (sed_comments): New variable.
36929         (modcache): Renamed from do_cache.
36930         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36931         abbreviate unnecessarily.
36932         (have_associative): New variable.
36933         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36934         way also for ksh and zsh.
36935         (func_init_sed_convert_to_cache_statements): New function, extracted
36936         from func_cache_lookup_module. Add support for associative arrays.
36937         Don't set the c_MODULE_cached variable here. Ignore all lines before
36938         the first field header. Remove only the final newline, not all trailing
36939         newlines. Support empty fields correctly. Limit the use of 'eval' to
36940         assignments.
36941         (func_get_description, func_get_status, func_get_notice,
36942         func_get_applicability, func_get_filelist, func_get_dependencies,
36943         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36944         func_get_automake_snippet, func_get_include_directive,
36945         func_get_link_directive, func_get_license, func_get_maintainer):
36946         Update documentation. List the unoptimized code first. Add support for
36947         associative arrays. Limit the use of 'eval' to assignments.
36948         (func_get_applicability): Undo stylistic pessimisations.
36949         (func_get_automake_snippet, func_get_include_directive): Reduce code
36950         duplication.
36951         (func_modules_transitive_closure, func_modules_add_dummy,
36952         func_modules_notice, func_modules_to_filelist, func_add_file,
36953         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36954         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36955         func_create_testdir, func_create_megatestdir): Update documentation.
36956
36957 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36958
36959         * gnulib-tool (func_cache_lookup_module): Store the module name
36960         belonging to the cache variable; error out if two different
36961         module names map to the same cache variable name.
36962
36963 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36964
36965         gnulib-tool: Make caching optional.
36966         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36967         Update matching short versions of --no-changelog.
36968         (func_usage): Update.
36969         (sed_extract_cache_prog): Renamed from ...
36970         (sed_extract_prog): ... this; revert to old extraction script.
36971         (func_get_description, func_get_status)
36972         (func_get_notice, func_get_applicability, func_get_filelist)
36973         (func_get_dependencies, func_get_autoconf_early_snippet)
36974         (func_get_autoconf_snippet, func_get_automake_snippet)
36975         (func_get_include_directive, func_get_link_directive)
36976         (func_get_license, func_get_maintainer): If $do_cache is false,
36977         use old, non-caching extraction scripts.
36978         Suggestion by Bruno Haible.
36979
36980 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36981
36982         gnulib-tool: cache module metainformation.
36983         * gnulib-tool (sed_extract_prog): Match newline before each
36984         header, and rewrite header to a shell variable suffix.
36985         (func_cache_var, func_cache_lookup_module): New functions,
36986         to turn a module name into a cache variable prefix, and to
36987         look up and cache module metainformation.
36988         (func_get_description, func_get_status)
36989         (func_get_notice, func_get_applicability, func_get_filelist)
36990         (func_get_dependencies, func_get_autoconf_early_snippet)
36991         (func_get_autoconf_snippet, func_get_automake_snippet)
36992         (func_get_include_directive, func_get_link_directive)
36993         (func_get_license, func_get_maintainer): Use
36994         func_cache_lookup_module.
36995
36996 2010-02-07  Bruno Haible  <bruno@clisp.org>
36997
36998         fnctl: Fix missing dependency.
36999         * modules/fcntl (Depends-on): Add getdtablesize.
37000         Reported by John W. Eaton <jwe@gnu.org>.
37001
37002 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37003
37004         Argp: fix recognition of short alias options.
37005
37006         * lib/argp-parse.c (convert_options): Fix improper use of
37007         `|' between character values.
37008         * tests/test-argp.c (group1_option): New alias option
37009         --read (-r).
37010         (group1_parser): Special handling for 'r'.
37011         (test15): New test case.
37012         (test_fun): Add test15.
37013         * tests/test-argp-2.sh: Update expected --help and --usage
37014         outputs.
37015
37016 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37017
37018         * tests/test-argp.c: Fix indentation.
37019
37020 2010-02-04  Eric Blake  <ebb9@byu.net>
37021
37022         gettimeofday: expose type of second argument
37023         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37024         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37025         * tests/test-gettimeofday.c: Use it to silence warning.
37026         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37027         the issue.
37028
37029 2010-02-03  Jim Meyering  <meyering@redhat.com>
37030
37031         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37032         * lib/regcomp.c (TYPE_SIGNED): Define.
37033         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37034
37035         regcomp.c: avoid a new -Wshadow warning
37036         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37037
37038 2010-02-01  Jim Meyering  <meyering@redhat.com>
37039
37040         removing useless parentheses in cpp #define directives
37041         For motivation, see commit c0221df4, "define STREQ(a,b)
37042         consistently, removing useless parentheses"
37043         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37044         * lib/mountlist.c (MNT_IGNORE): Likewise.
37045         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37046
37047 2010-02-01  Eric Blake  <ebb9@byu.net>
37048
37049         sys_time: use link-warning
37050         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37051         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37052         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37053         * modules/sys_time (Depends-on): Add warn-on-use.
37054         (Makefile.am): Always build replacement.
37055         (configure.ac): Update substitutions.
37056         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37057         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37058         bother with SYS_TIME_H.
37059         * modules/gettimeofday (configure.ac): Declare indicator.
37060         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37061         in use.
37062
37063         closein-tests: silence compiler warning
37064         * tests/test-closein.c (main): Ignore fread result.
37065         * modules/closein-tests (Depends-on): Add ignore-value.
37066
37067         tests: silence warning about system return
37068         * tests/test-areadlink-with-size.c (main): Ignore system result.
37069         * tests/test-areadlink.c (main): Likewise.
37070         * tests/test-areadlinkat-with-size.c (main): Likewise.
37071         * tests/test-areadlinkat.c (main): Likewise.
37072         * tests/test-canonicalize-lgpl.c (main): Likewise.
37073         * tests/test-canonicalize.c (main): Likewise.
37074         * tests/test-chown.c (main): Likewise.
37075         * tests/test-fchownat.c (main): Likewise.
37076         * tests/test-fdutimensat.c (main): Likewise.
37077         * tests/test-fstatat.c (main): Likewise.
37078         * tests/test-futimens.c (main): Likewise.
37079         * tests/test-lchown.c (main): Likewise.
37080         * tests/test-link.c (main): Likewise.
37081         * tests/test-linkat.c (main): Likewise.
37082         * tests/test-lstat.c (main): Likewise.
37083         * tests/test-mkdir.c (main): Likewise.
37084         * tests/test-mkdirat.c (main): Likewise.
37085         * tests/test-mkfifo.c (main): Likewise.
37086         * tests/test-mkfifoat.c (main): Likewise.
37087         * tests/test-mknod.c (main): Likewise.
37088         * tests/test-readlink.c (main): Likewise.
37089         * tests/test-remove.c (main): Likewise.
37090         * tests/test-rename.c (main): Likewise.
37091         * tests/test-renameat.c (main): Likewise.
37092         * tests/test-rmdir.c (main): Likewise.
37093         * tests/test-symlink.c (main): Likewise.
37094         * tests/test-symlinkat.c (main): Likewise.
37095         * tests/test-unlink.c (main): Likewise.
37096         * tests/test-unlinkat.c (main): Likewise.
37097         * tests/test-utimens.c (main): Likewise.
37098         * tests/test-utimensat.c (main): Likewise.
37099         * modules/areadlink-tests (Depends-on): Add ignore-value.
37100         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37101         * modules/areadlinkat-tests (Depends-on): Likewise.
37102         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37103         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37104         * modules/canonicalize-tests (Depends-on): Likewise.
37105         * modules/chown-tests (Depends-on): Likewise.
37106         * modules/fdutimensat-tests (Depends-on): Likewise.
37107         * modules/futimens-tests (Depends-on): Likewise.
37108         * modules/lchown-tests (Depends-on): Likewise.
37109         * modules/link-tests (Depends-on): Likewise.
37110         * modules/linkat-tests (Depends-on): Likewise.
37111         * modules/lstat-tests (Depends-on): Likewise.
37112         * modules/mkdir-tests (Depends-on): Likewise.
37113         * modules/mkfifo-tests (Depends-on): Likewise.
37114         * modules/mkfifoat-tests (Depends-on): Likewise.
37115         * modules/mknod-tests (Depends-on): Likewise.
37116         * modules/openat-tests (Depends-on): Likewise.
37117         * modules/readlink-tests (Depends-on): Likewise.
37118         * modules/remove-tests (Depends-on): Likewise.
37119         * modules/rename-tests (Depends-on): Likewise.
37120         * modules/renameat-tests (Depends-on): Likewise.
37121         * modules/rmdir-tests (Depends-on): Likewise.
37122         * modules/symlink-tests (Depends-on): Likewise.
37123         * modules/symlinkat-tests (Depends-on): Likewise.
37124         * modules/unlink-tests (Depends-on): Likewise.
37125         * modules/utimens-tests (Depends-on): Likewise.
37126         * modules/utimensat-tests (Depends-on): Likewise.
37127
37128 2010-01-31  Bruno Haible  <bruno@clisp.org>
37129
37130         Perform the same test for many <math.h> functions.
37131         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37132         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37133         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37134         of gl_MATHFUNC.
37135         * modules/acos (configure.ac): Likewise.
37136         * modules/asin (configure.ac): Likewise.
37137         * modules/atan (configure.ac): Likewise.
37138         * modules/atan2 (configure.ac): Likewise.
37139         * modules/cbrt (configure.ac): Likewise.
37140         * modules/copysign (configure.ac): Likewise.
37141         * modules/cos (configure.ac): Likewise.
37142         * modules/cosh (configure.ac): Likewise.
37143         * modules/erf (configure.ac): Likewise.
37144         * modules/erfc (configure.ac): Likewise.
37145         * modules/exp (configure.ac): Likewise.
37146         * modules/fmod (configure.ac): Likewise.
37147         * modules/hypot (configure.ac): Likewise.
37148         * modules/j0 (configure.ac): Likewise.
37149         * modules/j1 (configure.ac): Likewise.
37150         * modules/jn (configure.ac): Likewise.
37151         * modules/lgamma (configure.ac): Likewise.
37152         * modules/log (configure.ac): Likewise.
37153         * modules/log10 (configure.ac): Likewise.
37154         * modules/log1p (configure.ac): Likewise.
37155         * modules/pow (configure.ac): Likewise.
37156         * modules/remainder (configure.ac): Likewise.
37157         * modules/sin (configure.ac): Likewise.
37158         * modules/sinh (configure.ac): Likewise.
37159         * modules/tan (configure.ac): Likewise.
37160         * modules/tanh (configure.ac): Likewise.
37161         * modules/y0 (configure.ac): Likewise.
37162         * modules/y1 (configure.ac): Likewise.
37163         * modules/yn (configure.ac): Likewise.
37164         Suggested by Paolo Bonzini.
37165
37166 2010-01-31  Bruno Haible  <bruno@clisp.org>
37167
37168         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37169
37170 2010-01-31  Bruno Haible  <bruno@clisp.org>
37171
37172         Work around getdelim() bug on FreeBSD 8.0.
37173         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37174         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37175         not work.
37176         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37177         is 1.
37178         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37179         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37180         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37181         a non-zero size.
37182         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37183
37184 2010-01-31  Bruno Haible  <bruno@clisp.org>
37185
37186         Work around getline() bug on FreeBSD 8.0.
37187         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37188         and a non-zero size.
37189         * tests/test-getline.c (main): Likewise.
37190         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37191         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37192
37193 2010-01-28  Eric Blake  <ebb9@byu.net>
37194
37195         regex: fix build failure
37196         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37197         platforms.
37198
37199 2010-01-28  Jim Meyering  <meyering@redhat.com>
37200
37201         regex: do not ignore memory allocation failure
37202         * lib/regex_internal.c (create_cd_newstate): Detect
37203         re_node_set_init_copy failure.   Extracted from glibc commit
37204         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37205
37206         regex: sync more white-space changes from libc
37207         * lib/regex_internal.c: White-space only changes.
37208         * lib/regexec.c: Likewise.
37209
37210         regex: add many uses of __attribute_warn_unused_result__
37211         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37212         * lib/regexec.c: Likewise.
37213         Extracted from a messy glibc commit.
37214
37215         regcomp.c: spelling and merge-artifact from glibc
37216         * lib/regcomp.c: Merge remainder of glibc's
37217         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37218
37219         regcomp.c: sync white-space changes from glibc
37220         * lib/regcomp.c: Merge to accommodate white space
37221         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37222
37223         regcomp.c: do not ignore internal return values
37224         * lib/regcomp.c: Do not ignore internal return values.
37225         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37226         but without its white-space changes and spelling fixes.
37227
37228         regex_internal.h: define __attribute_warn_unused_result__
37229         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37230
37231         maint: add a syntax-check rule to check for vulnerable Makefile.in
37232         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37233
37234 2010-01-27  Jim Meyering  <meyering@redhat.com>
37235
37236         ncftpput-ftp: clean up spaces
37237         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37238         Remove trailing blanks.
37239
37240 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37241
37242         * build-aux/git-version-gen: Fix copyright statement.
37243         * build-aux/gnupload: Likewise.
37244         * tests/test-arcfour.c: Likewise.
37245         * tests/test-arctwo.c: Likewise.
37246         * tests/test-count-one-bits.c: Likewise.
37247         * tests/test-crc.c: Likewise.
37248         * tests/test-des.c: Likewise.
37249         * tests/test-gc-arcfour.c: Likewise.
37250         * tests/test-gc-arctwo.c: Likewise.
37251         * tests/test-gc-des.c: Likewise.
37252         * tests/test-gc-hmac-md5.c: Likewise.
37253         * tests/test-gc-hmac-sha1.c: Likewise.
37254         * tests/test-gc-md2.c: Likewise.
37255         * tests/test-gc-md4.c: Likewise.
37256         * tests/test-gc-md5.c: Likewise.
37257         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37258         * tests/test-gc-rijndael.c: Likewise.
37259         * tests/test-gc-sha1.c: Likewise.
37260         * tests/test-gc.c: Likewise.
37261         * tests/test-gethostname.c: Likewise.
37262         * tests/test-gettimeofday.c: Likewise.
37263         * tests/test-hash.c: Likewise.
37264         * tests/test-hmac-md5.c: Likewise.
37265         * tests/test-hmac-sha1.c: Likewise.
37266         * tests/test-md2.c: Likewise.
37267         * tests/test-md4.c: Likewise.
37268         * tests/test-md5.c: Likewise.
37269         * tests/test-memchr.c: Likewise.
37270         * tests/test-memchr2.c: Likewise.
37271         * tests/test-memcmp.c: Likewise.
37272         * tests/test-memmem.c: Likewise.
37273         * tests/test-memrchr.c: Likewise.
37274         * tests/test-rawmemchr.c: Likewise.
37275         * tests/test-read-file.c: Likewise.
37276         * tests/test-rijndael.c: Likewise.
37277         * tests/test-sockets.c: Likewise.
37278         * tests/test-strchrnul.c: Likewise.
37279         * tests/test-strstr.c: Likewise.
37280         * tests/test-strtod.c: Likewise.
37281         * build-aux/ncftpput-ftp: Likewise.
37282
37283 2010-01-26  Eric Blake  <ebb9@byu.net>
37284
37285         ignore-value: update recommended header name
37286         * modules/ignore-value (Include): Only use <> for headers that
37287         exist in glibc.
37288
37289 2010-01-26  Jim Meyering  <meyering@redhat.com>
37290
37291         test-userspec.c: avoid compiler warnings
37292         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37293         and "initialization discards qualifiers..." warnings.
37294         Put the first "uid" in its own scope, and make char* members "const".
37295
37296 2010-01-25  Bruno Haible  <bruno@clisp.org>
37297
37298         gnulib-tool: Make warning diagnostics consistent.
37299         * gnulib-tool (func_warning): New function.
37300         Use it everywhere where gnulib-tool produces output to stderr and it is
37301         not a fatal error.
37302
37303 2010-01-25  Bruno Haible  <bruno@clisp.org>
37304
37305         Fix test dependencies.
37306         * modules/xstrtol-tests (Depends-on): Add inttypes.
37307         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37308
37309 2010-01-25 Pádraig Brady <P@draigBrady.com>
37310
37311         syntax-check: detect incorrect boolean macro values in config.h
37312         * modules/maintainer-makefile (configure.ac): Parameterize the location
37313         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37314         The logic is from Eric Blake and the location indicated by Jim Meyering.
37315         Note the more natural CONFIG_HEADER name is prohibited by automake
37316         for backwards compatibility reasons.
37317         * top/maint.mk (sc_Wundef_boolean): New rule.
37318
37319 2010-01-25  Jim Meyering  <meyering@redhat.com>
37320
37321         bootstrap: detect MacOS 10.6's shasum, too
37322         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37323         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37324
37325 2010-01-23  Jim Meyering  <meyering@redhat.com>
37326
37327         xstrtoll: new module
37328         * modules/xstrtoll: New file.
37329         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37330         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37331         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37332         ./configure fails if you use this module and lack "long long".
37333         * modules/xstrtoll-tests: New module.
37334         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37335         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37336         new init.sh-based test framework.
37337
37338 2010-01-24  Bruno Haible  <bruno@clisp.org>
37339
37340         Tests for module 'yn'.
37341         * modules/yn-tests: New file.
37342         * tests/test-yn.c: New file.
37343
37344         Tests for module 'y1'.
37345         * modules/y1-tests: New file.
37346         * tests/test-y1.c: New file.
37347
37348         Tests for module 'y0'.
37349         * modules/y0-tests: New file.
37350         * tests/test-y0.c: New file.
37351
37352         Tests for module 'tanh'.
37353         * modules/tanh-tests: New file.
37354         * tests/test-tanh.c: New file.
37355
37356         Tests for module 'tan'.
37357         * modules/tan-tests: New file.
37358         * tests/test-tan.c: New file.
37359
37360         Tests for module 'sqrt'.
37361         * modules/sqrt-tests: New file.
37362         * tests/test-sqrt.c: New file.
37363
37364         Tests for module 'sinh'.
37365         * modules/sinh-tests: New file.
37366         * tests/test-sinh.c: New file.
37367
37368         Tests for module 'sin'.
37369         * modules/sin-tests: New file.
37370         * tests/test-sin.c: New file.
37371
37372         Tests for module 'rint'.
37373         * modules/rint-tests: New file.
37374         * tests/test-rint.c: New file.
37375
37376         Tests for module 'remainder'.
37377         * modules/remainder-tests: New file.
37378         * tests/test-remainder.c: New file.
37379
37380         Tests for module 'pow'.
37381         * modules/pow-tests: New file.
37382         * tests/test-pow.c: New file.
37383
37384         Tests for module 'nextafter'.
37385         * modules/nextafter-tests: New file.
37386         * tests/test-nextafter.c: New file.
37387
37388         Tests for module 'modf'.
37389         * modules/modf-tests: New file.
37390         * tests/test-modf.c: New file.
37391
37392         Tests for module 'logb'.
37393         * modules/logb-tests: New file.
37394         * tests/test-logb.c: New file.
37395
37396         Tests for module 'log1p'.
37397         * modules/log1p-tests: New file.
37398         * tests/test-log1p.c: New file.
37399
37400         Tests for module 'log10'.
37401         * modules/log10-tests: New file.
37402         * tests/test-log10.c: New file.
37403
37404         Tests for module 'log'.
37405         * modules/log-tests: New file.
37406         * tests/test-log.c: New file.
37407
37408         Tests for module 'lgamma'.
37409         * modules/lgamma-tests: New file.
37410         * tests/test-lgamma.c: New file.
37411
37412         Tests for module 'ldexp'.
37413         * modules/ldexp-tests: New file.
37414         * tests/test-ldexp.c: New file.
37415
37416         Tests for module 'jn'.
37417         * modules/jn-tests: New file.
37418         * tests/test-jn.c: New file.
37419
37420         Tests for module 'j1'.
37421         * modules/j1-tests: New file.
37422         * tests/test-j1.c: New file.
37423
37424         Tests for module 'j0'.
37425         * modules/j0-tests: New file.
37426         * tests/test-j0.c: New file.
37427
37428         Tests for module 'hypot'.
37429         * modules/hypot-tests: New file.
37430         * tests/test-hypot.c: New file.
37431
37432         Tests for module 'fmod'.
37433         * modules/fmod-tests: New file.
37434         * tests/test-fmod.c: New file.
37435
37436         Tests for module 'fabs'.
37437         * modules/fabs-tests: New file.
37438         * tests/test-fabs.c: New file.
37439
37440         Tests for module 'exp'.
37441         * modules/exp-tests: New file.
37442         * tests/test-exp.c: New file.
37443
37444         Tests for module 'erfc'.
37445         * modules/erfc-tests: New file.
37446         * tests/test-erfc.c: New file.
37447
37448         Tests for module 'erf'.
37449         * modules/erf-tests: New file.
37450         * tests/test-erf.c: New file.
37451
37452         Tests for module 'cosh'.
37453         * modules/cosh-tests: New file.
37454         * tests/test-cosh.c: New file.
37455
37456         Tests for module 'cos'.
37457         * modules/cos-tests: New file.
37458         * tests/test-cos.c: New file.
37459
37460         Tests for module 'copysign'.
37461         * modules/copysign-tests: New file.
37462         * tests/test-copysign.c: New file.
37463
37464         Tests for module 'cbrt'.
37465         * modules/cbrt-tests: New file.
37466         * tests/test-cbrt.c: New file.
37467
37468         Tests for module 'atan2'.
37469         * modules/atan2-tests: New file.
37470         * tests/test-atan2.c: New file.
37471
37472         Tests for module 'atan'.
37473         * modules/atan-tests: New file.
37474         * tests/test-atan.c: New file.
37475
37476         Tests for module 'asin'.
37477         * modules/asin-tests: New file.
37478         * tests/test-asin.c: New file.
37479
37480         Tests for module 'acos'.
37481         * modules/acos-tests: New file.
37482         * tests/test-acos.c: New file.
37483
37484 2010-01-24  Bruno Haible  <bruno@clisp.org>
37485
37486         Fix tests for common <math.h> functions.
37487         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37488         code snippet that references the function pointer, rather than merely
37489         calling the function. Substitute the FUNC_LIBM variable.
37490         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37491         * modules/acos (configure.ac): Likewise.
37492         * modules/asin (configure.ac): Likewise.
37493         * modules/atan (configure.ac): Likewise.
37494         * modules/atan2 (configure.ac): Likewise.
37495         * modules/cbrt (configure.ac): Likewise.
37496         * modules/copysign (configure.ac): Likewise.
37497         * modules/cos (configure.ac): Likewise.
37498         * modules/cosh (configure.ac): Likewise.
37499         * modules/erf (configure.ac): Likewise.
37500         * modules/erfc (configure.ac): Likewise.
37501         * modules/exp (configure.ac): Likewise.
37502         * modules/fabs (configure.ac): Likewise.
37503         * modules/fmod (configure.ac): Likewise.
37504         * modules/hypot (configure.ac): Likewise.
37505         * modules/j0 (configure.ac): Likewise.
37506         * modules/j1 (configure.ac): Likewise.
37507         * modules/jn (configure.ac): Likewise.
37508         * modules/ldexp (configure.ac): Likewise.
37509         * modules/lgamma (configure.ac): Likewise.
37510         * modules/log (configure.ac): Likewise.
37511         * modules/log10 (configure.ac): Likewise.
37512         * modules/log1p (configure.ac): Likewise.
37513         * modules/logb (configure.ac): Likewise.
37514         * modules/modf (configure.ac): Likewise.
37515         * modules/nextafter (configure.ac): Likewise.
37516         * modules/pow (configure.ac): Likewise.
37517         * modules/remainder (configure.ac): Likewise.
37518         * modules/rint (configure.ac): Likewise.
37519         * modules/sin (configure.ac): Likewise.
37520         * modules/sinh (configure.ac): Likewise.
37521         * modules/tan (configure.ac): Likewise.
37522         * modules/tanh (configure.ac): Likewise.
37523         * modules/y0 (configure.ac): Likewise.
37524         * modules/y1 (configure.ac): Likewise.
37525         * modules/yn (configure.ac): Likewise.
37526
37527 2010-01-24  Bruno Haible  <bruno@clisp.org>
37528
37529         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37530         * tests/test-acosl.c (x): New variable.
37531         (main): Store argument in x and fetch it from x.
37532         * tests/test-asinl.c (x): New variable.
37533         (main): Store argument in x and fetch it from x.
37534         * tests/test-atanl.c (x): New variable.
37535         (main): Store argument in x and fetch it from x.
37536         * tests/test-cosl.c (x): New variable.
37537         (main): Store argument in x and fetch it from x.
37538         * tests/test-expl.c (x): New variable.
37539         (main): Store argument in x and fetch it from x.
37540         * tests/test-logl.c (x): New variable.
37541         (main): Store argument in x and fetch it from x.
37542         * tests/test-sinl.c (x): New variable.
37543         (main): Store argument in x and fetch it from x.
37544         * tests/test-sqrtl.c (x): New variable.
37545         (main): Store argument in x and fetch it from x.
37546         * tests/test-tanl.c (x): New variable.
37547         (main): Store argument in x and fetch it from x.
37548
37549 2010-01-24  Bruno Haible  <bruno@clisp.org>
37550
37551         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37552         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37553         assignments to the initial TESTS_ENVIRONMENT.
37554         * doc/gnulib.texi (Unit test modules): Document it.
37555         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37556         TESTS_ENVIRONMENT.
37557         * modules/btowc-tests (Makefile.am): Likewise.
37558         * modules/c-stack-tests (Makefile.am): Likewise.
37559         * modules/c-strcase-tests (Makefile.am): Likewise.
37560         * modules/copy-file-tests (Makefile.am): Likewise.
37561         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37562         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37563         * modules/mbrtowc-tests (Makefile.am): Likewise.
37564         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37565         * modules/mbscasestr-tests (Makefile.am): Likewise.
37566         * modules/mbschr-tests (Makefile.am): Likewise.
37567         * modules/mbscspn-tests (Makefile.am): Likewise.
37568         * modules/mbsinit-tests (Makefile.am): Likewise.
37569         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37570         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37571         * modules/mbspbrk-tests (Makefile.am): Likewise.
37572         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37573         * modules/mbsrchr-tests (Makefile.am): Likewise.
37574         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37575         * modules/mbsspn-tests (Makefile.am): Likewise.
37576         * modules/mbsstr-tests (Makefile.am): Likewise.
37577         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37578         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37579         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37580         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37581         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37582         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37583         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37584         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37585         * modules/wcrtomb-tests (Makefile.am): Likewise.
37586         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37587         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37588         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37589         assignments from TESTS_ENVIRONMENT.
37590         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37591         augmentation.
37592         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37593         * modules/atexit-tests (Makefile.am): Likewise.
37594         * modules/binary-io-tests (Makefile.am): Likewise.
37595         * modules/closein-tests (Makefile.am): Likewise.
37596         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37597         * modules/exclude-tests (Makefile.am): Likewise.
37598         * modules/fflush-tests (Makefile.am): Likewise.
37599         * modules/fpending-tests (Makefile.am): Likewise.
37600         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37601         * modules/freadahead-tests (Makefile.am): Likewise.
37602         * modules/freadptr-tests (Makefile.am): Likewise.
37603         * modules/freadseek-tests (Makefile.am): Likewise.
37604         * modules/fseek-tests (Makefile.am): Likewise.
37605         * modules/fseeko-tests (Makefile.am): Likewise.
37606         * modules/ftell-tests (Makefile.am): Likewise.
37607         * modules/ftello-tests (Makefile.am): Likewise.
37608         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37609         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37610         * modules/lseek-tests (Makefile.am): Likewise.
37611         * modules/parse-duration-tests (Makefile.am): Likewise.
37612         * modules/perror-tests (Makefile.am): Likewise.
37613         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37614         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37615         * modules/pipe-tests (Makefile.am): Likewise.
37616         * modules/pread-tests (Makefile.am): Likewise.
37617         * modules/printf-posix-tests (Makefile.am): Likewise.
37618         * modules/select-tests (Makefile.am): Likewise.
37619         * modules/sigpipe-tests (Makefile.am): Likewise.
37620         * modules/tsearch-tests (Makefile.am): Likewise.
37621         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37622         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37623         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37624         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37625         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37626         * modules/version-etc-tests (Makefile.am): Likewise.
37627         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37628         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37629         * modules/xalloc-die-tests (Makefile.am): Likewise.
37630         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37631         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37632         * modules/xstrtol-tests (Makefile.am): Likewise.
37633         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37634         * modules/yesno-tests (Makefile.am): Likewise.
37635         Suggested by Jim Meyering.
37636
37637 2010-01-24  Bruno Haible  <bruno@clisp.org>
37638
37639         More documentation.
37640         * doc/gnulib.texi (Writing modules): New chapter.
37641         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37642         the new chapter.
37643
37644 2010-01-24  Jim Meyering  <meyering@redhat.com>
37645
37646         maint.mk: do not prepend "./" after filtering
37647         * top/maint.mk (_prepend_srcdir_prefix): New variable
37648         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37649         "./" when $(srcdir) is ".".
37650
37651         define STREQ(a,b) consistently, removing useless parentheses
37652         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37653         since the only risk is that "a" or "b" contains an unparenthesized
37654         comma, but if either did that, STREQ would have 3 or more arguments.
37655         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37656         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37657         * lib/hash-triple.c (STREQ): Likewise.
37658         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37659         * lib/getugroups.c (STREQ): Likewise.
37660
37661 2010-01-23  Jim Meyering  <meyering@redhat.com>
37662
37663         maint.mk: fix syntax-check in a non-srcdir build directory
37664         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37665         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37666
37667 2010-01-22  Jim Meyering  <meyering@redhat.com>
37668
37669         userspec: add unit tests
37670         * tests/test-userspec.c: New file.
37671         * modules/userspec-tests: Likewise.
37672
37673 2010-01-21  Jim Meyering  <meyering@redhat.com>
37674
37675         maint.mk: handle source file names containing "." robustly
37676         * top/maint.mk (_dot_escaped_srcdir): Define.
37677         (VC_LIST): Use it in LHS of sed substitution.
37678
37679 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37680
37681         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37682         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37683         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37684         from a non-srcdir build.
37685
37686 2010-01-20  Eric Blake  <ebb9@byu.net>
37687
37688         warn-on-use: use instead of link-warning
37689         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37690         * modules/unistd (Depends-on, Makefile.am): Likewise.
37691         * modules/arpa_inet (Depends-on): Replace link-warning with
37692         warn-on-use.
37693         (Makefile.am): Update rules accordingly.
37694         * modules/ctype (Depends-on, Makefile.am): Likewise.
37695         * modules/dirent (Depends-on, Makefile.am): Likewise.
37696         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37697         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37698         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37699         * modules/locale (Depends-on, Makefile.am): Likewise.
37700         * modules/math (Depends-on, Makefile.am): Likewise.
37701         * modules/search (Depends-on, Makefile.am): Likewise.
37702         * modules/signal (Depends-on, Makefile.am): Likewise.
37703         * modules/spawn (Depends-on, Makefile.am): Likewise.
37704         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37705         * modules/string (Depends-on, Makefile.am): Likewise.
37706         * modules/strings (Depends-on, Makefile.am): Likewise.
37707         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37708         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37709         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37710         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37711         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37712         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37713         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37714         * modules/wchar (Depends-on, Makefile.am): Likewise.
37715         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37716         should be poisoned.
37717         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37718         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37719         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37720         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37721         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37722         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37723         * m4/math_h.m4 (gl_MATH_H): Likewise.
37724         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37725         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37726         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37727         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37728         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37729         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37730         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37731         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37732         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37733         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37734         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37735         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37736         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37737         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37738         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37739         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37740         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37741         GL_LINK_WARNING.
37742         * lib/ctype.in.h: Likewise.
37743         * lib/dirent.in.h: Likewise.
37744         * lib/fcntl.in.h: Likewise.
37745         * lib/inttypes.in.h: Likewise.
37746         * lib/langinfo.in.h: Likewise.
37747         * lib/locale.in.h: Likewise.
37748         * lib/math.in.h: Likewise.
37749         * lib/search.in.h: Likewise.
37750         * lib/signal.in.h: Likewise.
37751         * lib/spawn.in.h: Likewise.
37752         * lib/stdio.in.h: Likewise.
37753         * lib/stdlib.in.h: Likewise.
37754         * lib/string.in.h: Likewise.
37755         * lib/strings.in.h: Likewise.
37756         * lib/sys_file.in.h: Likewise.
37757         * lib/sys_ioctl.in.h: Likewise.
37758         * lib/sys_select.in.h: Likewise.
37759         * lib/sys_socket.in.h: Likewise.
37760         * lib/sys_stat.in.h: Likewise.
37761         * lib/sys_times.in.h: Likewise.
37762         * lib/sys_utsname.in.h: Likewise.
37763         * lib/unistd.in.h: Likewise.
37764         * lib/wchar.in.h: Likewise.
37765
37766 2010-01-20  Bruno Haible  <bruno@clisp.org>
37767
37768         Avoid duplicate -lm.
37769         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37770         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37771         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37772         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37773         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37774         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37775         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37776         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37777         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37778         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37779         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37780         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37781         Reported by Paolo Bonzini.
37782
37783 2010-01-19  Bruno Haible  <bruno@clisp.org>
37784
37785         langinfo, nl_langinfo: Relicense under LGPLv2+.
37786         * modules/langinfo (License): Change to LGPLv2+.
37787         * modules/nl_langinfo (License): Likewise.
37788         Patch by David Lutterkort <lutter@redhat.com>.
37789
37790 2010-01-19  Bruno Haible  <bruno@clisp.org>
37791
37792         Avoid compilation error with cc on OSF/1 5.1.
37793         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37794         statement, not before.
37795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37796
37797 2010-01-18  Bruno Haible  <bruno@clisp.org>
37798
37799         Avoid a link error due to the __printf__ symbol.
37800         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37801         and 2.6.x.
37802         (__format__, __printf__): Remove definitions.
37803         * lib/argp-fmtstream.h: Likewise.
37804         * lib/argp.h: Likewise.
37805         * lib/error.h: Likewise.
37806         * lib/vasnprintf.h: Likewise.
37807         * lib/xprintf.h: Likewise.
37808         * lib/xvasprintf.h: Likewise.
37809         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37810
37811 2010-01-18  Bruno Haible  <bruno@clisp.org>
37812
37813         Tests for module 'tanl'.
37814         * modules/tanl-tests: New file.
37815         * tests/test-tanl.c: New file.
37816
37817         Tests for module 'sqrtl'.
37818         * modules/sqrtl-tests: New file.
37819         * tests/test-sqrtl.c: New file.
37820
37821         Tests for module 'sinl'.
37822         * modules/sinl-tests: New file.
37823         * tests/test-sinl.c: New file.
37824
37825         Tests for module 'logl'.
37826         * modules/logl-tests: New file.
37827         * tests/test-logl.c: New file.
37828
37829         Tests for module 'expl'.
37830         * modules/expl-tests: New file.
37831         * tests/test-expl.c: New file.
37832
37833         Tests for module 'cosl'.
37834         * modules/cosl-tests: New file.
37835         * tests/test-cosl.c: New file.
37836
37837         Tests for module 'atanl'.
37838         * modules/atanl-tests: New file.
37839         * tests/test-atanl.c: New file.
37840
37841         Tests for module 'asinl'.
37842         * modules/asinl-tests: New file.
37843         * tests/test-asinl.c: New file.
37844
37845         Tests for module 'acosl'.
37846         * modules/acosl-tests: New file.
37847         * tests/test-acosl.c: New file.
37848
37849         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37850         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37851         tanl): Use the standard gnulib idiom.
37852         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37853         * lib/sinl.c: Likewise.
37854         * lib/tanl.c: Don't include trigl.c.
37855         (kernel_tanl): Make static.
37856         * lib/sincosl.c: Include trigl.h first.
37857         * lib/trigl.c: Likewise.
37858         * m4/acosl.m4: New file.
37859         * m4/asinl.m4: New file.
37860         * m4/atanl.m4: New file.
37861         * m4/cosl.m4: New file.
37862         * m4/expl.m4: New file.
37863         * m4/logl.m4: New file.
37864         * m4/sinl.m4: New file.
37865         * m4/sqrtl.m4: New file.
37866         * m4/tanl.m4: New file.
37867         * m4/mathl.m4: Remove file.
37868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37869         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37870         Don't initialize GNULIB_MATHL.
37871         * modules/acosl: New file.
37872         * modules/asinl: New file.
37873         * modules/atanl: New file.
37874         * modules/cosl: New file.
37875         * modules/expl: New file.
37876         * modules/logl: New file.
37877         * modules/sinl: New file.
37878         * modules/sqrtl: New file.
37879         * modules/tanl: New file.
37880         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37881         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37882         substitute GNULIB_MATHL.
37883         * modules/mathl: Rewritten.
37884         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37885         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37886         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37887         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37888         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37889         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37890         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37891         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37892         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37893
37894 2010-01-18  Bruno Haible  <bruno@clisp.org>
37895
37896         sqrt: Make gl_FUNC_SQRT requirable.
37897         * m4/sqrt.m4: New file.
37898         * modules/sqrt (Files): Add it.
37899         (configure.ac): Invoke gl_FUNC_SQRT.
37900
37901 2010-01-18  Bruno Haible  <bruno@clisp.org>
37902
37903         New modules for common <math.h> functions.
37904         * m4/mathfunc.m4: New file.
37905         * modules/acos: New file.
37906         * modules/asin: New file.
37907         * modules/atan: New file.
37908         * modules/atan2: New file.
37909         * modules/cbrt: New file.
37910         * modules/copysign: New file.
37911         * modules/cos: New file.
37912         * modules/cosh: New file.
37913         * modules/erf: New file.
37914         * modules/erfc: New file.
37915         * modules/exp: New file.
37916         * modules/fabs: New file.
37917         * modules/fmod: New file.
37918         * modules/hypot: New file.
37919         * modules/j0: New file.
37920         * modules/j1: New file.
37921         * modules/jn: New file.
37922         * modules/ldexp: New file.
37923         * modules/lgamma: New file.
37924         * modules/log: New file.
37925         * modules/log10: New file.
37926         * modules/log1p: New file.
37927         * modules/logb: New file.
37928         * modules/modf: New file.
37929         * modules/nextafter: New file.
37930         * modules/pow: New file.
37931         * modules/remainder: New file.
37932         * modules/rint: New file.
37933         * modules/sin: New file.
37934         * modules/sinh: New file.
37935         * modules/sqrt: New file.
37936         * modules/tan: New file.
37937         * modules/tanh: New file.
37938         * modules/y0: New file.
37939         * modules/y1: New file.
37940         * modules/yn: New file.
37941         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37942         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37943         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37944         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37945         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37946         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37947         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37948         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37949         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37950         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37951         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37952         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37953         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37954         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37955         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37956         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37957         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37958         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37959         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37960         * doc/posix-functions/log.texi: Mention the 'log' module.
37961         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37962         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37963         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37964         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37965         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37966         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37967         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37968         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37969         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37970         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37971         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37972         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37973         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37974         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37975         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37976         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37977
37978 2010-01-18  Jim Meyering  <meyering@redhat.com>
37979
37980         ignore-value: relax license to LGPLv2+
37981         * modules/ignore-value (License): Relax to LGPLv2+.
37982
37983         getdate: don't leak when TZ contains two or more '"'s
37984         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37985         double quote in TZ after the first one.
37986
37987         readtokens: do not leak internal token_lengths buffer
37988         * lib/readtokens.c (readtokens): Free the local, lengths,
37989         when the supplied "token_lengths" parameter is NULL.
37990
37991 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37992
37993         Fix a couple of missing LIBTHREAD link failures on AIX.
37994         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37995         $(LIBTHREAD).
37996         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37997
37998         Link test-poll against INET_PTON_LIB.
37999         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38000         for inet_pton on Solaris 10.
38001
38002 2010-01-17  Bruno Haible  <bruno@clisp.org>
38003
38004         unistdio/*-sprintf: Fix typo in module description.
38005         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38006         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38007         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38008         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38009         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38010         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38011         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38012         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38013
38014 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38015
38016         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38017         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38018         variables in shell case patterns, for AIX and HP-UX ksh.
38019
38020         Split large sed scripts, for HP-UX sed.
38021         * modules/stdio: Split sed scripts around 50 sed commands,
38022         to avoid HP-UX limit of 99 commands, in the near future.
38023         * modules/string: Likewise.
38024         * modules/unistd: Likewise.
38025
38026         gnulib-tool: avoid writing in the current directory.
38027         * gnulib-tool (func_emit_lib_Makefile_am)
38028         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38029         not in the current directory, so concurrent gnulib-tool
38030         instances do not interfere.
38031
38032 2010-01-16  Jim Meyering  <meyering@redhat.com>
38033
38034         doc: update users.txt
38035         * users.txt: Add grep.
38036         (diffutils, gzip): Update URLs.
38037
38038 2010-01-12  Bruno Haible  <bruno@clisp.org>
38039
38040         posix_spawn: Avoid test failure on Cygwin.
38041         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38042         characters.
38043         Reported by Simon Josefsson.
38044
38045 2010-01-12  Bruno Haible  <bruno@clisp.org>
38046
38047         * tests/test-cond.c (main): When skipping the test, show the reason.
38048
38049 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38050
38051         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38052
38053 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38054
38055         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38056         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38057
38058 2010-01-12  Eric Blake  <ebb9@byu.net>
38059
38060         build: guarantee AS_VAR_IF
38061         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38062         (gl_AS_VAR_IF): Move...
38063         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38064         Reported by Simon Josefsson.
38065
38066 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38067
38068         * lib/stdio.in.h: Fix typo.
38069
38070 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38071
38072         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38073         libgpg-error.
38074
38075 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38076
38077         * tests/test-xalloc-die.sh: Use $EXEEXT.
38078
38079 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38080             Bruno Haible  <bruno@clisp.org>
38081
38082         getlogin, getlogin_r: Avoid test failure.
38083         * tests/test-getlogin.c: Include <stdio.h>.
38084         (main): Skip the test when the function fails because stdin is not a
38085         tty.
38086         * tests/test-getlogin_r.c: Include <stdio.h>.
38087         (main): Skip the test when the function fails because stdin is not a
38088         tty.
38089
38090 2010-01-11  Eric Blake  <ebb9@byu.net>
38091
38092         tests: avoid more large file warnings
38093         * tests/test-fflush.c: Avoid warning about ftell use.
38094         * tests/test-fseek.c: Avoid warning about fseek use.
38095
38096 2010-01-10  Bruno Haible  <bruno@clisp.org>
38097
38098         nproc: Work better on Linux when /proc and /sys are not mounted.
38099         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38100         as lower bound when, on glibc/Linux systems,
38101         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38102         Suggested by Pádraig Brady <P@draigbrady.com>.
38103         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38104
38105         nproc: Refactor.
38106         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38107         extracted from num_processors.
38108         (num_processors): Call it.
38109
38110 2010-01-11  Jim Meyering  <meyering@redhat.com>
38111
38112         utimecmp: avoid new warning from upcoming gcc-4.5.0
38113         * lib/utimecmp.c (BILLION): Define using #define rather than an
38114         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38115
38116 2010-01-11  Eric Blake  <ebb9@byu.net>
38117
38118         math: add portability warnings for classification macros
38119         * modules/math (Depends-on): Add warn-on-use.
38120         (Makefile.am): Provide new substitutions.
38121         * m4/math_h.m4 (gl_MATH_H): Require inline.
38122         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38123         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38124         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38125         implement warnings.
38126
38127         unistd: warn on use of environ without module
38128         * modules/unistd (Depends-on): Add warn-on-use.
38129         (Makefile.am): Provide new substitutions.
38130         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38131         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38132
38133         stdio: warn on suspicious uses
38134         * modules/stdio (Depends-on): Add warn-on-use.
38135         (Makefile.am): Provide new substitutions.
38136         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38137         fseeko.
38138         * lib/stdio.in.h (gets): Always warn on use.
38139         (fseek, ftell): Adjust when warnings are issued, and honor
38140         _GL_NO_LARGE_FILES as a way to silence the warning.
38141         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38142         any warning about large file offsets.
38143         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38144         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38145         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38146         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38147         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38148         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38149         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38150         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38151
38152         warn-on-use: new module
38153         * modules/warn-on-use: New file.
38154         * build-aux/warn-on-use.h: Likewise.
38155         * m4/warn-on-use.m4: Likewise.
38156         * MODULES.html.sh (Support for building): Mention it.
38157
38158 2010-01-10  Bruno Haible  <bruno@clisp.org>
38159
38160         Tests for module 'unistr/u32-strdup'.
38161         * modules/unistr/u32-strdup-tests: New file.
38162         * tests/unistr/test-u32-strdup.c: New file.
38163
38164         Tests for module 'unistr/u16-strdup'.
38165         * modules/unistr/u16-strdup-tests: New file.
38166         * tests/unistr/test-u16-strdup.c: New file.
38167
38168         Tests for module 'unistr/u8-strdup'.
38169         * modules/unistr/u8-strdup-tests: New file.
38170         * tests/unistr/test-u8-strdup.c: New file.
38171         * tests/unistr/test-strdup.h: New file.
38172
38173         Tests for module 'unistr/u32-strncmp'.
38174         * modules/unistr/u32-strncmp-tests: New file.
38175         * tests/unistr/test-u32-strncmp.c: New file.
38176
38177         Tests for module 'unistr/u16-strncmp'.
38178         * modules/unistr/u16-strncmp-tests: New file.
38179         * tests/unistr/test-u16-strncmp.c: New file.
38180
38181         Tests for module 'unistr/u8-strncmp'.
38182         * modules/unistr/u8-strncmp-tests: New file.
38183         * tests/unistr/test-u8-strncmp.c: New file.
38184         * tests/unistr/test-strncmp.h: New file.
38185
38186         Tests for module 'unistr/u32-strcoll'.
38187         * modules/unistr/u32-strcoll-tests: New file.
38188         * tests/unistr/test-u32-strcoll.c: New file.
38189
38190         Tests for module 'unistr/u16-strcoll'.
38191         * modules/unistr/u16-strcoll-tests: New file.
38192         * tests/unistr/test-u16-strcoll.c: New file.
38193
38194         Tests for module 'unistr/u8-strcoll'.
38195         * modules/unistr/u8-strcoll-tests: New file.
38196         * tests/unistr/test-u8-strcoll.c: New file.
38197
38198         Tests for module 'unistr/u32-strcmp'.
38199         * modules/unistr/u32-strcmp-tests: New file.
38200         * tests/unistr/test-u32-strcmp.c: New file.
38201         * tests/unistr/test-u32-strcmp.h: New file.
38202
38203         Tests for module 'unistr/u16-strcmp'.
38204         * modules/unistr/u16-strcmp-tests: New file.
38205         * tests/unistr/test-u16-strcmp.c: New file.
38206         * tests/unistr/test-u16-strcmp.h: New file.
38207
38208         Tests for module 'unistr/u8-strcmp'.
38209         * modules/unistr/u8-strcmp-tests: New file.
38210         * tests/unistr/test-u8-strcmp.c: New file.
38211         * tests/unistr/test-u8-strcmp.h: New file.
38212         * tests/unistr/test-strcmp.h: New file.
38213
38214         Tests for module 'unistr/u32-strncat'.
38215         * modules/unistr/u32-strncat-tests: New file.
38216         * tests/unistr/test-u32-strncat.c: New file.
38217
38218         Tests for module 'unistr/u16-strncat'.
38219         * modules/unistr/u16-strncat-tests: New file.
38220         * tests/unistr/test-u16-strncat.c: New file.
38221
38222         Tests for module 'unistr/u8-strncat'.
38223         * modules/unistr/u8-strncat-tests: New file.
38224         * tests/unistr/test-u8-strncat.c: New file.
38225         * tests/unistr/test-strncat.h: New file.
38226
38227         Tests for module 'unistr/u32-strcat'.
38228         * modules/unistr/u32-strcat-tests: New file.
38229         * tests/unistr/test-u32-strcat.c: New file.
38230
38231         Tests for module 'unistr/u16-strcat'.
38232         * modules/unistr/u16-strcat-tests: New file.
38233         * tests/unistr/test-u16-strcat.c: New file.
38234
38235         Tests for module 'unistr/u8-strcat'.
38236         * modules/unistr/u8-strcat-tests: New file.
38237         * tests/unistr/test-u8-strcat.c: New file.
38238         * tests/unistr/test-strcat.h: New file.
38239
38240         Tests for module 'unistr/u32-stpncpy'.
38241         * modules/unistr/u32-stpncpy-tests: New file.
38242         * tests/unistr/test-u32-stpncpy.c: New file.
38243
38244         Tests for module 'unistr/u16-stpncpy'.
38245         * modules/unistr/u16-stpncpy-tests: New file.
38246         * tests/unistr/test-u16-stpncpy.c: New file.
38247
38248         Tests for module 'unistr/u8-stpncpy'.
38249         * modules/unistr/u8-stpncpy-tests: New file.
38250         * tests/unistr/test-u8-stpncpy.c: New file.
38251         * tests/unistr/test-stpncpy.h: New file.
38252
38253         Tests for module 'unistr/u32-strncpy'.
38254         * modules/unistr/u32-strncpy-tests: New file.
38255         * tests/unistr/test-u32-strncpy.c: New file.
38256
38257         Tests for module 'unistr/u16-strncpy'.
38258         * modules/unistr/u16-strncpy-tests: New file.
38259         * tests/unistr/test-u16-strncpy.c: New file.
38260
38261         Tests for module 'unistr/u8-strncpy'.
38262         * modules/unistr/u8-strncpy-tests: New file.
38263         * tests/unistr/test-u8-strncpy.c: New file.
38264         * tests/unistr/test-strncpy.h: New file.
38265
38266         Tests for module 'unistr/u32-stpcpy'.
38267         * modules/unistr/u32-stpcpy-tests: New file.
38268         * tests/unistr/test-u32-stpcpy.c: New file.
38269
38270         Tests for module 'unistr/u16-stpcpy'.
38271         * modules/unistr/u16-stpcpy-tests: New file.
38272         * tests/unistr/test-u16-stpcpy.c: New file.
38273
38274         Tests for module 'unistr/u8-stpcpy'.
38275         * modules/unistr/u8-stpcpy-tests: New file.
38276         * tests/unistr/test-u8-stpcpy.c: New file.
38277         * tests/unistr/test-stpcpy.h: New file.
38278
38279         Tests for module 'unistr/u32-strcpy'.
38280         * modules/unistr/u32-strcpy-tests: New file.
38281         * tests/unistr/test-u32-strcpy.c: New file.
38282
38283         Tests for module 'unistr/u16-strcpy'.
38284         * modules/unistr/u16-strcpy-tests: New file.
38285         * tests/unistr/test-u16-strcpy.c: New file.
38286
38287         Tests for module 'unistr/u8-strcpy'.
38288         * modules/unistr/u8-strcpy-tests: New file.
38289         * tests/unistr/test-u8-strcpy.c: New file.
38290         * tests/unistr/test-strcpy.h: New file.
38291
38292         Tests for module 'unistr/u32-strnlen'.
38293         * modules/unistr/u32-strnlen-tests: New file.
38294         * tests/unistr/test-u32-strnlen.c: New file.
38295
38296         Tests for module 'unistr/u16-strnlen'.
38297         * modules/unistr/u16-strnlen-tests: New file.
38298         * tests/unistr/test-u16-strnlen.c: New file.
38299
38300         Tests for module 'unistr/u8-strnlen'.
38301         * modules/unistr/u8-strnlen-tests: New file.
38302         * tests/unistr/test-u8-strnlen.c: New file.
38303         * tests/unistr/test-strnlen.h: New file.
38304
38305         Tests for module 'unistr/u32-strlen'.
38306         * modules/unistr/u32-strlen-tests: New file.
38307         * tests/unistr/test-u32-strlen.c: New file.
38308
38309         Tests for module 'unistr/u16-strlen'.
38310         * modules/unistr/u16-strlen-tests: New file.
38311         * tests/unistr/test-u16-strlen.c: New file.
38312
38313         Tests for module 'unistr/u8-strlen'.
38314         * modules/unistr/u8-strlen-tests: New file.
38315         * tests/unistr/test-u8-strlen.c: New file.
38316
38317         Tests for module 'unistr/u32-prev'.
38318         * modules/unistr/u32-prev-tests: New file.
38319         * tests/unistr/test-u32-prev.c: New file.
38320
38321         Tests for module 'unistr/u16-prev'.
38322         * modules/unistr/u16-prev-tests: New file.
38323         * tests/unistr/test-u16-prev.c: New file.
38324
38325         Tests for module 'unistr/u8-prev'.
38326         * modules/unistr/u8-prev-tests: New file.
38327         * tests/unistr/test-u8-prev.c: New file.
38328
38329         Tests for module 'unistr/u32-next'.
38330         * modules/unistr/u32-next-tests: New file.
38331         * tests/unistr/test-u32-next.c: New file.
38332
38333         Tests for module 'unistr/u16-next'.
38334         * modules/unistr/u16-next-tests: New file.
38335         * tests/unistr/test-u16-next.c: New file.
38336
38337         Tests for module 'unistr/u8-next'.
38338         * modules/unistr/u8-next-tests: New file.
38339         * tests/unistr/test-u8-next.c: New file.
38340
38341         Tests for module 'unistr/u32-strmbtouc'.
38342         * modules/unistr/u32-strmbtouc-tests: New file.
38343         * tests/unistr/test-u32-strmbtouc.c: New file.
38344
38345         Tests for module 'unistr/u16-strmbtouc'.
38346         * modules/unistr/u16-strmbtouc-tests: New file.
38347         * tests/unistr/test-u16-strmbtouc.c: New file.
38348
38349         Tests for module 'unistr/u8-strmbtouc'.
38350         * modules/unistr/u8-strmbtouc-tests: New file.
38351         * tests/unistr/test-u8-strmbtouc.c: New file.
38352
38353         Tests for module 'unistr/u32-strmblen'.
38354         * modules/unistr/u32-strmblen-tests: New file.
38355         * tests/unistr/test-u32-strmblen.c: New file.
38356
38357         Tests for module 'unistr/u16-strmblen'.
38358         * modules/unistr/u16-strmblen-tests: New file.
38359         * tests/unistr/test-u16-strmblen.c: New file.
38360
38361         Tests for module 'unistr/u8-strmblen'.
38362         * modules/unistr/u8-strmblen-tests: New file.
38363         * tests/unistr/test-u8-strmblen.c: New file.
38364
38365         Tests for module 'unistr/u32-cpy-alloc'.
38366         * modules/unistr/u32-cpy-alloc-tests: New file.
38367         * tests/unistr/test-u32-cpy-alloc.c: New file.
38368
38369         Tests for module 'unistr/u16-cpy-alloc'.
38370         * modules/unistr/u16-cpy-alloc-tests: New file.
38371         * tests/unistr/test-u16-cpy-alloc.c: New file.
38372
38373         Tests for module 'unistr/u8-cpy-alloc'.
38374         * modules/unistr/u8-cpy-alloc-tests: New file.
38375         * tests/unistr/test-u8-cpy-alloc.c: New file.
38376         * tests/unistr/test-cpy-alloc.h: New file.
38377
38378         Tests for module 'unistr/u32-mbsnlen'.
38379         * modules/unistr/u32-mbsnlen-tests: New file.
38380         * tests/unistr/test-u32-mbsnlen.c: New file.
38381
38382         Tests for module 'unistr/u16-mbsnlen'.
38383         * modules/unistr/u16-mbsnlen-tests: New file.
38384         * tests/unistr/test-u16-mbsnlen.c: New file.
38385
38386         Tests for module 'unistr/u8-mbsnlen'.
38387         * modules/unistr/u8-mbsnlen-tests: New file.
38388         * tests/unistr/test-u8-mbsnlen.c: New file.
38389
38390         Tests for module 'unistr/u32-chr'.
38391         * modules/unistr/u32-chr-tests: New file.
38392         * tests/unistr/test-u32-chr.c: New file.
38393
38394         Tests for module 'unistr/u16-chr'.
38395         * modules/unistr/u16-chr-tests: New file.
38396         * tests/unistr/test-u16-chr.c: New file.
38397
38398         Tests for module 'unistr/u8-chr'.
38399         * modules/unistr/u8-chr-tests: New file.
38400         * tests/unistr/test-u8-chr.c: New file.
38401         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38402
38403         Tests for module 'unistr/u32-cmp2'.
38404         * modules/unistr/u32-cmp2-tests: New file.
38405         * tests/unistr/test-u32-cmp2.c: New file.
38406
38407         Tests for module 'unistr/u16-cmp2'.
38408         * modules/unistr/u16-cmp2-tests: New file.
38409         * tests/unistr/test-u16-cmp2.c: New file.
38410
38411         Tests for module 'unistr/u8-cmp2'.
38412         * modules/unistr/u8-cmp2-tests: New file.
38413         * tests/unistr/test-u8-cmp2.c: New file.
38414         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38415
38416         Tests for module 'unistr/u32-cmp'.
38417         * modules/unistr/u32-cmp-tests: New file.
38418         * tests/unistr/test-u32-cmp.c: New file.
38419
38420         Tests for module 'unistr/u16-cmp'.
38421         * modules/unistr/u16-cmp-tests: New file.
38422         * tests/unistr/test-u16-cmp.c: New file.
38423
38424         Tests for module 'unistr/u8-cmp'.
38425         * modules/unistr/u8-cmp-tests: New file.
38426         * tests/unistr/test-u8-cmp.c: New file.
38427         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38428
38429         Tests for module 'unistr/u32-set'.
38430         * modules/unistr/u32-set-tests: New file.
38431         * tests/unistr/test-u32-set.c: New file.
38432
38433         Tests for module 'unistr/u16-set'.
38434         * modules/unistr/u16-set-tests: New file.
38435         * tests/unistr/test-u16-set.c: New file.
38436
38437         Tests for module 'unistr/u8-set'.
38438         * modules/unistr/u8-set-tests: New file.
38439         * tests/unistr/test-u8-set.c: New file.
38440         * tests/unistr/test-set.h: New file.
38441
38442         Tests for module 'unistr/u32-move'.
38443         * modules/unistr/u32-move-tests: New file.
38444         * tests/unistr/test-u32-move.c: New file.
38445
38446         Tests for module 'unistr/u16-move'.
38447         * modules/unistr/u16-move-tests: New file.
38448         * tests/unistr/test-u16-move.c: New file.
38449
38450         Tests for module 'unistr/u8-move'.
38451         * modules/unistr/u8-move-tests: New file.
38452         * tests/unistr/test-u8-move.c: New file.
38453         * tests/unistr/test-move.h: New file.
38454
38455         Tests for module 'unistr/u32-cpy'.
38456         * modules/unistr/u32-cpy-tests: New file.
38457         * tests/unistr/test-u32-cpy.c: New file.
38458
38459         Tests for module 'unistr/u16-cpy'.
38460         * modules/unistr/u16-cpy-tests: New file.
38461         * tests/unistr/test-u16-cpy.c: New file.
38462
38463         Tests for module 'unistr/u8-cpy'.
38464         * modules/unistr/u8-cpy-tests: New file.
38465         * tests/unistr/test-u8-cpy.c: New file.
38466         * tests/unistr/test-cpy.h: New file.
38467
38468 2010-01-09  Bruno Haible  <bruno@clisp.org>
38469
38470         Tests for module 'unistr/u32-uctomb'.
38471         * modules/unistr/u32-uctomb-tests: New file.
38472         * tests/unistr/test-u32-uctomb.c: New file.
38473
38474         Tests for module 'unistr/u16-uctomb'.
38475         * modules/unistr/u16-uctomb-tests: New file.
38476         * tests/unistr/test-u16-uctomb.c: New file.
38477
38478         Tests for module 'unistr/u8-uctomb'.
38479         * modules/unistr/u8-uctomb-tests: New file.
38480         * tests/unistr/test-u8-uctomb.c: New file.
38481
38482         Tests for module 'unistr/u32-mbtoucr'.
38483         * modules/unistr/u32-mbtoucr-tests: New file.
38484         * tests/unistr/test-u32-mbtoucr.c: New file.
38485
38486         Tests for module 'unistr/u16-mbtoucr'.
38487         * modules/unistr/u16-mbtoucr-tests: New file.
38488         * tests/unistr/test-u16-mbtoucr.c: New file.
38489
38490         Tests for module 'unistr/u8-mbtoucr'.
38491         * modules/unistr/u8-mbtoucr-tests: New file.
38492         * tests/unistr/test-u8-mbtoucr.c: New file.
38493
38494         Tests for module 'unistr/u32-mbtouc'.
38495         * modules/unistr/u32-mbtouc-tests: New file.
38496         * tests/unistr/test-u32-mbtouc.c: New file.
38497
38498         Tests for module 'unistr/u16-mbtouc'.
38499         * modules/unistr/u16-mbtouc-tests: New file.
38500         * tests/unistr/test-u16-mbtouc.c: New file.
38501
38502         Tests for module 'unistr/u8-mbtouc'.
38503         * modules/unistr/u8-mbtouc-tests: New file.
38504         * tests/unistr/test-u8-mbtouc.c: New file.
38505
38506         Tests for module 'unistr/u32-mbtouc-unsafe'.
38507         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38508         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38509         * tests/unistr/test-u32-mbtouc.h: New file.
38510
38511         Tests for module 'unistr/u16-mbtouc-unsafe'.
38512         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38513         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38514         * tests/unistr/test-u16-mbtouc.h: New file.
38515
38516         Tests for module 'unistr/u8-mbtouc-unsafe'.
38517         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38518         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38519         * tests/unistr/test-u8-mbtouc.h: New file.
38520
38521         Tests for module 'unistr/u32-mblen'.
38522         * modules/unistr/u32-mblen-tests: New file.
38523         * tests/unistr/test-u32-mblen.c: New file.
38524
38525         Tests for module 'unistr/u16-mblen'.
38526         * modules/unistr/u16-mblen-tests: New file.
38527         * tests/unistr/test-u16-mblen.c: New file.
38528
38529         Tests for module 'unistr/u8-mblen'.
38530         * modules/unistr/u8-mblen-tests: New file.
38531         * tests/unistr/test-u8-mblen.c: New file.
38532
38533         Tests for module 'unistr/u32-to-u16'.
38534         * modules/unistr/u32-to-u16-tests: New file.
38535         * tests/unistr/test-u32-to-u16.c: New file.
38536
38537         Tests for module 'unistr/u32-to-u8'.
38538         * modules/unistr/u32-to-u8-tests: New file.
38539         * tests/unistr/test-u32-to-u8.c: New file.
38540
38541         Tests for module 'unistr/u16-to-u32'.
38542         * modules/unistr/u16-to-u32-tests: New file.
38543         * tests/unistr/test-u16-to-u32.c: New file.
38544
38545         Tests for module 'unistr/u16-to-u8'.
38546         * modules/unistr/u16-to-u8-tests: New file.
38547         * tests/unistr/test-u16-to-u8.c: New file.
38548
38549         Tests for module 'unistr/u8-to-u32'.
38550         * modules/unistr/u8-to-u32-tests: New file.
38551         * tests/unistr/test-u8-to-u32.c: New file.
38552
38553         Tests for module 'unistr/u8-to-u16'.
38554         * modules/unistr/u8-to-u16-tests: New file.
38555         * tests/unistr/test-u8-to-u16.c: New file.
38556
38557         Tests for module 'unistr/u32-check'.
38558         * modules/unistr/u32-check-tests: New file.
38559         * tests/unistr/test-u32-check.c: New file.
38560
38561         Tests for module 'unistr/u16-check'.
38562         * modules/unistr/u16-check-tests: New file.
38563         * tests/unistr/test-u16-check.c: New file.
38564
38565         Tests for module 'unistr/u8-check'.
38566         * modules/unistr/u8-check-tests: New file.
38567         * tests/unistr/test-u8-check.c: New file.
38568
38569         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38570         (category_equals): New function.
38571         (main): Add more tests.
38572         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38573
38574         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38575
38576 2010-01-10  Bruno Haible  <bruno@clisp.org>
38577
38578         unistr/u*-strcoll: Try harder to distinguish different strings.
38579         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38580         compare s1 and s2 to see if they are different.
38581
38582 2010-01-10  Bruno Haible  <bruno@clisp.org>
38583
38584         unistr/u*-stpncpy: Fix the return value.
38585         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38586         description of the return value consistent with stpncpy in glibc.
38587         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38588         written non-NUL unit.
38589
38590 2010-01-10  Bruno Haible  <bruno@clisp.org>
38591
38592         unistr/u*-next: Add missing dependencies.
38593         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38594         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38595         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38596
38597 2010-01-10  Bruno Haible  <bruno@clisp.org>
38598
38599         unistr/u8-mbsnlen: Fix return value for incomplete character.
38600         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38601         u8_mblen.
38602         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38603         Remove unistr/u8-mblen.
38604         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38605         u16_mblen.
38606         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38607         Remove unistr/u16-mblen.
38608
38609 2010-01-10  Bruno Haible  <bruno@clisp.org>
38610
38611         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38612         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38613         Reported by Brian Gough <bjg@gnu.org> and
38614         Chris Clayton <chris2553@googlemail.com> via
38615         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38616
38617 2010-01-09  Bruno Haible  <bruno@clisp.org>
38618
38619         unistr/u16-to-u32: Reject invalid input.
38620         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38621         u16_mbtouc.
38622         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38623         Remove unistr/u16-mbtouc.
38624
38625         unistr/u16-to-u8: Reject invalid input.
38626         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38627         u16_mbtouc.
38628         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38629         Remove unistr/u16-mbtouc.
38630
38631         unistr/u8-to-u32: Reject invalid input.
38632         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38633         u8_mbtouc.
38634         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38635         Remove unistr/u8-mbtouc.
38636
38637         unistr/u8-to-u16: Reject invalid input.
38638         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38639         u8_mbtouc.
38640         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38641         Remove unistr/u8-mbtouc.
38642
38643 2010-01-09  Bruno Haible  <bruno@clisp.org>
38644
38645         Tests for module 'getlogin'.
38646         * modules/getlogin-tests: New file.
38647         * tests/test-getlogin.c: New file.
38648
38649         New module 'getlogin'.
38650         * lib/unistd.in.h (getlogin): New declaration.
38651         * lib/getlogin.c: New file.
38652         * m4/getlogin.m4: New file.
38653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38654         HAVE_GETLOGIN.
38655         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38656         HAVE_GETLOGIN.
38657         * modules/getlogin: New file.
38658         * doc/posix-functions/getlogin.texi: Mention the new module.
38659         Reported by John W. Eaton <jwe@gnu.org>.
38660
38661 2010-01-09  Bruno Haible  <bruno@clisp.org>
38662
38663         getlogin_r: Support for native Windows.
38664         * lib/getlogin_r.c: Include <windows.h>
38665         (getlogin_r): Implement for native Windows.
38666         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38667         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38668         via John W. Eaton <jwe@gnu.org>.
38669
38670 2010-01-09  Bruno Haible  <bruno@clisp.org>
38671
38672         getlogin_r: Small fixes.
38673         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38674         succeeds.
38675         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38676         before testing whether getlogin_r is declared. No need to set
38677         HAVE_DECL_GETLOGIN_R to 1.
38678         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38679
38680 2010-01-09  Bruno Haible  <bruno@clisp.org>
38681
38682         * lib/unistd.in.h (getlogin_r): Add comment.
38683
38684 2010-01-09  Bruno Haible  <bruno@clisp.org>
38685
38686         Tests for module 'getlogin_r'.
38687         * modules/getlogin_r-tests: New file.
38688         * tests/test-getlogin_r.c: New file.
38689
38690 2010-01-09  Jim Meyering  <meyering@redhat.com>
38691
38692         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38693         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38694         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38695
38696 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38697
38698         * lib/dup2.c (rpl_dup2): Improve comment.
38699
38700 2010-01-08  Eric Blake  <ebb9@byu.net>
38701
38702         maint.mk: allow packages to add makefile @@ exceptions
38703         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38704         (sc_makefile_check): Rename...
38705         (sc_makefile_at_at_check): ...to this, and use hook.
38706
38707         dup2: work around mingw bug
38708         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38709         Reported by Simon Josefsson.
38710
38711 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38712
38713         glob: Fix C++ compilation.
38714         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38715         C++.
38716
38717 2010-01-07  Bruno Haible  <bruno@clisp.org>
38718
38719         Fix indentation of wctype.in.h, broken since 2007-01-06.
38720         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38721
38722 2010-01-07  Bruno Haible  <bruno@clisp.org>
38723
38724         mbslen: Avoid collision with system function.
38725         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38726         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38727         * m4/mbslen.m4: New file.
38728         * modules/mbslen (Files): Add it.
38729         (configure.ac): Invoke gl_MBSLEN.
38730         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38731         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38732         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38733         via Ian Beckwith <ianb@erislabs.net>.
38734
38735 2010-01-07  Bruno Haible  <bruno@clisp.org>
38736
38737         dirent: Document the last fix.
38738         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38739
38740 2010-01-07  Bruno Haible  <bruno@clisp.org>
38741
38742         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38743         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38744         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38745         va_list are defined.
38746         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38747         Reported by Eric Blake.
38748
38749 2010-01-07  Bruno Haible  <bruno@clisp.org>
38750
38751         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38752         * modules/xlist (Depends-on): Add 'list',
38753         * modules/xoset (Depends-on): Add 'oset'.
38754         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38755
38756 2010-01-07  Bruno Haible  <bruno@clisp.org>
38757
38758         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38759         * doc/posix-functions/strncasecmp.texi: Likewise.
38760
38761 2010-01-07  Bruno Haible  <bruno@clisp.org>
38762
38763         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38764
38765 2010-01-07  John W. Eaton  <jwe@octave.org>
38766
38767         wctype: allow C++ use
38768         * lib/wctype.in.h: Add extern "C" block for C++.
38769
38770 2010-01-06  Eric Blake  <ebb9@byu.net>
38771
38772         maint.mk: detect incorrect GFDL usage
38773         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38774
38775 2010-01-06  Jim Meyering  <meyering@redhat.com>
38776         and Eric Blake  <ebb9@byu.net>
38777
38778         maint.mk: ignore multi-line copyright in NEWS
38779         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38780
38781 2010-01-06  Eric Blake  <ebb9@byu.net>
38782
38783         select: add missing dependency
38784         * modules/select-tests (Depends-on): Move sockets dependency...
38785         * modules/select (Depends-on): ...here.
38786         Reported by Ian Beckwith.
38787
38788         doc: regenerate INSTALL
38789         * doc/INSTALL: Reflect recent autoconf update.
38790         * doc/INSTALL.ISO: Likewise.
38791         * doc/INSTALL.UTF-8: Likewise.
38792
38793         pread: fix compilation on glibc
38794         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38795         Reported by Ralf Wildenhues.
38796
38797         dirent: fix test failure
38798         * lib/dirent.in.h (includes): Guarantee ino_t.
38799         Reported by Ralf Wildenhues.
38800
38801 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38802
38803         linkat, renameat: avoid bad free
38804         * lib/at-func2.c (at_func2): Fix typo.
38805         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38806
38807 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38808
38809         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38810         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38811         to avoid failure of symlink test later.
38812
38813 2010-01-06  Eric Blake  <ebb9@byu.net>
38814
38815         stdio, unistd: guarantee ssize_t
38816         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38817         2008 are exposed when needed.
38818         * lib/stdio.in.h (includes): Likewise.
38819         Reported by Ralf Wildenhues.
38820
38821 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38822
38823         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38824         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38825         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38826
38827 2010-01-06  Jim Meyering  <meyering@redhat.com>
38828
38829         readtokens: this module *does* require xalloc.h
38830         It uses only functions that were omitted by the old syntax-check rule.
38831         * lib/readtokens.c: Include "xalloc.h" once again.
38832         * modules/readtokens (Depends-on): Add xalloc.
38833         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38834
38835 2010-01-05  Eric Blake  <ebb9@byu.net>
38836
38837         maint: support 'make announcement' from a VPATH build
38838         * top/maint.mk (announcement): Look for correct NEWS file.
38839
38840 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38841
38842         utimens (fdutimens): ignore a negative FD, per contract
38843         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38844         when we have a valid file descriptor.  Otherwise, using a brand
38845         new glibc (with just-patched futimens that now fails with EBADF)
38846         would cause this function to fail with ENOSYS.
38847         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38848         See also http://bugzilla.redhat.com/552320.
38849
38850 2010-01-05  Eric Blake  <ebb9@byu.net>
38851
38852         strcase: document what it provides
38853         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38854         gnulib module.
38855         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38856         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38857
38858 2010-01-05  Jim Meyering  <meyering@redhat.com>
38859
38860         maint: remove useless inclusions of "xalloc.h"
38861         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38862         * lib/readtokens.c: Likewise.
38863         * lib/same.c: Likewise.
38864         * modules/getloadavg (Depends-on): Remove xalloc.
38865         * modules/readtokens: Likewise.
38866         * modules/same: Likewise.
38867
38868         maint.mk: include 4 more function names in alloca.h-checking regexp
38869         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38870         regexp.  Before, we would give a false-positive (saying alloca.h
38871         is included unnecessarily) when the only uses involved omitted symbols.
38872
38873         xalloc.h: use consistent formatting
38874         * lib/xalloc.h: Move declarations to start in the first column.
38875
38876 2010-01-05  Eric Blake  <ebb9@byu.net>
38877
38878         mkdir: avoid xalloc
38879         * lib/mkdir.c (includes): Drop unused header.
38880         Reported by John W. Eaton.
38881
38882 2010-01-04  Jim Meyering  <meyering@redhat.com>
38883
38884         nl_langinfo: avoid configure-time syntax error
38885         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38886         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38887         the empty string.  Don't let that provoke a shell syntax error.
38888
38889         regcomp, regexec, fnmatch: avoid array bounds read error
38890         * lib/regcomp.c (build_equiv_class): From glibc:
38891         Use only the low 24 bits of a findidx return value as an index
38892         into the weights array.  Patch by Ulrich Drepper:
38893         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38894         * lib/regexec.c (check_node_accept_bytes): Likewise.
38895         * lib/fnmatch_loop.c (FCT): Likewise.
38896
38897         regcomp: skip collseq lookup when there are no rules
38898         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38899         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38900
38901         regcomp: recognize ill-formed { } expressions
38902         * lib/regcomp.c (parse_dup_op): From glibc:
38903         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38904
38905         regcomp: fix typo in comment
38906         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38907         s/satisfy/satisfies/.
38908
38909         regcomp: sync from glibc: remove dead store
38910         * lib/regcomp.c (duplicate_node_closure): Remove useless
38911         search_duplicated_node call and dead store.
38912
38913         regcomp: sync from glibc; always use nl_langinfo
38914         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38915         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38916         * modules/regex (Depends-on): Add nl_langinfo.
38917
38918 2010-01-04  Eric Blake  <ebb9@byu.net>
38919
38920         fdopendir: fix configure test
38921         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38922
38923 2010-01-01  Bruno Haible  <bruno@clisp.org>
38924
38925         wchar: Remove unused configure check.
38926         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38927
38928 2010-01-01  Eric Blake  <ebb9@byu.net>
38929
38930         headers: make check of system header explicit
38931         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38932         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38933         ourselves.
38934         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38935         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38936         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38937         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38938         internals.
38939         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38940         missing.
38941         Suggested by Bruno Haible.
38942
38943 2010-01-01  Jim Meyering  <meyering@redhat.com>
38944
38945         ChangeLog: tweak to eliminate unnecessary copyright line
38946         * ChangeLog: Remove a copyright line that was mistakenly updated
38947         by today's update-copyright run.  Reported by Eric Blake.
38948
38949         test-update-copyright: don't let envvar setting cause test failure
38950         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38951
38952 2010-01-01  Bruno Haible  <bruno@clisp.org>
38953
38954         localename: Avoid gcc warning.
38955         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38956         function if it is not used.
38957
38958 2010-01-01  Jim Meyering  <meyering@redhat.com>
38959
38960         update nearly all FSF copyright year lists to include 2010
38961         Use the same procedure as for 2009, outlined in
38962         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38963
38964         version-etc: set COPYRIGHT_YEAR to 2010
38965         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38966
38967 2009-12-31  Eric Blake  <ebb9@byu.net>
38968
38969         doc: correct availability of cygwin 1.5.x getopt
38970         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38971         variables.
38972         * doc/posix-functions/opterr.texi (opterr): Likewise.
38973         * doc/posix-functions/optind.texi (optind): Likewise.
38974         * doc/posix-functions/optopt.texi (optopt): Likewise.
38975         * doc/posix-functions/tzname.texi (tzname): Likewise.
38976
38977         openat: update maintainer
38978         * modules/openat (Maintainer): Add myself.
38979
38980         utimens: avoid shadowing warning
38981         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38982         buffers into one, to avoid shadowing, as well as avoiding a
38983         redundant stat.
38984         Reported by Jim Meyering.
38985
38986         test-dup2: avoid compiler warning
38987         * tests/test-dup2.c (is_inheritable): Only define if used.
38988
38989 2010-01-01  Bruno Haible  <bruno@clisp.org>
38990
38991         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38992         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38993         defined, use wctomb instead of wcrtomb.
38994
38995 2010-01-01  Bruno Haible  <bruno@clisp.org>
38996
38997         iconv: Reject native Solaris iconv.
38998         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38999         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39000
39001 2009-12-31  Bruno Haible  <bruno@clisp.org>
39002
39003         * tests/test-signal.c (main): Remove test of 'SIG'.
39004
39005 2009-12-31  Bruno Haible  <bruno@clisp.org>
39006
39007         spawn: Fix incomplete fix.
39008         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39009         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39010         warnings for GNULIB_POSIXCHECK again.
39011         Reported by Eric Blake.
39012
39013 2009-12-31  Bruno Haible  <bruno@clisp.org>
39014
39015         Avoid namespace pollution on glibc systems.
39016         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39017         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39018         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39019         glibc systems.
39020
39021 2009-12-31  Bruno Haible  <bruno@clisp.org>
39022
39023         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39024         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39025         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39026         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39027         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39028         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39029         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39030
39031 2009-12-31  Bruno Haible  <bruno@clisp.org>
39032
39033         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39034         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39035         afterwards.
39036
39037 2009-12-31  Bruno Haible  <bruno@clisp.org>
39038
39039         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39040         SYS_UTSNAME_H.
39041
39042 2009-12-31  Bruno Haible  <bruno@clisp.org>
39043
39044         spawn: Fix misapplied patch.
39045         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39046         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39047         warnings for GNULIB_POSIXCHECK.
39048
39049 2009-12-31  Bruno Haible  <bruno@clisp.org>
39050
39051         times: Update after sys_times changed.
39052         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39053         * modules/times (Files): Add it.
39054         (configure.ac): Invoke gl_FUNC_TIMES.
39055
39056 2009-12-31  Bruno Haible  <bruno@clisp.org>
39057
39058         Use AC_C_INLINE where necessary.
39059         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39060         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39061         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39062         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39063         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39064         * m4/mbiter.m4 (gl_MBITER): Likewise.
39065         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39066         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39067         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39068         * modules/u64 (configure.ac): Likewise.
39069
39070 2009-12-31  Bruno Haible  <bruno@clisp.org>
39071
39072         Use AC_C_INLINE instead of module 'inline' where possible.
39073         * modules/inline (Description): Clarify purpose.
39074         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39075         * modules/count-one-bits (Depends-on): Remove inline.
39076         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39077         * modules/openat (Depends-on): Remove inline.
39078         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39079         instead of depending on module 'inline'.
39080         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39081         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39082         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39083         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39084         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39085         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39086         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39087         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39088         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39089         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39090         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39091         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39092         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39093         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39094         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39095         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39096         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39097         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39098         Likewise.
39099         * modules/unictype/property-ascii-hex-digit (Depends-on,
39100         configure.ac): Likewise.
39101         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39102         configure.ac): Likewise.
39103         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39104         configure.ac): Likewise.
39105         * modules/unictype/property-bidi-block-separator (Depends-on,
39106         configure.ac): Likewise.
39107         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39108         configure.ac): Likewise.
39109         * modules/unictype/property-bidi-common-separator (Depends-on,
39110         configure.ac): Likewise.
39111         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39112         Likewise.
39113         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39114         configure.ac): Likewise.
39115         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39116         configure.ac): Likewise.
39117         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39118         configure.ac): Likewise.
39119         * modules/unictype/property-bidi-european-digit (Depends-on,
39120         configure.ac): Likewise.
39121         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39122         configure.ac): Likewise.
39123         * modules/unictype/property-bidi-left-to-right (Depends-on,
39124         configure.ac): Likewise.
39125         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39126         configure.ac): Likewise.
39127         * modules/unictype/property-bidi-other-neutral (Depends-on,
39128         configure.ac): Likewise.
39129         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39130         Likewise.
39131         * modules/unictype/property-bidi-segment-separator (Depends-on,
39132         configure.ac): Likewise.
39133         * modules/unictype/property-bidi-whitespace (Depends-on,
39134         configure.ac): Likewise.
39135         * modules/unictype/property-combining (Depends-on, configure.ac):
39136         Likewise.
39137         * modules/unictype/property-composite (Depends-on, configure.ac):
39138         Likewise.
39139         * modules/unictype/property-currency-symbol (Depends-on,
39140         configure.ac): Likewise.
39141         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39142         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39143         Likewise.
39144         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39145         configure.ac): Likewise.
39146         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39147         Likewise.
39148         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39149         Likewise.
39150         * modules/unictype/property-extender (Depends-on, configure.ac):
39151         Likewise.
39152         * modules/unictype/property-format-control (Depends-on, configure.ac):
39153         Likewise.
39154         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39155         Likewise.
39156         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39157         Likewise.
39158         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39159         Likewise.
39160         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39161         Likewise.
39162         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39163         Likewise.
39164         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39165         Likewise.
39166         * modules/unictype/property-id-start (Depends-on, configure.ac):
39167         Likewise.
39168         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39169         Likewise.
39170         * modules/unictype/property-ids-binary-operator (Depends-on,
39171         configure.ac): Likewise.
39172         * modules/unictype/property-ids-trinary-operator (Depends-on,
39173         configure.ac): Likewise.
39174         * modules/unictype/property-ignorable-control (Depends-on,
39175         configure.ac): Likewise.
39176         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39177         Likewise.
39178         * modules/unictype/property-join-control (Depends-on, configure.ac):
39179         Likewise.
39180         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39181         Likewise.
39182         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39183         Likewise.
39184         * modules/unictype/property-logical-order-exception (Depends-on,
39185         configure.ac): Likewise.
39186         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39187         Likewise.
39188         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39189         * modules/unictype/property-non-break (Depends-on, configure.ac):
39190         Likewise.
39191         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39192         Likewise.
39193         * modules/unictype/property-numeric (Depends-on, configure.ac):
39194         Likewise.
39195         * modules/unictype/property-other-alphabetic (Depends-on,
39196         configure.ac): Likewise.
39197         * modules/unictype/property-other-default-ignorable-code-point
39198         (Depends-on, configure.ac): Likewise.
39199         * modules/unictype/property-other-grapheme-extend (Depends-on,
39200         configure.ac): Likewise.
39201         * modules/unictype/property-other-id-continue (Depends-on,
39202         configure.ac): Likewise.
39203         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39204         Likewise.
39205         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39206         Likewise.
39207         * modules/unictype/property-other-math (Depends-on, configure.ac):
39208         Likewise.
39209         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39210         Likewise.
39211         * modules/unictype/property-paired-punctuation (Depends-on,
39212         configure.ac): Likewise.
39213         * modules/unictype/property-paragraph-separator (Depends-on,
39214         configure.ac): Likewise.
39215         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39216         Likewise.
39217         * modules/unictype/property-pattern-white-space (Depends-on,
39218         configure.ac): Likewise.
39219         * modules/unictype/property-private-use (Depends-on, configure.ac):
39220         Likewise.
39221         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39222         Likewise.
39223         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39224         Likewise.
39225         * modules/unictype/property-radical (Depends-on, configure.ac):
39226         Likewise.
39227         * modules/unictype/property-sentence-terminal (Depends-on,
39228         configure.ac): Likewise.
39229         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39230         Likewise.
39231         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39232         * modules/unictype/property-terminal-punctuation (Depends-on,
39233         configure.ac): Likewise.
39234         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39235         Likewise.
39236         * modules/unictype/property-unassigned-code-value (Depends-on,
39237         configure.ac): Likewise.
39238         * modules/unictype/property-unified-ideograph (Depends-on,
39239         configure.ac): Likewise.
39240         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39241         Likewise.
39242         * modules/unictype/property-variation-selector (Depends-on,
39243         configure.ac): Likewise.
39244         * modules/unictype/property-white-space (Depends-on, configure.ac):
39245         Likewise.
39246         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39247         Likewise.
39248         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39249         Likewise.
39250         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39251         Likewise.
39252         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39253         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39254         Likewise.
39255
39256 2009-12-31  Bruno Haible  <bruno@clisp.org>
39257
39258         Remove unnecessary AC_C_INLINE invocation.
39259         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39260         since 2009-08-21.
39261
39262 2009-12-31  Jim Meyering  <meyering@redhat.com>
39263
39264         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39265         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39266         With this change, we can all remove the gpg_key_ID = ... definition
39267         from our respective cfg.mk files.
39268
39269         maint.mk: create announcement template in ~/, not in /tmp
39270         * top/maint.mk (emit_upload_commands): Adjust.
39271         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39272         Remove temporary file, .ci-msg.
39273
39274 2009-12-31  Eric Blake  <ebb9@byu.net>
39275
39276         link-warning: always build headers with link warnings
39277         * modules/arpa_inet (Makefile.am): Always build replacement
39278         header.
39279         * modules/ctype (Makefile.am): Likewise.
39280         * modules/dirent (Makefile.am): Likewise.
39281         * modules/inttypes (Makefile.am): Likewise.
39282         * modules/langinfo (Makefile.am): Likewise.
39283         * modules/locale (Makefile.am): Likewise.
39284         * modules/spawn (Makefile.am): Likewise.
39285         * modules/sys_file (Makefile.am): Likewise.
39286         * modules/sys_ioctl (Makefile.am): Likewise.
39287         * modules/sys_select (Makefile.am): Likewise.
39288         * modules/sys_socket (Makefile.am): Likewise.
39289         * modules/sys_times (Makefile.am): Likewise.
39290         * modules/sys_utsname (Makefile.am): Likewise.
39291         * modules/sys_wait (Makefile.am): Likewise.
39292         * modules/wchar (Makefile.am): Likewise.
39293         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39294         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39295         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39296         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39297         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39298         Likewise.
39299         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39300         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39301         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39302         Likewise.
39303         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39304         Likewise.
39305         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39306         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39307         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39308         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39309         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39310         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39311         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39312         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39313         (gl_WCHAR_H_DEFAULTS): Likewise.
39314
39315 2009-12-31  Eric Blake  <ebb9@byu.net>
39316
39317         signal, spawn: use link warnings
39318         * lib/signal.in.h (sigset_t): Make unconditional.
39319         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39320         (sigpending, sigprocmask, sigaction): Add link warnings.
39321         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39322         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39323         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39324         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39325         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39326         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39327         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39328         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39329         (posix_spawn_file_actions_destroy)
39330         (posix_spawn_file_actions_addopen)
39331         (posix_spawn_file_actions_addclose)
39332         (posix_spawn_file_actions_adddup2): Likewise.
39333         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39334         * tests/test-signal.c (main): Enhance test.
39335
39336         spawn: improve wrapper support
39337         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39338         (gl_SPAWN_H_DEFAULTS): New defaults.
39339         * modules/spawn (Makefile.am): Substitute them.
39340         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39341         Only declare if missing or broken.
39342
39343         sys_times, sys_utsname: use include_next
39344         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39345         header.
39346         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39347         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39348         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39349         * modules/sys_times (Depends-on): Add include_next.
39350         (Makefile.am): Substitute additional values.
39351         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39352         * lib/sys_times.in.h (includes): Include native header, if
39353         available.
39354         * lib/sys_utsname.in.h (includes): Likewise.
39355         * tests/test-sys_times.c (main): Enhance test.
39356
39357         fdutimensat: revert prior patch
39358         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39359         utimens.h.
39360         Reported by Bruno Haible.
39361
39362 2009-12-30  Eric Blake  <ebb9@byu.net>
39363
39364         sys_wait: drop link-warning dependency
39365         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39366         link-warning efforts.
39367         * lib/sys_wait.in.h: Likewise.
39368
39369         fdutimensat: remove bogus dependency
39370         * modules/fdutimensat (Depends-on): Drop inline.
39371
39372         unistd: fix typo
39373         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39374
39375 2009-12-30  Bruno Haible  <bruno@clisp.org>
39376
39377         Fix compilation error with Solaris cc.
39378         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39379         * lib/unicase/u16-is-invariant.c: Likewise.
39380         * lib/unicase/u32-is-invariant.c: Likewise.
39381         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39382
39383 2009-12-30  Bruno Haible  <bruno@clisp.org>
39384
39385         Fix test crash.
39386         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39387         locales.
39388         Reported by Simon Josefsson <simon@josefsson.org>.
39389
39390 2009-12-30  Bruno Haible  <bruno@clisp.org>
39391
39392         Fix compilation error on most platforms.
39393         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39394         Reported by Simon Josefsson <simon@josefsson.org>
39395         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39396
39397 2009-12-30  Eric Blake  <ebb9@byu.net>
39398
39399         futimens, utimensat: work around ntfs-3g bug
39400         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39401         a ctime bug is present, and expand workaround to cover ntfs-3g.
39402         * lib/utimens.c (fdutimens, lutimens): Likewise.
39403         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39404         (validate_timespec): Adjust return value.
39405         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39406         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39407         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39408
39409 2009-12-29  Eric Blake  <ebb9@byu.net>
39410
39411         link-warning: make usage consistent
39412         * modules/ctype (Depends-on): Add link-warning.
39413         (Makefile.am): Update rules accordingly.
39414         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39415         * modules/locale (Depends-on, Makefile.am): Likewise.
39416         * modules/sys_file (Makefile.am): Likewise.
39417         * modules/getopt-posix (Makefile.am): Delete unused link warning
39418         efforts.
39419         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39420         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39421         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39422         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39423
39424         stdio: remove unused variables
39425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39426         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39427         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39428
39429         tests: test more substitute headers
39430         * modules/ctype-tests: New file.
39431         * modules/dirent-tests: Likewise.
39432         * modules/spawn-tests: Likewise.
39433         * modules/sys_file-tests: Likewise.
39434         * modules/sys_ioctl-tests: Likewise.
39435         * modules/sys_wait-tests: Likewise.
39436         * tests/test-ctype.c: Likewise.
39437         * tests/test-dirent.c: Likewise.
39438         * tests/test-spawn.c: Likewise.
39439         * tests/test-sys_file.c: Likewise.
39440         * tests/test-sys_ioctl.c: Likewise.
39441         * tests/test-sys_wait.c: Likewise.
39442         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39443         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39444         whether or not flock is in use.
39445
39446         tests: remove License section from module
39447         * modules/arpa_inet-tests: Remove unneeded section.
39448         * modules/byteswap-tests: Likewise.
39449         * modules/ceilf-tests: Likewise.
39450         * modules/ceill-tests: Likewise.
39451         * modules/crypto/des-tests: Likewise.
39452         * modules/crypto/gc-arcfour-tests: Likewise.
39453         * modules/crypto/gc-arctwo-tests: Likewise.
39454         * modules/crypto/gc-des-tests: Likewise.
39455         * modules/crypto/gc-hmac-md5-tests: Likewise.
39456         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39457         * modules/crypto/gc-md2-tests: Likewise.
39458         * modules/crypto/gc-md4-tests: Likewise.
39459         * modules/crypto/gc-md5-tests: Likewise.
39460         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39461         * modules/crypto/gc-rijndael-tests: Likewise.
39462         * modules/crypto/gc-sha1-tests: Likewise.
39463         * modules/crypto/gc-tests: Likewise.
39464         * modules/crypto/md2-tests: Likewise.
39465         * modules/crypto/md4-tests: Likewise.
39466         * modules/fcntl-h-tests: Likewise.
39467         * modules/floorf-tests: Likewise.
39468         * modules/floorl-tests: Likewise.
39469         * modules/frexp-nolibm-tests: Likewise.
39470         * modules/frexp-tests: Likewise.
39471         * modules/frexpl-nolibm-tests: Likewise.
39472         * modules/frexpl-tests: Likewise.
39473         * modules/getaddrinfo-tests: Likewise.
39474         * modules/inttypes-tests: Likewise.
39475         * modules/isfinite-tests: Likewise.
39476         * modules/isinf-tests: Likewise.
39477         * modules/ldexpl-tests: Likewise.
39478         * modules/locale-tests: Likewise.
39479         * modules/math-tests: Likewise.
39480         * modules/netdb-tests: Likewise.
39481         * modules/netinet_in-tests: Likewise.
39482         * modules/printf-frexp-tests: Likewise.
39483         * modules/printf-frexpl-tests: Likewise.
39484         * modules/priv-set-tests: Likewise.
39485         * modules/random_r-tests: Likewise.
39486         * modules/round-tests: Likewise.
39487         * modules/roundf-tests: Likewise.
39488         * modules/roundl-tests: Likewise.
39489         * modules/search-tests: Likewise.
39490         * modules/select-tests: Likewise.
39491         * modules/signal-tests: Likewise.
39492         * modules/stdbool-tests: Likewise.
39493         * modules/stddef-tests: Likewise.
39494         * modules/stdint-tests: Likewise.
39495         * modules/stdio-tests: Likewise.
39496         * modules/stdlib-tests: Likewise.
39497         * modules/string-tests: Likewise.
39498         * modules/strings-tests: Likewise.
39499         * modules/sys_select-tests: Likewise.
39500         * modules/sys_socket-tests: Likewise.
39501         * modules/sys_stat-tests: Likewise.
39502         * modules/sys_time-tests: Likewise.
39503         * modules/sys_utsname-tests: Likewise.
39504         * modules/sysexits-tests: Likewise.
39505         * modules/time-tests: Likewise.
39506         * modules/trunc-tests: Likewise.
39507         * modules/truncf-tests: Likewise.
39508         * modules/truncl-tests: Likewise.
39509         * modules/tsearch-tests: Likewise.
39510         * modules/unistd-tests: Likewise.
39511         * modules/wchar-tests: Likewise.
39512         * modules/wctype-tests: Likewise.
39513
39514         tests: fix license on several tests
39515         * tests/test-des.c: Update to GPLv3+.
39516         * tests/test-flock.c: Likewise.
39517         * tests/test-fsync.c: Likewise.
39518         * tests/test-futimens.h: Likewise.
39519         * tests/test-gc-arcfour.c: Likewise.
39520         * tests/test-gc-arctwo.c: Likewise.
39521         * tests/test-gc-des.c: Likewise.
39522         * tests/test-gc-hmac-md5.c: Likewise.
39523         * tests/test-gc-hmac-sha1.c: Likewise.
39524         * tests/test-gc-md2.c: Likewise.
39525         * tests/test-gc-md4.c: Likewise.
39526         * tests/test-gc-md5.c: Likewise.
39527         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39528         * tests/test-gc-rijndael.c: Likewise.
39529         * tests/test-gc-sha1.c: Likewise.
39530         * tests/test-gc.c: Likewise.
39531         * tests/test-getcwd.c: Likewise.
39532         * tests/test-link.c: Likewise.
39533         * tests/test-link.h: Likewise.
39534         * tests/test-lutimens.h: Likewise.
39535         * tests/test-md2.c: Likewise.
39536         * tests/test-md4.c: Likewise.
39537         * tests/test-mkdir.h: Likewise.
39538         * tests/test-rename.c: Likewise.
39539         * tests/test-rename.h: Likewise.
39540         * tests/test-safe-alloc.c: Likewise.
39541         * tests/test-utimens-common.h: Likewise.
39542         * tests/test-utimens.h: Likewise.
39543
39544         maint: sync license texts
39545         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39546         * doc/gpl-3.0.texi: Revert copyright year update.
39547         * doc/lgpl-3.0.texi: Likewise.
39548
39549 2009-12-29  Jim Meyering  <meyering@redhat.com>
39550
39551         update nearly all FSF copyright year lists to include 2009
39552         The files named by the following are exempted:
39553             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39554               test -f "$dst" && { echo "$dst"; continue; }
39555               test -d "$dst" || continue
39556               echo "$dst"/$(basename "$src")
39557             done > exempt
39558             git ls-files tests/unictype >> exempt
39559         In the remaining files, convert to all-interval notation if
39560         - there is already at least one year interval like 2000-2003
39561         - the file is maintained by me
39562         - the file is in lib/uni*/, where that style already prevails
39563         Otherwise, use update-copyright's default.
39564
39565 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39566         and Eric Blake  <ebb9@byu.net>
39567
39568         tests: don't require debug system() to pass
39569         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39570         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39571         * tests/test-unlink.h (test_unlink_func): Likewise.
39572         * tests/test-fstatat.c (main): ...into callers.
39573         * tests/test-lstat.c (main): Likewise.
39574         * tests/test-rmdir.c (main): Likewise.
39575         * tests/test-unlink.c (main): Likewise.
39576         * tests/test-unlinkat.c (main): Likewise.
39577         * tests/test-areadlink-with-size.c (main): Don't require a
39578         debug-only system call to pass, aiding cross-testing to mingw.
39579         * tests/test-areadlink.c (main): Likewise.
39580         * tests/test-areadlinkat-with-size.c (main): Likewise.
39581         * tests/test-areadlinkat.c (main): Likewise.
39582         * tests/test-canonicalize-lgpl.c (main): Likewise.
39583         * tests/test-canonicalize.c (main): Likewise.
39584         * tests/test-chown.c (main): Likewise.
39585         * tests/test-fchownat.c (main): Likewise.
39586         * tests/test-lchown.c (main): Likewise.
39587         * tests/test-fdutimensat.c (main): Likewise.
39588         * tests/test-futimens.c (main): Likewise.
39589         * tests/test-link.c (main): Likewise.
39590         * tests/test-linkat.c (main): Likewise.
39591         * tests/test-mkdir.c (main): Likewise.
39592         * tests/test-mkdirat.c (main): Likewise.
39593         * tests/test-mkfifo.c (main): Likewise.
39594         * tests/test-mkfifoat.c (main): Likewise.
39595         * tests/test-mknod.c (main): Likewise.
39596         * tests/test-readlink.c (main): Likewise.
39597         * tests/test-remove.c (main): Likewise.
39598         * tests/test-rename.c (main): Likewise.
39599         * tests/test-renameat.c (main): Likewise.
39600         * tests/test-symlink.c (main): Likewise.
39601         * tests/test-symlinkat.c (main): Likewise.
39602         * tests/test-utimens.c (main): Likewise.
39603         * tests/test-utimensat.c (main): Likewise.
39604
39605 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39606
39607         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39608         on $(UNUSED_PARAMETER_H) to avoid build failure.
39609
39610 2009-12-28  Jim Meyering  <meyering@redhat.com>
39611
39612         update-copyright: you may specify a max. line length other than 72
39613         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39614
39615         maint: use consistent FSF copyright line syntax
39616         * lib/posixtm.c: Add missing comma in FSF copyright line.
39617         * lib/posixtm.h: Likewise.
39618         * lib/getugroups.c: Add missing ", Inc.".
39619
39620         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39621         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39622         FSF copyright line.  Remove trailing blanks.
39623
39624 2009-12-28  Eric Blake  <ebb9@byu.net>
39625
39626         test-dup2: reduce dependencies
39627         * modules/cloexec (Configure.ac): Set witness.
39628         * modules/dup2-tests (Depends-on): Drop cloexec.
39629         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39630         not present.
39631         Suggested by Bruno Haible.
39632
39633 2009-12-26  Bruno Haible  <bruno@clisp.org>
39634
39635         Remove an unneeded dependency.
39636         * modules/fseterr (Depends-on): Remove dup2.
39637
39638 2009-12-26  Eric Blake  <ebb9@byu.net>
39639
39640         tests: use macros.h in more places
39641         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39642         (ASSERT_STREAM): Provide default of stderr.
39643         * tests/test-dirent-safer.c: Include macros.h, using alternate
39644         stream for assertions.
39645         * tests/test-dup-safer.c: Likewise.
39646         * tests/test-freopen-safer.c: Likewise.
39647         * tests/test-getopt.c: Likewise.
39648         * tests/test-openat-safer.c: Likewise.
39649         * tests/test-pipe.c: Likewise.
39650         * tests/test-popen-safer.c: Likewise.
39651         * modules/dirent-safer-tests (Files): Include macros.h.
39652         * modules/unistd-safer-tests (Files): Likewise.
39653         * modules/freopen-safer-tests (Files): Likewise.
39654         * modules/getopt-posix-tests (Files): Likewise.
39655         * modules/openat-safer-tests (Files): Likewise.
39656         * modules/pipe-tests (Files): Likewise.
39657
39658 2009-12-26  Bruno Haible  <bruno@clisp.org>
39659
39660         javacomp: Portability fix.
39661         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39662         that it also works on Solaris.
39663
39664 2009-12-26  Bruno Haible  <bruno@clisp.org>
39665
39666         localename: Fix storage allocation of gl_locale_name_thread's result.
39667         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39668         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39669         all platforms that have 'uselocale'.
39670         (gl_locale_name_thread_unsafe): New function, extracted from
39671         gl_locale_name_thread.
39672         (gl_locale_name_thread): Call struniq on all platforms that have
39673         'uselocale'.
39674         * tests/test-localename.c (test_locale_name_thread): Check that the
39675         resulting strings are permanently allocated.
39676         * modules/localename-tests (Depends-on): Add strdup.
39677
39678 2009-12-26  Bruno Haible  <bruno@clisp.org>
39679
39680         * tests/test-localename.c (categories): Fill in the strings.
39681
39682 2009-12-26  Jim Meyering  <meyering@redhat.com>
39683
39684         isdir: complete the removal of m4/isdir.m4
39685         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39686
39687         isdir: clean up, since at least grep still uses it
39688         * lib/isdir.c: Include "isdir.h".
39689         (S_ISDIR): Remove now-unneeded definition.
39690         * modules/isdir (Files): Add lib/isdir.h.
39691         * lib/isdir.h: New file, with declaration.
39692         * m4/isdir.m4: Remove file -- unneeded.
39693
39694 2009-12-25  Bruno Haible  <bruno@clisp.org>
39695
39696         selinux-h: Make generated .h files standalone.
39697         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39698         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39699         * lib/se-selinux.in.h: Likewise.
39700         * modules/selinux-h (Depends-on): Add unused-parameter.
39701         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39702         selinux/selinux.h and selinux/context.h.
39703         Suggested by Eric Blake.
39704
39705 2009-12-25  Bruno Haible  <bruno@clisp.org>
39706
39707         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39708         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39709         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39710         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39711         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39712
39713 2009-12-24  Bruno Haible  <bruno@clisp.org>
39714
39715         openat: Fix warning.
39716         * lib/openat-proc.c: Include <unistd.h>.
39717
39718 2009-12-24  Bruno Haible  <bruno@clisp.org>
39719
39720         New module 'unused-parameter'.
39721         * build-aux/unused-parameter.h: New file, extracted from earlier
39722         gnulib-common.m4.
39723         * modules/unused-parameter: New file.
39724         * lib/unistr.h: Include unused-parameter.h.
39725         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39726         _GL_UNUSED.
39727         * modules/unistr/base (Depends-on): Add unused-parameter.
39728
39729 2009-12-24  Bruno Haible  <bruno@clisp.org>
39730
39731         Add missing dependencies to 'extensions' module.
39732         * m4/extensions.m4: Add comment.
39733         * modules/accept4 (Depends-on): Add extensions.
39734         * modules/dup3 (Depends-on): Likewise.
39735         * modules/fcntl (Depends-on): Likewise.
39736         * modules/futimens (Depends-on): Likewise.
39737         * modules/mknod (Depends-on): Likewise.
39738         * modules/pipe2 (Depends-on): Likewise.
39739         * modules/stat-time (Depends-on): Likewise.
39740         * modules/strcasestr-simple (Depends-on): Likewise.
39741         * modules/strsignal (Depends-on): Likewise.
39742         * modules/utimensat (Depends-on): Likewise.
39743         * modules/localcharset (Depends-on): Likewise. Needed because of
39744         gl_FCNTL_O_FLAGS.
39745         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39746         AC_TYPE_MBSTATE_T.
39747         * modules/wcsnrtombs (Depends-on): Likewise.
39748         * modules/wcsrtombs (Depends-on): Likewise.
39749
39750 2009-12-24  Bruno Haible  <bruno@clisp.org>
39751
39752         binary-io: Avoid gcc warning due to SET_BINARY.
39753         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39754         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39755
39756 2009-12-24  Bruno Haible  <bruno@clisp.org>
39757
39758         Avoid future namespace pollution on glibc systems.
39759         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39760         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39761         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39762         glibc systems.
39763
39764 2009-12-24  Bruno Haible  <bruno@clisp.org>
39765
39766         Refactor common macros used in tests.
39767         * tests/macros.h: New file.
39768         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39769         and/or <stdlib.h>, if appropriate.
39770         (ASSERT, SIZEOF): Remove macros.
39771         * tests/test-areadlink-with-size.c: Likewise.
39772         * tests/test-areadlinkat.c: Likewise.
39773         * tests/test-areadlinkat-with-size.c: Likewise.
39774         * tests/test-argmatch.c: Likewise.
39775         * tests/test-argv-iter.c: Likewise.
39776         * tests/test-array-mergesort.c: Likewise.
39777         * tests/test-array_list.c: Likewise.
39778         * tests/test-array_oset.c: Likewise.
39779         * tests/test-avltree_list.c: Likewise.
39780         * tests/test-avltree_oset.c: Likewise.
39781         * tests/test-avltreehash_list.c: Likewise.
39782         * tests/test-base64.c: Likewise.
39783         * tests/test-binary-io.c: Likewise.
39784         * tests/test-bitrotate.c: Likewise.
39785         * tests/test-btowc.c: Likewise.
39786         * tests/test-byteswap.c: Likewise.
39787         * tests/test-c-ctype.c: Likewise.
39788         * tests/test-c-stack.c: Likewise.
39789         * tests/test-c-strcasecmp.c: Likewise.
39790         * tests/test-c-strcasestr.c: Likewise.
39791         * tests/test-c-strncasecmp.c: Likewise.
39792         * tests/test-c-strstr.c: Likewise.
39793         * tests/test-canonicalize-lgpl.c: Likewise.
39794         * tests/test-canonicalize.c: Likewise.
39795         * tests/test-carray_list.c: Likewise.
39796         * tests/test-ceilf1.c: Likewise.
39797         * tests/test-ceilf2.c: Likewise.
39798         * tests/test-ceill.c: Likewise.
39799         * tests/test-chown.c: Likewise.
39800         * tests/test-cloexec.c: Likewise.
39801         * tests/test-copy-acl.c: Likewise.
39802         * tests/test-copy-file.c: Likewise.
39803         * tests/test-count-one-bits.c: Likewise.
39804         * tests/test-dprintf-posix.c: Likewise.
39805         * tests/test-dup2.c: Likewise.
39806         * tests/test-dup3.c: Likewise.
39807         * tests/test-duplocale.c: Likewise.
39808         * tests/test-fbufmode.c: Likewise.
39809         * tests/test-fchdir.c: Likewise.
39810         * tests/test-fchownat.c: Likewise.
39811         * tests/test-fcntl-safer.c: Likewise.
39812         * tests/test-fcntl.c: Likewise.
39813         * tests/test-fdopendir.c: Likewise.
39814         * tests/test-fdutimensat.c: Likewise.
39815         * tests/test-fflush2.c: Likewise.
39816         * tests/test-file-has-acl.c: Likewise.
39817         * tests/test-filevercmp.c: Likewise.
39818         * tests/test-flock.c: Likewise.
39819         * tests/test-floorf1.c: Likewise.
39820         * tests/test-floorf2.c: Likewise.
39821         * tests/test-floorl.c: Likewise.
39822         * tests/test-fnmatch.c: Likewise.
39823         * tests/test-fopen.h: Likewise.
39824         * tests/test-fpending.c: Likewise.
39825         * tests/test-fprintf-posix.c: Likewise.
39826         * tests/test-fpurge.c: Likewise.
39827         * tests/test-freadable.c: Likewise.
39828         * tests/test-freadahead.c: Likewise.
39829         * tests/test-freading.c: Likewise.
39830         * tests/test-freadptr.c: Likewise.
39831         * tests/test-freadptr2.c: Likewise.
39832         * tests/test-freadseek.c: Likewise.
39833         * tests/test-freopen.c: Likewise.
39834         * tests/test-frexp.c: Likewise.
39835         * tests/test-frexpl.c: Likewise.
39836         * tests/test-fseek.c: Likewise.
39837         * tests/test-fseeko.c: Likewise.
39838         * tests/test-fstatat.c: Likewise.
39839         * tests/test-fstrcmp.c: Likewise.
39840         * tests/test-fsync.c: Likewise.
39841         * tests/test-ftell.c: Likewise.
39842         * tests/test-ftello.c: Likewise.
39843         * tests/test-func.c: Likewise.
39844         * tests/test-futimens.c: Likewise.
39845         * tests/test-fwritable.c: Likewise.
39846         * tests/test-fwriting.c: Likewise.
39847         * tests/test-getcwd.c: Likewise.
39848         * tests/test-getdate.c: Likewise.
39849         * tests/test-getdelim.c: Likewise.
39850         * tests/test-getdtablesize.c: Likewise.
39851         * tests/test-getgroups.c: Likewise.
39852         * tests/test-getline.c: Likewise.
39853         * tests/test-getndelim2.c: Likewise.
39854         * tests/test-glob.c: Likewise.
39855         * tests/test-hash.c: Likewise.
39856         * tests/test-i-ring.c: Likewise.
39857         * tests/test-iconv-utf.c: Likewise.
39858         * tests/test-iconv.c: Likewise.
39859         * tests/test-idpriv-drop.c: Likewise.
39860         * tests/test-idpriv-droptemp.c: Likewise.
39861         * tests/test-inet_ntop.c: Likewise.
39862         * tests/test-inet_pton.c: Likewise.
39863         * tests/test-isblank.c: Likewise.
39864         * tests/test-isfinite.c: Likewise.
39865         * tests/test-isinf.c: Likewise.
39866         * tests/test-isnan.c: Likewise.
39867         * tests/test-isnand.h: Likewise.
39868         * tests/test-isnanf.h: Likewise.
39869         * tests/test-isnanl.h: Likewise.
39870         * tests/test-lchown.c: Likewise.
39871         * tests/test-ldexpl.c: Likewise.
39872         * tests/test-link.c: Likewise.
39873         * tests/test-linkat.c: Likewise.
39874         * tests/test-linked_list.c: Likewise.
39875         * tests/test-linkedhash_list.c: Likewise.
39876         * tests/test-localename.c: Likewise.
39877         * tests/test-lseek.c: Likewise.
39878         * tests/test-lstat.c: Likewise.
39879         * tests/test-mbmemcasecmp.c: Likewise.
39880         * tests/test-mbmemcasecoll.c: Likewise.
39881         * tests/test-mbrtowc.c: Likewise.
39882         * tests/test-mbscasecmp.c: Likewise.
39883         * tests/test-mbscasestr1.c: Likewise.
39884         * tests/test-mbscasestr2.c: Likewise.
39885         * tests/test-mbscasestr3.c: Likewise.
39886         * tests/test-mbscasestr4.c: Likewise.
39887         * tests/test-mbschr.c: Likewise.
39888         * tests/test-mbscspn.c: Likewise.
39889         * tests/test-mbsinit.c: Likewise.
39890         * tests/test-mbsncasecmp.c: Likewise.
39891         * tests/test-mbsnrtowcs.c: Likewise.
39892         * tests/test-mbspbrk.c: Likewise.
39893         * tests/test-mbspcasecmp.c: Likewise.
39894         * tests/test-mbsrchr.c: Likewise.
39895         * tests/test-mbsrtowcs.c: Likewise.
39896         * tests/test-mbsspn.c: Likewise.
39897         * tests/test-mbsstr1.c: Likewise.
39898         * tests/test-mbsstr2.c: Likewise.
39899         * tests/test-mbsstr3.c: Likewise.
39900         * tests/test-memchr.c: Likewise.
39901         * tests/test-memchr2.c: Likewise.
39902         * tests/test-memcmp.c: Likewise.
39903         * tests/test-memmem.c: Likewise.
39904         * tests/test-memrchr.c: Likewise.
39905         * tests/test-mkdir.c: Likewise.
39906         * tests/test-mkdirat.c: Likewise.
39907         * tests/test-mkfifo.c: Likewise.
39908         * tests/test-mkfifoat.c: Likewise.
39909         * tests/test-mknod.c: Likewise.
39910         * tests/test-nanosleep.c: Likewise.
39911         * tests/test-nl_langinfo.c: Likewise.
39912         * tests/test-obstack-printf.c: Likewise.
39913         * tests/test-open.c: Likewise.
39914         * tests/test-openat.c: Likewise.
39915         * tests/test-pipe-filter-gi1.c: Likewise.
39916         * tests/test-pipe-filter-gi2-main.c: Likewise.
39917         * tests/test-pipe-filter-ii1.c: Likewise.
39918         * tests/test-pipe-filter-ii2-main.c: Likewise.
39919         * tests/test-pipe2.c: Likewise.
39920         * tests/test-popen.h: Likewise.
39921         * tests/test-posixtm.c: Likewise.
39922         * tests/test-pread.c: Likewise.
39923         * tests/test-printf-frexp.c: Likewise.
39924         * tests/test-printf-frexpl.c: Likewise.
39925         * tests/test-printf-posix.c: Likewise.
39926         * tests/test-priv-set.c: Likewise.
39927         * tests/test-quotearg.c: Likewise.
39928         * tests/test-random_r.c: Likewise.
39929         * tests/test-rawmemchr.c: Likewise.
39930         * tests/test-rbtree_list.c: Likewise.
39931         * tests/test-rbtree_oset.c: Likewise.
39932         * tests/test-rbtreehash_list.c: Likewise.
39933         * tests/test-readlink.c: Likewise.
39934         * tests/test-remove.c: Likewise.
39935         * tests/test-rename.c: Likewise.
39936         * tests/test-renameat.c: Likewise.
39937         * tests/test-rmdir.c: Likewise.
39938         * tests/test-round1.c: Likewise.
39939         * tests/test-roundf1.c: Likewise.
39940         * tests/test-roundl.c: Likewise.
39941         * tests/test-safe-alloc.c: Likewise.
39942         * tests/test-sameacls.c: Likewise.
39943         * tests/test-set-mode-acl.c: Likewise.
39944         * tests/test-setenv.c: Likewise.
39945         * tests/test-sigaction.c: Likewise.
39946         * tests/test-signbit.c: Likewise.
39947         * tests/test-sleep.c: Likewise.
39948         * tests/test-snprintf-posix.c: Likewise.
39949         * tests/test-snprintf.c: Likewise.
39950         * tests/test-sprintf-posix.c: Likewise.
39951         * tests/test-stat-time.c: Likewise.
39952         * tests/test-stat.c: Likewise.
39953         * tests/test-strcasestr.c: Likewise.
39954         * tests/test-strchrnul.c: Likewise.
39955         * tests/test-strerror.c: Likewise.
39956         * tests/test-striconv.c: Likewise.
39957         * tests/test-striconveh.c: Likewise.
39958         * tests/test-striconveha.c: Likewise.
39959         * tests/test-strsignal.c: Likewise.
39960         * tests/test-strstr.c: Likewise.
39961         * tests/test-strtod.c: Likewise.
39962         * tests/test-strverscmp.c: Likewise.
39963         * tests/test-symlink.c: Likewise.
39964         * tests/test-symlinkat.c: Likewise.
39965         * tests/test-trunc1.c: Likewise.
39966         * tests/test-trunc2.c: Likewise.
39967         * tests/test-truncf1.c: Likewise.
39968         * tests/test-truncf2.c: Likewise.
39969         * tests/test-truncl.c: Likewise.
39970         * tests/test-uname.c: Likewise.
39971         * tests/test-unlink.c: Likewise.
39972         * tests/test-unlinkat.c: Likewise.
39973         * tests/test-unsetenv.c: Likewise.
39974         * tests/test-usleep.c: Likewise.
39975         * tests/test-utimens.c: Likewise.
39976         * tests/test-utimensat.c: Likewise.
39977         * tests/test-vasnprintf-posix.c: Likewise.
39978         * tests/test-vasnprintf-posix2.c: Likewise.
39979         * tests/test-vasnprintf.c: Likewise.
39980         * tests/test-vasprintf-posix.c: Likewise.
39981         * tests/test-vasprintf.c: Likewise.
39982         * tests/test-vdprintf-posix.c: Likewise.
39983         * tests/test-vfprintf-posix.c: Likewise.
39984         * tests/test-vprintf-posix.c: Likewise.
39985         * tests/test-vsnprintf-posix.c: Likewise.
39986         * tests/test-vsnprintf.c: Likewise.
39987         * tests/test-vsprintf-posix.c: Likewise.
39988         * tests/test-wcrtomb.c: Likewise.
39989         * tests/test-wcsnrtombs.c: Likewise.
39990         * tests/test-wcsrtombs.c: Likewise.
39991         * tests/test-wctype.c: Likewise.
39992         * tests/test-wcwidth.c: Likewise.
39993         * tests/test-xfprintf-posix.c: Likewise.
39994         * tests/test-xmemdup0.c: Likewise.
39995         * tests/test-xprintf-posix.c: Likewise.
39996         * tests/test-xvasprintf.c: Likewise.
39997         * tests/unicase/test-locale-language.c: Likewise.
39998         * tests/unicase/test-mapping-part1.h: Likewise.
39999         * tests/unicase/test-predicate-part1.h: Likewise.
40000         * tests/unicase/test-u8-casecmp.c: Likewise.
40001         * tests/unicase/test-u8-casecoll.c: Likewise.
40002         * tests/unicase/test-u8-casefold.c: Likewise.
40003         * tests/unicase/test-u8-is-cased.c: Likewise.
40004         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40005         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40006         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40007         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40008         * tests/unicase/test-u8-tolower.c: Likewise.
40009         * tests/unicase/test-u8-totitle.c: Likewise.
40010         * tests/unicase/test-u8-toupper.c: Likewise.
40011         * tests/unicase/test-u16-casecmp.c: Likewise.
40012         * tests/unicase/test-u16-casecoll.c: Likewise.
40013         * tests/unicase/test-u16-casefold.c: Likewise.
40014         * tests/unicase/test-u16-is-cased.c: Likewise.
40015         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40016         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40017         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40018         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40019         * tests/unicase/test-u16-tolower.c: Likewise.
40020         * tests/unicase/test-u16-totitle.c: Likewise.
40021         * tests/unicase/test-u16-toupper.c: Likewise.
40022         * tests/unicase/test-u32-casecmp.c: Likewise.
40023         * tests/unicase/test-u32-casecoll.c: Likewise.
40024         * tests/unicase/test-u32-casefold.c: Likewise.
40025         * tests/unicase/test-u32-is-cased.c: Likewise.
40026         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40027         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40028         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40029         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40030         * tests/unicase/test-u32-tolower.c: Likewise.
40031         * tests/unicase/test-u32-totitle.c: Likewise.
40032         * tests/unicase/test-u32-toupper.c: Likewise.
40033         * tests/unicase/test-ulc-casecmp.c: Likewise.
40034         * tests/unicase/test-ulc-casecoll.c: Likewise.
40035         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40036         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40037         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40038         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40039         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40040         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40041         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40042         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40043         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40044         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40045         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40046         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40047         * tests/unictype/test-bidi_byname.c: Likewise.
40048         * tests/unictype/test-bidi_name.c: Likewise.
40049         * tests/unictype/test-bidi_of.c: Likewise.
40050         * tests/unictype/test-bidi_test.c: Likewise.
40051         * tests/unictype/test-block_list.c: Likewise.
40052         * tests/unictype/test-block_of.c: Likewise.
40053         * tests/unictype/test-block_test.c: Likewise.
40054         * tests/unictype/test-categ_and.c: Likewise.
40055         * tests/unictype/test-categ_and_not.c: Likewise.
40056         * tests/unictype/test-categ_byname.c: Likewise.
40057         * tests/unictype/test-categ_name.c: Likewise.
40058         * tests/unictype/test-categ_none.c: Likewise.
40059         * tests/unictype/test-categ_of.c: Likewise.
40060         * tests/unictype/test-categ_or.c: Likewise.
40061         * tests/unictype/test-categ_test_withtable.c: Likewise.
40062         * tests/unictype/test-combining.c: Likewise.
40063         * tests/unictype/test-decdigit.c: Likewise.
40064         * tests/unictype/test-digit.c: Likewise.
40065         * tests/unictype/test-mirror.c: Likewise.
40066         * tests/unictype/test-numeric.c: Likewise.
40067         * tests/unictype/test-pr_byname.c: Likewise.
40068         * tests/unictype/test-pr_test.c: Likewise.
40069         * tests/unictype/test-predicate-part1.h: Likewise.
40070         * tests/unictype/test-scripts.c: Likewise.
40071         * tests/unictype/test-sy_c_ident.c: Likewise.
40072         * tests/unictype/test-sy_java_ident.c: Likewise.
40073         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40074         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40075         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40076         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40077         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40078         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40079         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40080         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40081         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40082         * tests/uninorm/test-compat-decomposition.c: Likewise.
40083         * tests/uninorm/test-composition.c: Likewise.
40084         * tests/uninorm/test-decomposing-form.c: Likewise.
40085         * tests/uninorm/test-decomposition.c: Likewise.
40086         * tests/uninorm/test-u8-nfc.c: Likewise.
40087         * tests/uninorm/test-u8-nfd.c: Likewise.
40088         * tests/uninorm/test-u8-nfkc.c: Likewise.
40089         * tests/uninorm/test-u8-nfkd.c: Likewise.
40090         * tests/uninorm/test-u8-normcmp.c: Likewise.
40091         * tests/uninorm/test-u8-normcoll.c: Likewise.
40092         * tests/uninorm/test-u16-nfc.c: Likewise.
40093         * tests/uninorm/test-u16-nfd.c: Likewise.
40094         * tests/uninorm/test-u16-nfkc.c: Likewise.
40095         * tests/uninorm/test-u16-nfkd.c: Likewise.
40096         * tests/uninorm/test-u16-normcmp.c: Likewise.
40097         * tests/uninorm/test-u16-normcoll.c: Likewise.
40098         * tests/uninorm/test-u32-nfc.c: Likewise.
40099         * tests/uninorm/test-u32-nfd.c: Likewise.
40100         * tests/uninorm/test-u32-nfkc.c: Likewise.
40101         * tests/uninorm/test-u32-nfkd.c: Likewise.
40102         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40103         * tests/uninorm/test-u32-normcmp.c: Likewise.
40104         * tests/uninorm/test-u32-normcoll.c: Likewise.
40105         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40106         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40107         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40108         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40109         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40110         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40111         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40112         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40113         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40114         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40115         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40116         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40117         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40118         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40119         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40120         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40121         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40122         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40123         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40124         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40125         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40126         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40127         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40128         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40129         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40130         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40131         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40132         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40133         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40134         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40135         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40136         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40137         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40138         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40139         * tests/uniwidth/test-u8-width.c: Likewise.
40140         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40141         * tests/uniwidth/test-u16-width.c: Likewise.
40142         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40143         * tests/uniwidth/test-u32-width.c: Likewise.
40144         * tests/uniwidth/test-uc_width.c: Likewise.
40145         * tests/uniwidth/test-uc_width2.c: Likewise.
40146         * modules/acl-tests (Files): Add tests/macros.h.
40147         * modules/areadlink-tests (Files): Likewise.
40148         * modules/areadlink-with-size-tests (Files): Likewise.
40149         * modules/areadlinkat-tests (Files): Likewise.
40150         * modules/areadlinkat-with-size-tests (Files): Likewise.
40151         * modules/argmatch-tests (Files): Likewise.
40152         * modules/argv-iter-tests (Files): Likewise.
40153         * modules/array-list-tests (Files): Likewise.
40154         * modules/array-mergesort-tests (Files): Likewise.
40155         * modules/array-oset-tests (Files): Likewise.
40156         * modules/avltree-list-tests (Files): Likewise.
40157         * modules/avltree-oset-tests (Files): Likewise.
40158         * modules/avltreehash-list-tests (Files): Likewise.
40159         * modules/base64-tests (Files): Likewise.
40160         * modules/binary-io-tests (Files): Likewise.
40161         * modules/bitrotate-tests (Files): Likewise.
40162         * modules/btowc-tests (Files): Likewise.
40163         * modules/byteswap-tests (Files): Likewise.
40164         * modules/c-ctype-tests (Files): Likewise.
40165         * modules/c-stack-tests (Files): Likewise.
40166         * modules/c-strcase-tests (Files): Likewise.
40167         * modules/c-strcasestr-tests (Files): Likewise.
40168         * modules/c-strstr-tests (Files): Likewise.
40169         * modules/canonicalize-lgpl-tests (Files): Likewise.
40170         * modules/canonicalize-tests (Files): Likewise.
40171         * modules/carray-list-tests (Files): Likewise.
40172         * modules/ceilf-tests (Files): Likewise.
40173         * modules/ceill-tests (Files): Likewise.
40174         * modules/chown-tests (Files): Likewise.
40175         * modules/cloexec-tests (Files): Likewise.
40176         * modules/copy-file-tests (Files): Likewise.
40177         * modules/count-one-bits-tests (Files): Likewise.
40178         * modules/dprintf-posix-tests (Files): Likewise.
40179         * modules/dup2-tests (Files): Likewise.
40180         * modules/dup3-tests (Files): Likewise.
40181         * modules/duplocale-tests (Files): Likewise.
40182         * modules/fbufmode-tests (Files): Likewise.
40183         * modules/fchdir-tests (Files): Likewise.
40184         * modules/fcntl-safer-tests (Files): Likewise.
40185         * modules/fcntl-tests (Files): Likewise.
40186         * modules/fdopendir-tests (Files): Likewise.
40187         * modules/fdutimensat-tests (Files): Likewise.
40188         * modules/fflush-tests (Files): Likewise.
40189         * modules/filevercmp-tests (Files): Likewise.
40190         * modules/flock-tests (Files): Likewise.
40191         * modules/floorf-tests (Files): Likewise.
40192         * modules/floorl-tests (Files): Likewise.
40193         * modules/fnmatch-tests (Files): Likewise.
40194         * modules/fopen-safer-tests (Files): Likewise.
40195         * modules/fopen-tests (Files): Likewise.
40196         * modules/fpending-tests (Files): Likewise.
40197         * modules/fprintf-posix-tests (Files): Likewise.
40198         * modules/fpurge-tests (Files): Likewise.
40199         * modules/freadable-tests (Files): Likewise.
40200         * modules/freadahead-tests (Files): Likewise.
40201         * modules/freading-tests (Files): Likewise.
40202         * modules/freadptr-tests (Files): Likewise.
40203         * modules/freadseek-tests (Files): Likewise.
40204         * modules/freopen-tests (Files): Likewise.
40205         * modules/frexp-nolibm-tests (Files): Likewise.
40206         * modules/frexp-tests (Files): Likewise.
40207         * modules/frexpl-nolibm-tests (Files): Likewise.
40208         * modules/frexpl-tests (Files): Likewise.
40209         * modules/fseek-tests (Files): Likewise.
40210         * modules/fseeko-tests (Files): Likewise.
40211         * modules/fstrcmp-tests (Files): Likewise.
40212         * modules/fsync-tests (Files): Likewise.
40213         * modules/ftell-tests (Files): Likewise.
40214         * modules/ftello-tests (Files): Likewise.
40215         * modules/func-tests (Files): Likewise.
40216         * modules/futimens-tests (Files): Likewise.
40217         * modules/fwritable-tests (Files): Likewise.
40218         * modules/fwriting-tests (Files): Likewise.
40219         * modules/getcwd-tests (Files): Likewise.
40220         * modules/getdate-tests (Files): Likewise.
40221         * modules/getdelim-tests (Files): Likewise.
40222         * modules/getdtablesize-tests (Files): Likewise.
40223         * modules/getgroups-tests (Files): Likewise.
40224         * modules/getline-tests (Files): Likewise.
40225         * modules/getndelim2-tests (Files): Likewise.
40226         * modules/glob-tests (Files): Likewise.
40227         * modules/hash-tests (Files): Likewise.
40228         * modules/i-ring-tests (Files): Likewise.
40229         * modules/iconv-tests (Files): Likewise.
40230         * modules/iconv_open-utf-tests (Files): Likewise.
40231         * modules/idpriv-drop-tests (Files): Likewise.
40232         * modules/idpriv-droptemp-tests (Files): Likewise.
40233         * modules/inet_ntop-tests (Files): Likewise.
40234         * modules/inet_pton-tests (Files): Likewise.
40235         * modules/isblank-tests (Files): Likewise.
40236         * modules/isfinite-tests (Files): Likewise.
40237         * modules/isinf-tests (Files): Likewise.
40238         * modules/isnan-tests (Files): Likewise.
40239         * modules/isnand-nolibm-tests (Files): Likewise.
40240         * modules/isnand-tests (Files): Likewise.
40241         * modules/isnanf-nolibm-tests (Files): Likewise.
40242         * modules/isnanf-tests (Files): Likewise.
40243         * modules/isnanl-nolibm-tests (Files): Likewise.
40244         * modules/isnanl-tests (Files): Likewise.
40245         * modules/lchown-tests (Files): Likewise.
40246         * modules/ldexpl-tests (Files): Likewise.
40247         * modules/link-tests (Files): Likewise.
40248         * modules/linkat-tests (Files): Likewise.
40249         * modules/linked-list-tests (Files): Likewise.
40250         * modules/linkedhash-list-tests (Files): Likewise.
40251         * modules/localename-tests (Files): Likewise.
40252         * modules/lseek-tests (Files): Likewise.
40253         * modules/lstat-tests (Files): Likewise.
40254         * modules/mbmemcasecmp-tests (Files): Likewise.
40255         * modules/mbmemcasecoll-tests (Files): Likewise.
40256         * modules/mbrtowc-tests (Files): Likewise.
40257         * modules/mbscasecmp-tests (Files): Likewise.
40258         * modules/mbscasestr-tests (Files): Likewise.
40259         * modules/mbschr-tests (Files): Likewise.
40260         * modules/mbscspn-tests (Files): Likewise.
40261         * modules/mbsinit-tests (Files): Likewise.
40262         * modules/mbsncasecmp-tests (Files): Likewise.
40263         * modules/mbsnrtowcs-tests (Files): Likewise.
40264         * modules/mbspbrk-tests (Files): Likewise.
40265         * modules/mbspcasecmp-tests (Files): Likewise.
40266         * modules/mbsrchr-tests (Files): Likewise.
40267         * modules/mbsrtowcs-tests (Files): Likewise.
40268         * modules/mbsspn-tests (Files): Likewise.
40269         * modules/mbsstr-tests (Files): Likewise.
40270         * modules/memchr-tests (Files): Likewise.
40271         * modules/memchr2-tests (Files): Likewise.
40272         * modules/memcmp-tests (Files): Likewise.
40273         * modules/memmem-tests (Files): Likewise.
40274         * modules/memrchr-tests (Files): Likewise.
40275         * modules/mkdir-tests (Files): Likewise.
40276         * modules/mkfifo-tests (Files): Likewise.
40277         * modules/mkfifoat-tests (Files): Likewise.
40278         * modules/mknod-tests (Files): Likewise.
40279         * modules/nanosleep-tests (Files): Likewise.
40280         * modules/nl_langinfo-tests (Files): Likewise.
40281         * modules/obstack-printf-tests (Files): Likewise.
40282         * modules/open-tests (Files): Likewise.
40283         * modules/openat-tests (Files): Likewise.
40284         * modules/pipe-filter-gi-tests (Files): Likewise.
40285         * modules/pipe-filter-ii-tests (Files): Likewise.
40286         * modules/pipe2-tests (Files): Likewise.
40287         * modules/popen-safer-tests (Files): Likewise.
40288         * modules/popen-tests (Files): Likewise.
40289         * modules/posixtm-tests (Files): Likewise.
40290         * modules/pread-tests (Files): Likewise.
40291         * modules/printf-frexp-tests (Files): Likewise.
40292         * modules/printf-frexpl-tests (Files): Likewise.
40293         * modules/printf-posix-tests (Files): Likewise.
40294         * modules/priv-set-tests (Files): Likewise.
40295         * modules/quotearg-tests (Files): Likewise.
40296         * modules/random_r-tests (Files): Likewise.
40297         * modules/rawmemchr-tests (Files): Likewise.
40298         * modules/rbtree-list-tests (Files): Likewise.
40299         * modules/rbtree-oset-tests (Files): Likewise.
40300         * modules/rbtreehash-list-tests (Files): Likewise.
40301         * modules/readlink-tests (Files): Likewise.
40302         * modules/remove-tests (Files): Likewise.
40303         * modules/rename-tests (Files): Likewise.
40304         * modules/renameat-tests (Files): Likewise.
40305         * modules/rmdir-tests (Files): Likewise.
40306         * modules/round-tests (Files): Likewise.
40307         * modules/roundf-tests (Files): Likewise.
40308         * modules/roundl-tests (Files): Likewise.
40309         * modules/safe-alloc-tests (Files): Likewise.
40310         * modules/setenv-tests (Files): Likewise.
40311         * modules/sigaction-tests (Files): Likewise.
40312         * modules/signbit-tests (Files): Likewise.
40313         * modules/sleep-tests (Files): Likewise.
40314         * modules/snprintf-posix-tests (Files): Likewise.
40315         * modules/snprintf-tests (Files): Likewise.
40316         * modules/sprintf-posix-tests (Files): Likewise.
40317         * modules/stat-tests (Files): Likewise.
40318         * modules/stat-time-tests (Files): Likewise.
40319         * modules/strcasestr-tests (Files): Likewise.
40320         * modules/strchrnul-tests (Files): Likewise.
40321         * modules/strerror-tests (Files): Likewise.
40322         * modules/striconv-tests (Files): Likewise.
40323         * modules/striconveh-tests (Files): Likewise.
40324         * modules/striconveha-tests (Files): Likewise.
40325         * modules/strsignal-tests (Files): Likewise.
40326         * modules/strstr-tests (Files): Likewise.
40327         * modules/strtod-tests (Files): Likewise.
40328         * modules/strverscmp-tests (Files): Likewise.
40329         * modules/symlink-tests (Files): Likewise.
40330         * modules/symlinkat-tests (Files): Likewise.
40331         * modules/trunc-tests (Files): Likewise.
40332         * modules/truncf-tests (Files): Likewise.
40333         * modules/truncl-tests (Files): Likewise.
40334         * modules/uname-tests (Files): Likewise.
40335         * modules/unicase/cased-tests (Files): Likewise.
40336         * modules/unicase/ignorable-tests (Files): Likewise.
40337         * modules/unicase/locale-language-tests (Files): Likewise.
40338         * modules/unicase/tolower-tests (Files): Likewise.
40339         * modules/unicase/totitle-tests (Files): Likewise.
40340         * modules/unicase/toupper-tests (Files): Likewise.
40341         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40342         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40343         * modules/unicase/u8-casefold-tests (Files): Likewise.
40344         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40345         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40346         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40347         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40348         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40349         * modules/unicase/u8-tolower-tests (Files): Likewise.
40350         * modules/unicase/u8-totitle-tests (Files): Likewise.
40351         * modules/unicase/u8-toupper-tests (Files): Likewise.
40352         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40353         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40354         * modules/unicase/u16-casefold-tests (Files): Likewise.
40355         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40356         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40357         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40358         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40359         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40360         * modules/unicase/u16-tolower-tests (Files): Likewise.
40361         * modules/unicase/u16-totitle-tests (Files): Likewise.
40362         * modules/unicase/u16-toupper-tests (Files): Likewise.
40363         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40364         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40365         * modules/unicase/u32-casefold-tests (Files): Likewise.
40366         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40367         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40368         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40369         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40370         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40371         * modules/unicase/u32-tolower-tests (Files): Likewise.
40372         * modules/unicase/u32-totitle-tests (Files): Likewise.
40373         * modules/unicase/u32-toupper-tests (Files): Likewise.
40374         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40375         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40376         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40377         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40378         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40379         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40380         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40381         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40382         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40383         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40384         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40385         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40386         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40387         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40388         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40389         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40390         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40391         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40392         * modules/unictype/block-list-tests (Files): Likewise.
40393         * modules/unictype/block-of-tests (Files): Likewise.
40394         * modules/unictype/block-test-tests (Files): Likewise.
40395         * modules/unictype/category-C-tests (Files): Likewise.
40396         * modules/unictype/category-Cc-tests (Files): Likewise.
40397         * modules/unictype/category-Cf-tests (Files): Likewise.
40398         * modules/unictype/category-Cn-tests (Files): Likewise.
40399         * modules/unictype/category-Co-tests (Files): Likewise.
40400         * modules/unictype/category-Cs-tests (Files): Likewise.
40401         * modules/unictype/category-L-tests (Files): Likewise.
40402         * modules/unictype/category-Ll-tests (Files): Likewise.
40403         * modules/unictype/category-Lm-tests (Files): Likewise.
40404         * modules/unictype/category-Lo-tests (Files): Likewise.
40405         * modules/unictype/category-Lt-tests (Files): Likewise.
40406         * modules/unictype/category-Lu-tests (Files): Likewise.
40407         * modules/unictype/category-M-tests (Files): Likewise.
40408         * modules/unictype/category-Mc-tests (Files): Likewise.
40409         * modules/unictype/category-Me-tests (Files): Likewise.
40410         * modules/unictype/category-Mn-tests (Files): Likewise.
40411         * modules/unictype/category-N-tests (Files): Likewise.
40412         * modules/unictype/category-Nd-tests (Files): Likewise.
40413         * modules/unictype/category-Nl-tests (Files): Likewise.
40414         * modules/unictype/category-No-tests (Files): Likewise.
40415         * modules/unictype/category-P-tests (Files): Likewise.
40416         * modules/unictype/category-Pc-tests (Files): Likewise.
40417         * modules/unictype/category-Pd-tests (Files): Likewise.
40418         * modules/unictype/category-Pe-tests (Files): Likewise.
40419         * modules/unictype/category-Pf-tests (Files): Likewise.
40420         * modules/unictype/category-Pi-tests (Files): Likewise.
40421         * modules/unictype/category-Po-tests (Files): Likewise.
40422         * modules/unictype/category-Ps-tests (Files): Likewise.
40423         * modules/unictype/category-S-tests (Files): Likewise.
40424         * modules/unictype/category-Sc-tests (Files): Likewise.
40425         * modules/unictype/category-Sk-tests (Files): Likewise.
40426         * modules/unictype/category-Sm-tests (Files): Likewise.
40427         * modules/unictype/category-So-tests (Files): Likewise.
40428         * modules/unictype/category-Z-tests (Files): Likewise.
40429         * modules/unictype/category-Zl-tests (Files): Likewise.
40430         * modules/unictype/category-Zp-tests (Files): Likewise.
40431         * modules/unictype/category-Zs-tests (Files): Likewise.
40432         * modules/unictype/category-and-not-tests (Files): Likewise.
40433         * modules/unictype/category-and-tests (Files): Likewise.
40434         * modules/unictype/category-byname-tests (Files): Likewise.
40435         * modules/unictype/category-name-tests (Files): Likewise.
40436         * modules/unictype/category-none-tests (Files): Likewise.
40437         * modules/unictype/category-of-tests (Files): Likewise.
40438         * modules/unictype/category-or-tests (Files): Likewise.
40439         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40440         * modules/unictype/combining-class-tests (Files): Likewise.
40441         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40442         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40443         * modules/unictype/ctype-blank-tests (Files): Likewise.
40444         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40445         * modules/unictype/ctype-digit-tests (Files): Likewise.
40446         * modules/unictype/ctype-graph-tests (Files): Likewise.
40447         * modules/unictype/ctype-lower-tests (Files): Likewise.
40448         * modules/unictype/ctype-print-tests (Files): Likewise.
40449         * modules/unictype/ctype-punct-tests (Files): Likewise.
40450         * modules/unictype/ctype-space-tests (Files): Likewise.
40451         * modules/unictype/ctype-upper-tests (Files): Likewise.
40452         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40453         * modules/unictype/decimal-digit-tests (Files): Likewise.
40454         * modules/unictype/digit-tests (Files): Likewise.
40455         * modules/unictype/mirror-tests (Files): Likewise.
40456         * modules/unictype/numeric-tests (Files): Likewise.
40457         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40458         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40459         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40460         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40461         Likewise.
40462         * modules/unictype/property-bidi-block-separator-tests (Files):
40463         Likewise.
40464         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40465         Likewise.
40466         * modules/unictype/property-bidi-common-separator-tests (Files):
40467         Likewise.
40468         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40469         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40470         Likewise.
40471         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40472         Likewise.
40473         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40474         Likewise.
40475         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40476         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40477         Likewise.
40478         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40479         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40480         Likewise.
40481         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40482         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40483         * modules/unictype/property-bidi-segment-separator-tests (Files):
40484         Likewise.
40485         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40486         * modules/unictype/property-byname-tests (Files): Likewise.
40487         * modules/unictype/property-combining-tests (Files): Likewise.
40488         * modules/unictype/property-composite-tests (Files): Likewise.
40489         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40490         * modules/unictype/property-dash-tests (Files): Likewise.
40491         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40492         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40493         Likewise.
40494         * modules/unictype/property-deprecated-tests (Files): Likewise.
40495         * modules/unictype/property-diacritic-tests (Files): Likewise.
40496         * modules/unictype/property-extender-tests (Files): Likewise.
40497         * modules/unictype/property-format-control-tests (Files): Likewise.
40498         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40499         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40500         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40501         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40502         * modules/unictype/property-hyphen-tests (Files): Likewise.
40503         * modules/unictype/property-id-continue-tests (Files): Likewise.
40504         * modules/unictype/property-id-start-tests (Files): Likewise.
40505         * modules/unictype/property-ideographic-tests (Files): Likewise.
40506         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40507         * modules/unictype/property-ids-trinary-operator-tests (Files):
40508         Likewise.
40509         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40510         * modules/unictype/property-iso-control-tests (Files): Likewise.
40511         * modules/unictype/property-join-control-tests (Files): Likewise.
40512         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40513         * modules/unictype/property-line-separator-tests (Files): Likewise.
40514         * modules/unictype/property-logical-order-exception-tests (Files):
40515         Likewise.
40516         * modules/unictype/property-lowercase-tests (Files): Likewise.
40517         * modules/unictype/property-math-tests (Files): Likewise.
40518         * modules/unictype/property-non-break-tests (Files): Likewise.
40519         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40520         * modules/unictype/property-numeric-tests (Files): Likewise.
40521         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40522         * modules/unictype/property-other-default-ignorable-code-point-tests
40523         (Files): Likewise.
40524         * modules/unictype/property-other-grapheme-extend-tests (Files):
40525         Likewise.
40526         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40527         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40528         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40529         * modules/unictype/property-other-math-tests (Files): Likewise.
40530         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40531         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40532         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40533         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40534         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40535         * modules/unictype/property-private-use-tests (Files): Likewise.
40536         * modules/unictype/property-punctuation-tests (Files): Likewise.
40537         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40538         * modules/unictype/property-radical-tests (Files): Likewise.
40539         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40540         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40541         * modules/unictype/property-space-tests (Files): Likewise.
40542         * modules/unictype/property-terminal-punctuation-tests (Files):
40543         Likewise.
40544         * modules/unictype/property-test-tests (Files): Likewise.
40545         * modules/unictype/property-titlecase-tests (Files): Likewise.
40546         * modules/unictype/property-unassigned-code-value-tests (Files):
40547         Likewise.
40548         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40549         * modules/unictype/property-uppercase-tests (Files): Likewise.
40550         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40551         * modules/unictype/property-white-space-tests (Files): Likewise.
40552         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40553         * modules/unictype/property-xid-start-tests (Files): Likewise.
40554         * modules/unictype/property-zero-width-tests (Files): Likewise.
40555         * modules/unictype/scripts-tests (Files): Likewise.
40556         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40557         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40558         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40559         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40560         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40561         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40562         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40563         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40564         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40565         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40566         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40567         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40568         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40569         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40570         * modules/uninorm/composition-tests (Files): Likewise.
40571         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40572         * modules/uninorm/decomposition-tests (Files): Likewise.
40573         * modules/uninorm/filter-tests (Files): Likewise.
40574         * modules/uninorm/nfc-tests (Files): Likewise.
40575         * modules/uninorm/nfd-tests (Files): Likewise.
40576         * modules/uninorm/nfkc-tests (Files): Likewise.
40577         * modules/uninorm/nfkd-tests (Files): Likewise.
40578         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40579         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40580         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40581         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40582         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40583         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40584         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40585         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40586         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40587         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40588         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40589         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40590         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40591         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40592         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40593         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40594         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40595         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40596         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40597         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40598         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40599         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40600         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40601         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40602         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40603         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40604         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40605         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40606         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40607         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40608         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40609         * modules/uniwidth/u8-width-tests (Files): Likewise.
40610         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40611         * modules/uniwidth/u16-width-tests (Files): Likewise.
40612         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40613         * modules/uniwidth/u32-width-tests (Files): Likewise.
40614         * modules/uniwidth/width-tests (Files): Likewise.
40615         * modules/unlink-tests (Files): Likewise.
40616         * modules/unsetenv-tests (Files): Likewise.
40617         * modules/usleep-tests (Files): Likewise.
40618         * modules/utimens-tests (Files): Likewise.
40619         * modules/utimensat-tests (Files): Likewise.
40620         * modules/vasnprintf-posix-tests (Files): Likewise.
40621         * modules/vasnprintf-tests (Files): Likewise.
40622         * modules/vasprintf-posix-tests (Files): Likewise.
40623         * modules/vasprintf-tests (Files): Likewise.
40624         * modules/vdprintf-posix-tests (Files): Likewise.
40625         * modules/vfprintf-posix-tests (Files): Likewise.
40626         * modules/vprintf-posix-tests (Files): Likewise.
40627         * modules/vsnprintf-posix-tests (Files): Likewise.
40628         * modules/vsnprintf-tests (Files): Likewise.
40629         * modules/vsprintf-posix-tests (Files): Likewise.
40630         * modules/wcrtomb-tests (Files): Likewise.
40631         * modules/wcsnrtombs-tests (Files): Likewise.
40632         * modules/wcsrtombs-tests (Files): Likewise.
40633         * modules/wctype-tests (Files): Likewise.
40634         * modules/wcwidth-tests (Files): Likewise.
40635         * modules/xmemdup0-tests (Files): Likewise.
40636         * modules/xprintf-posix-tests (Files): Likewise.
40637         * modules/xvasprintf-tests (Files): Likewise.
40638
40639 2009-12-24  Eric Blake  <ebb9@byu.net>
40640
40641         test-nanosleep: fix typo
40642         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40643         patch.
40644         Reported by Bruno Haible.
40645
40646 2009-12-24  Bruno Haible  <bruno@clisp.org>
40647
40648         Reduce namespace pollution on glibc systems.
40649         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40650         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40651         systems.
40652         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40653         <getopt.h> on glibc systems.
40654         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40655         systems.
40656         * lib/fcntl.c: Include <unistd.h> here instead.
40657
40658 2009-12-24  Bruno Haible  <bruno@clisp.org>
40659
40660         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40661
40662 2009-12-24  Eric Blake  <ebb9@byu.net>
40663
40664         tests: add signature checks
40665         * tests/signature.h (SIGNATURE_CHECK): New file.
40666         * modules/atexit-tests (Files): Use it.
40667         * modules/btowc-tests (Files): Likewise.
40668         * modules/canonicalize-lgpl-tests (Files): Likewise.
40669         * modules/ceilf-tests (Files): Likewise.
40670         * modules/ceill-tests (Files): Likewise.
40671         * modules/chown-tests (Files): Likewise.
40672         * modules/dprintf-posix-tests (Files): Likewise.
40673         * modules/dup2-tests (Files): Likewise.
40674         * modules/dup3-tests (Files): Likewise.
40675         * modules/duplocale-tests (Files): Likewise.
40676         * modules/fchdir-tests (Files): Likewise.
40677         * modules/fcntl-tests (Files): Likewise.
40678         * modules/fdopendir-tests (Files): Likewise.
40679         * modules/fflush-tests (Files): Likewise.
40680         * modules/flock-tests (Files): Likewise.
40681         * modules/floorf-tests (Files): Likewise.
40682         * modules/floorl-tests (Files): Likewise.
40683         * modules/fnmatch-tests (Files): Likewise.
40684         * modules/fopen-tests (Files): Likewise.
40685         * modules/fprintf-posix-tests (Files): Likewise.
40686         * modules/freopen-tests (Files): Likewise.
40687         * modules/frexp-nolibm-tests (Files): Likewise.
40688         * modules/frexp-tests (Files): Likewise.
40689         * modules/frexpl-nolibm-tests (Files): Likewise.
40690         * modules/frexpl-tests (Files): Likewise.
40691         * modules/fseek-tests (Files): Likewise.
40692         * modules/fseeko-tests (Files): Likewise.
40693         * modules/fsync-tests (Files): Likewise.
40694         * modules/ftell-tests (Files): Likewise.
40695         * modules/ftello-tests (Files): Likewise.
40696         * modules/futimens-tests (Files): Likewise.
40697         * modules/getaddrinfo-tests (Files): Likewise.
40698         * modules/getcwd-tests (Files): Likewise.
40699         * modules/getdelim-tests (Files): Likewise.
40700         * modules/getdtablesize-tests (Files): Likewise.
40701         * modules/getgroups-tests (Files): Likewise.
40702         * modules/gethostname-tests (Files): Likewise.
40703         * modules/getline-tests (Files): Likewise.
40704         * modules/getopt-posix-tests (Files): Likewise.
40705         * modules/gettimeofday-tests (Files): Likewise.
40706         * modules/glob-tests (Files): Likewise.
40707         * modules/iconv-tests (Files): Likewise.
40708         * modules/inet_ntop-tests (Files): Likewise.
40709         * modules/inet_pton-tests (Files): Likewise.
40710         * modules/isblank-tests (Files): Likewise.
40711         * modules/lchown-tests (Files): Likewise.
40712         * modules/ldexpl-tests (Files): Likewise.
40713         * modules/link-tests (Files): Likewise.
40714         * modules/linkat-tests (Files): Likewise.
40715         * modules/lseek-tests (Files): Likewise.
40716         * modules/lstat-tests (Files): Likewise.
40717         * modules/mbrtowc-tests (Files): Likewise.
40718         * modules/mbsinit-tests (Files): Likewise.
40719         * modules/mbsnrtowcs-tests (Files): Likewise.
40720         * modules/mbsrtowcs-tests (Files): Likewise.
40721         * modules/memchr-tests (Files): Likewise.
40722         * modules/memcmp-tests (Files): Likewise.
40723         * modules/memmem-tests (Files): Likewise.
40724         * modules/memrchr-tests (Files): Likewise.
40725         * modules/mkdir-tests (Files): Likewise.
40726         * modules/mkfifo-tests (Files): Likewise.
40727         * modules/mkfifoat-tests (Files): Likewise.
40728         * modules/mknod-tests (Files): Likewise.
40729         * modules/nanosleep-tests (Files): Likewise.
40730         * modules/nl_langinfo-tests (Files): Likewise.
40731         * modules/obstack-printf-tests (Files): Likewise.
40732         * modules/open-tests (Files): Likewise.
40733         * modules/openat-tests (Files): Likewise.
40734         * modules/perror-tests (Files): Likewise.
40735         * modules/pipe2-tests (Files): Likewise.
40736         * modules/poll-tests (Files): Likewise.
40737         * modules/popen-tests (Files): Likewise.
40738         * modules/posix_spawn-tests (Files): Likewise.
40739         * modules/posix_spawnp-tests (Files): Likewise.
40740         * modules/pread-tests (Files): Likewise.
40741         * modules/printf-posix-tests (Files): Likewise.
40742         * modules/pty-tests (Files): Likewise.
40743         * modules/random_r-tests (Files): Likewise.
40744         * modules/rawmemchr-tests (Files): Likewise.
40745         * modules/readlink-tests (Files): Likewise.
40746         * modules/remove-tests (Files): Likewise.
40747         * modules/rename-tests (Files): Likewise.
40748         * modules/renameat-tests (Files): Likewise.
40749         * modules/rmdir-tests (Files): Likewise.
40750         * modules/round-tests (Files): Likewise.
40751         * modules/roundf-tests (Files): Likewise.
40752         * modules/roundl-tests (Files): Likewise.
40753         * modules/select-tests (Files): Likewise.
40754         * modules/setenv-tests (Files): Likewise.
40755         * modules/sigaction-tests (Files): Likewise.
40756         * modules/sleep-tests (Files): Likewise.
40757         * modules/snprintf-posix-tests (Files): Likewise.
40758         * modules/snprintf-tests (Files): Likewise.
40759         * modules/sprintf-posix-tests (Files): Likewise.
40760         * modules/stat-tests (Files): Likewise.
40761         * modules/strcasestr-tests (Files): Likewise.
40762         * modules/strchrnul-tests (Files): Likewise.
40763         * modules/strerror-tests (Files): Likewise.
40764         * modules/strsignal-tests (Files): Likewise.
40765         * modules/strstr-tests (Files): Likewise.
40766         * modules/strtod-tests (Files): Likewise.
40767         * modules/strverscmp-tests (Files): Likewise.
40768         * modules/symlink-tests (Files): Likewise.
40769         * modules/symlinkat-tests (Files): Likewise.
40770         * modules/times-tests (Files): Likewise.
40771         * modules/trunc-tests (Files): Likewise.
40772         * modules/truncf-tests (Files): Likewise.
40773         * modules/truncl-tests (Files): Likewise.
40774         * modules/tsearch-tests (Files): Likewise.
40775         * modules/uname-tests (Files): Likewise.
40776         * modules/unlink-tests (Files): Likewise.
40777         * modules/unsetenv-tests (Files): Likewise.
40778         * modules/usleep-tests (Files): Likewise.
40779         * modules/utimensat-tests (Files): Likewise.
40780         * modules/vasprintf-tests (Files): Likewise.
40781         * modules/vdprintf-posix-tests (Files): Likewise.
40782         * modules/vfprintf-posix-tests (Files): Likewise.
40783         * modules/vprintf-posix-tests (Files): Likewise.
40784         * modules/vsnprintf-posix-tests (Files): Likewise.
40785         * modules/vsnprintf-tests (Files): Likewise.
40786         * modules/vsprintf-posix-tests (Files): Likewise.
40787         * modules/wcrtomb-tests (Files): Likewise.
40788         * modules/wcsnrtombs-tests (Files): Likewise.
40789         * modules/wcsrtombs-tests (Files): Likewise.
40790         * modules/wcwidth-tests (Files): Likewise.
40791         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40792         * tests/test-isinf.c (isinf): Likewise.
40793         * tests/test-isnan.c (isnan): Likewise.
40794         * tests/test-signbit.c (signbit): Likewise.
40795         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40796         declaration, either as macro or with correct signature.
40797         (select): Ensure function under test is declared with correct
40798         signature in correct header.
40799         * tests/test-atexit.c (atexit): Likewise.
40800         * tests/test-btowc.c (btowc): Likewise.
40801         * tests/test-canonicalize-lgpl.c (realpath)
40802         (canonicalize_file_name): Likewise.
40803         * tests/test-ceilf1.c (ceilf): Likewise.
40804         * tests/test-ceill.c (ceill): Likewise.
40805         * tests/test-chown.c (chown): Likewise.
40806         * tests/test-dprintf-posix.c (dprintf): Likewise.
40807         * tests/test-dup2.c (dup2): Likewise.
40808         * tests/test-dup3.c (dup3): Likewise.
40809         * tests/test-duplocale.c (duplocale): Likewise.
40810         * tests/test-fchdir.c (fchdir): Likewise.
40811         * tests/test-fchownat.c (fchownat): Likewise.
40812         * tests/test-fcntl.c (fcntl): Likewise.
40813         * tests/test-fdopendir.c (fdopendir): Likewise.
40814         * tests/test-fflush.c (fflush): Likewise.
40815         * tests/test-flock.c (flock): Likewise.
40816         * tests/test-floorf1.c (floorf): Likewise.
40817         * tests/test-floorl.c (floorl): Likewise.
40818         * tests/test-fnmatch.c (fnmatch): Likewise.
40819         * tests/test-fopen.c (fopen): Likewise.
40820         * tests/test-fprintf-posix.c (fprintf): Likewise.
40821         * tests/test-freopen.c (freopen): Likewise.
40822         * tests/test-frexp.c (frexp): Likewise.
40823         * tests/test-frexpl.c (frexpl): Likewise.
40824         * tests/test-fseek.c (fseek): Likewise.
40825         * tests/test-fseeko.c (fseeko): Likewise.
40826         * tests/test-fstatat.c (fstatat): Likewise.
40827         * tests/test-fsync.c (fsync): Likewise.
40828         * tests/test-ftell.c (ftell): Likewise.
40829         * tests/test-ftello.c (ftello): Likewise.
40830         * tests/test-futimens.c (futimens): Likewise.
40831         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40832         (gai_strerror): Likewise.
40833         * tests/test-getcwd.c (getcwd): Likewise.
40834         * tests/test-getdelim.c (getdelim): Likewise.
40835         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40836         * tests/test-getgroups.c (getgroups): Likewise.
40837         * tests/test-gethostname.c (gethostname): Likewise.
40838         * tests/test-getline.c (getline): Likewise.
40839         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40840         Likewise.
40841         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40842         * tests/test-glob.c (glob, globfree): Likewise.
40843         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40844         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40845         * tests/test-inet_pton.c (inet_pton): Likewise.
40846         * tests/test-isblank.c (isblank): Likewise.
40847         * tests/test-lchown.c (lchown): Likewise.
40848         * tests/test-ldexpl.c (ldexpl): Likewise.
40849         * tests/test-link.c (link): Likewise.
40850         * tests/test-linkat.c (linkat): Likewise.
40851         * tests/test-lseek.c (lseek): Likewise.
40852         * tests/test-lstat.c (lstat): Likewise.
40853         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40854         * tests/test-mbsinit.c (mbsinit): Likewise.
40855         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40856         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40857         * tests/test-memchr.c (memchr): Likewise.
40858         * tests/test-memcmp.c (memcmp): Likewise.
40859         * tests/test-memmem.c (memmem): Likewise.
40860         * tests/test-memrchr.c (memrchr): Likewise.
40861         * tests/test-mkdir.c (mkdir): Likewise.
40862         * tests/test-mkdirat.c (mkdirat): Likewise.
40863         * tests/test-mkfifo.c (mkfifo): Likewise.
40864         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40865         * tests/test-mknod.c (mknod): Likewise.
40866         * tests/test-nanosleep.c (nanosleep): Likewise.
40867         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40868         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40869         Likewise.
40870         * tests/test-open.c (open): Likewise.
40871         * tests/test-openat.c (openat): Likewise.
40872         * tests/test-perror.c (perror): Likewise.
40873         * tests/test-pipe2.c (pipe2): Likewise.
40874         * tests/test-poll.c (poll): Likewise.
40875         * tests/test-popen.c (popen, pclose): Likewise.
40876         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40877         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40878         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40879         (posix_spawn_file_actions_destroy)
40880         (posix_spawn_file_actions_addclose)
40881         (posix_spawn_file_actions_addopen)
40882         (posix_spawn_file_actions_adddup2): Likewise.
40883         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40884         * tests/test-pread.c (pread): Likewise.
40885         * tests/test-printf-posix.c (printf): Likewise.
40886         * tests/test-pty.c (openpty, forkpty): Likewise.
40887         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40888         (random_r): Likewise.
40889         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40890         * tests/test-readlink.c (readlink): Likewise.
40891         * tests/test-remove.c (remove): Likewise.
40892         * tests/test-rename.c (rename): Likewise.
40893         * tests/test-renameat.c (renameat): Likewise.
40894         * tests/test-rmdir.c (rmdir): Likewise.
40895         * tests/test-round1.c (round): Likewise.
40896         * tests/test-roundf1.c (roundf): Likewise.
40897         * tests/test-roundl.c (roundl): Likewise.
40898         * tests/test-setenv.c (setenv): Likewise.
40899         * tests/test-sigaction.c (sigaction): Likewise.
40900         * tests/test-sleep.c (sleep): Likewise.
40901         * tests/test-snprintf.c (snprintf): Likewise.
40902         * tests/test-sprintf-posix.c (sprintf): Likewise.
40903         * tests/test-stat.c (stat): Likewise.
40904         * tests/test-stpncpy.c (stpncpy): Likewise.
40905         * tests/test-strcasestr.c (strcasestr): Likewise.
40906         * tests/test-strchrnul.c (strchrnul): Likewise.
40907         * tests/test-strerror.c (strerror): Likewise.
40908         * tests/test-strsignal.c (strsignal): Likewise.
40909         * tests/test-strstr.c (strstr): Likewise.
40910         * tests/test-strtod.c (strtod): Likewise.
40911         * tests/test-strverscmp.c (strverscmp): Likewise.
40912         * tests/test-symlink.c (symlink): Likewise.
40913         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40914         * tests/test-times.c (times): Likewise.
40915         * tests/test-trunc1.c (trunc): Likewise.
40916         * tests/test-truncf1.c (truncf): Likewise.
40917         * tests/test-truncl.c (truncl): Likewise.
40918         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40919         Likewise.
40920         * tests/test-uname.c (uname): Likewise.
40921         * tests/test-unlink.c (unlink): Likewise.
40922         * tests/test-unlinkat.c (unlinkat): Likewise.
40923         * tests/test-unsetenv.c (unsetenv): Likewise.
40924         * tests/test-usleep.c (usleep): Likewise.
40925         * tests/test-utimensat.c (utimensat): Likewise.
40926         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40927         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40928         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40929         * tests/test-vprintf-posix.c (vprintf): Likewise.
40930         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40931         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40932         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40933         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40934         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40935         * tests/test-wcwidth.c (wcwidth): Likewise.
40936
40937         build: pull in conditional headers during GNULIB_POSIXCHECK
40938         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40939         definitions from any conditionally-included headers.
40940         * lib/stdlib.in.h (includes): Likewise.
40941         * lib/unistd.in.h (includes): Likewise.
40942
40943 2009-12-24  Bruno Haible  <bruno@clisp.org>
40944
40945         * tests/test-argv-iter.c: Include header file being tested immediately
40946         after config.h.
40947         * tests/test-base64.c: Likewise.
40948         * tests/test-flock.c: Likewise.
40949         * tests/test-fsync.c: Likewise.
40950         * tests/test-getdate.c: Likewise.
40951         * tests/test-getndelim2.c: Likewise.
40952         * tests/test-isfinite.c: Likewise.
40953         * tests/test-isinf.c: Likewise.
40954         * tests/test-strerror.c: Likewise.
40955         * tests/test-strsignal.c: Likewise.
40956
40957 2009-12-23  Eric Blake  <ebb9@byu.net>
40958
40959         unistd: work around cygwin bug
40960         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40961         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40962         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40963
40964 2009-12-23  Bruno Haible  <bruno@clisp.org>
40965
40966         localename: More tests.
40967         * tests/test-localename.c (SIZEOF): New macro.
40968         (categories): New variable.
40969         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40970         test_locale_name_default): Add test w.r.t. thread locale.
40971         (test_locale_name_thread): New function.
40972         (main): Invoke it.
40973
40974         localename: Make aware of thread locale.
40975         * lib/localename.h (gl_locale_name_thread): New declaration.
40976         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40977         behaviour with respect to thread locale.
40978         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40979         <langinfo.h>, glthread/lock.h.
40980         (SIZE_BITS): New macro.
40981         (string_hash): New function.
40982         (struct hash_node): New type.
40983         (HASH_TABLE_SIZE): New macro.
40984         (struniq_hash_table, struniq_lock): New variables.
40985         (struniq): New function.
40986         (gl_locale_name_thread): New function.
40987         (gl_locale_name): Invoke it.
40988         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40989         * modules/localename (Depends-on): Add lock.
40990         Reported by Mike Gran <spk121@yahoo.com>.
40991
40992 2009-12-23  Eric Blake  <ebb9@byu.net>
40993
40994         va-args: new module
40995         * modules/va-args: New file.
40996         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40997         * MODULES.html.sh (Core language properties): Mention it.
40998
40999         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41000         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41001         named alias for __attribute__((__unused__)).
41002         * lib/chown.c: Update client.
41003         * lib/fchmodat.c: Likewise.
41004         * lib/fts.c: Likewise.
41005         * lib/getdate.y: Likewise.
41006         * lib/getgroups.c: Likewise.
41007         * lib/getopt.c: Likewise.
41008         * lib/getugroups.c: Likewise.
41009         * lib/mkdir.c: Likewise.
41010         * lib/mkfifo.c: Likewise.
41011         * lib/mkfifoat.c: Likewise.
41012         * lib/mknod.c: Likewise.
41013         * lib/mknodat.c: Likewise.
41014         * lib/readlink.c: Likewise.
41015         * lib/se-context.in.h: Likewise.
41016         * lib/se-selinux.in.h: Likewise.
41017         * lib/sockets.c: Likewise.
41018         * lib/symlink.c: Likewise.
41019         * lib/symlinkat.c: Likewise.
41020         * lib/unicodeio.c: Likewise.
41021         * lib/unistr.h: Likewise.
41022         * tests/test-areadlink.c: Likewise.
41023         * tests/test-areadlinkat.c: Likewise.
41024         * tests/test-filenamecat.c: Likewise.
41025         * tests/test-fseeko.c: Likewise.
41026         * tests/test-ftello.c: Likewise.
41027         * tests/test-getdate.c: Likewise.
41028         * tests/test-getgroups.c: Likewise.
41029         * tests/test-gethostname.c: Likewise.
41030         * tests/test-quotearg.c: Likewise.
41031         * tests/test-version-etc.c: Likewise.
41032         * tests/test-xalloc-die.c: Likewise.
41033         * tests/test-xfprintf-posix.c: Likewise.
41034         * tests/test-xprintf-posix.c: Likewise.
41035         * tests/test-xvasprintf.c: Likewise.
41036
41037         tests: avoid compiler warnings
41038         * tests/test-fcntl.c (main): Delete unused parameters.
41039         * tests/test-freopen-safer.c (main): Likewise.
41040         * tests/test-xalloc-die.c (main): Mark unused parameters.
41041         * tests/test-fseeko.c (main): Likewise.
41042         * tests/test-ftello.c (main): Likewise.
41043         * tests/test-nanosleep.c (main): Avoid declaration warning.
41044         * tests/test-sleep.c (main): Likewise.
41045         * tests/test-unsetenv.c (main): Silence warning about string
41046         literal.
41047         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41048
41049 2009-12-23  Bruno Haible  <bruno@clisp.org>
41050
41051         * tests/test-localename.c (test_locale_name): New function, extracted
41052         from main. Also test mixed situations.
41053         (test_locale_name_posix, test_locale_name_environ,
41054         test_locale_name_default): New functions.
41055         (main): Invoke them all.
41056         * modules/localename-tests (configure.ac): Test for newlocale.
41057
41058 2009-12-23  Bruno Haible  <bruno@clisp.org>
41059
41060         unistd: Ensure getcwd gets declared before being overridden.
41061         * lib/unistd.in.h: Conditionally include <io.h>.
41062
41063 2009-12-22  Bruno Haible  <bruno@clisp.org>
41064
41065         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41066         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41067         (gl_WCHAR_H): Invoke it.
41068         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41069         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41070         Reported by Karl Berry <karl@freefriends.org>.
41071
41072 2009-12-22  Eric Blake  <ebb9@byu.net>
41073
41074         math, unistd: avoid redundant includes
41075         * lib/math.in.h (isnan): No need to re-include <math.h>.
41076         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41077
41078         getsubopt: work around cygwin bug
41079         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41080         avoid conflicting with system getsubopt.
41081         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41082         bug.
41083
41084         getopt: synchronize from glibc
41085         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41086         parameter order.  Adjust all callers.
41087         (_getopt_internal_r, main): Adjust quoting in error messages.
41088         Drop considerations for outdated POSIX 1003.2 error message.
41089         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41090         callers.
41091         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41092
41093         test-getopt: test stderr behavior
41094         * modules/getopt-posix-tests (Depends-on): Add dup2.
41095         * tests/test-getopt.c (ASSERT): Avoid stderr.
41096         (main): Move stderr to a temporary file.
41097         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41098         Instead, add parameter to inform caller if output occurred.
41099         (test_getopt): Adjust all existing tests to expect silence, and
41100         add new tests of leading ":".
41101         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41102         glibc shortcomings with leading "-:" or "+:" in optstring.
41103         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41104         Likewise.
41105         * doc/posix-functions/getopt.texi (getopt): Likewise.
41106
41107         test-getopt: enhance test
41108         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41109         supports optind=0.
41110         * tests/test-getopt.c (OPTIND_MIN): Move...
41111         * tests/test-getopt.h (OPTIND_MIN): ...here.
41112         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41113         Require that optind=0 works, since modern BSD supports it in
41114         addition to optreset, and since coreutils expects it.
41115         (test_getopt_long_only): New test.
41116         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41117         glibc shortcomings with 'W;', and enforcement of optind=0.
41118         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41119         Likewise.
41120
41121 2009-12-21  Bruno Haible  <bruno@clisp.org>
41122
41123         localename: Improvements for MacOS X and Cygwin.
41124         * lib/localename.h (gl_locale_name_environ): New declaration.
41125         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41126         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41127         (gl_locale_name_posix): Invoke it.
41128         (gl_locale_name_default): Add comments. Use Windows native API also on
41129         Cygwin.
41130
41131 2009-12-21  Bruno Haible  <bruno@clisp.org>
41132
41133         Update list of Win32 locale ids.
41134         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41135         (LANG_SAMI): Renamed from LANG_SAAMI.
41136         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41137         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41138         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41139         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41140         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41141         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41142         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41143         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41144         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41145         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41146         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41147         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41148         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41149         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41150         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41151         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41152         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41153         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41154         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41155         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41156         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41157         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41158         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41159         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41160         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41161         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41162         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41163         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41164         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41165         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41166         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41167         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41168         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41169         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41170         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41171         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41172         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41173         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41174         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41175         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41176         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41177         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41178         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41179         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41180         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41181         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41182         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41183         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41184         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41185         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41186         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41187         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41188         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41189         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41190         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41191         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41192         Add more languages and countries for Sami, Sorbian. Add more countries
41193         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41194         for Pashto. Change country for Syriac, Tswana.
41195
41196 2009-12-21  Eric Blake  <ebb9@byu.net>
41197
41198         test-utimens: avoid spurious failure
41199         * tests/test-chown.h (nap): Factor...
41200         * tests/nap.h: ...into new file.
41201         * tests/test-lchown.h (nap): Avoid duplication.
41202         * tests/test-utimens-common.h (nap): Use shared implementation,
41203         necessary on file systems with 1-second resolution.
41204         * modules/chown-tests (Files): Include new file.
41205         * modules/fdutimensat-tests (Files): Likewise.
41206         * modules/futimens-tests (Files): Likewise.
41207         * modules/lchown-tests (Files): Likewise.
41208         * modules/openat-tests (Files): Likewise.
41209         * modules/utimens-tests (Files): Likewise.
41210         * modules/utimensat-tests (Files): Likewise.
41211
41212 2009-12-19  Eric Blake  <ebb9@byu.net>
41213
41214         futimens, utimensat: work around Linux bug
41215         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41216         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41217         * lib/utimensat.c (rpl_utimensat): Work around it.
41218         * lib/futimens.c (rpl_futimens): Adjust comment.
41219
41220         utimens: work around Linux ctime bug
41221         * lib/utimens.c (detect_ctime_bug): New helper function.
41222         (update_timespec): Differentiate between workaround needed for
41223         this bug vs. what is needed for systems that lack utimensat.
41224         (fdutimens, lutimens): Work around bug.
41225
41226         utimens: check for ctime update
41227         * tests/test-utimens-common.h (check_ctime): Define.
41228         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41229         * tests/test-futimens.h (test_futimens): Likewise.
41230         * tests/test-lutimens.h (test_lutimens): Likewise.
41231         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41232         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41233
41234 2009-12-19  Bruno Haible  <bruno@clisp.org>
41235
41236         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41237         * tests/test-dprintf-posix2.sh: New file.
41238         * tests/test-dprintf-posix2.c: New file.
41239         * modules/dprintf-posix-tests (Files): Add them.
41240         (configure.ac): Check for getrlimit and setrlimit.
41241         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41242
41243 2009-12-19  Bruno Haible  <bruno@clisp.org>
41244
41245         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41246         * tests/test-fprintf-posix3.sh: New file.
41247         * tests/test-fprintf-posix3.c: New file.
41248         * modules/fprintf-posix-tests (Files): Add them.
41249         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41250
41251 2009-12-19  Eric Blake  <ebb9@byu.net>
41252
41253         dirfd: fix prototype
41254         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41255         * lib/dirfd.c (dirfd): Likewise.
41256
41257         canonicalize: reduce memory usage
41258         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41259         allocation to size.
41260         Reported by Solar Designer <solar@openwall.com>.
41261
41262 2009-12-19  Bruno Haible  <bruno@clisp.org>
41263
41264         New module attribute 'Applicability'.
41265         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41266         * gnulib-tool: New option --extract-applicability.
41267         (func_usage): Document it.
41268         (sed_extract_prog): Recognize it.
41269         (func_get_applicability): New function.
41270         (func_import): Generalize handling of 'link-warning' module.
41271         * modules/link-warning (Applicability): New section.
41272         * modules/arg-nonnull (Applicability): New section.
41273         Repoted by Simon Josefsson <simon@josefsson.org>.
41274
41275 2009-12-19  Bruno Haible  <bruno@clisp.org>
41276
41277         fflush: tweak
41278         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41279         * lib/fseeko.c (rpl_fseeko): Likewise.
41280
41281 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41282
41283         * lib/gl_list.h: Fix typo in comment.
41284
41285 2009-12-16  Eric Blake  <ebb9@byu.net>
41286
41287         fcntl: use to simplify other modules
41288         * modules/cloexec (Depends-on): Add fcntl.
41289         * modules/fchdir (Depends-on): Likewise.
41290         * modules/fd-safer-flag (Depends-on): Likewise.
41291         * modules/unistd-safer (Depends-on): Likewise.
41292         * modules/dup3 (configure.ac): Set module indicator.
41293         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41294         missing.
41295         * lib/fchdir.c (_gl_register_dup): Fix comment.
41296         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41297         * lib/dup-safer.c (dup_safer): Likewise.
41298         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41299         * lib/dup3.c (dup3): Likewise.
41300         * tests/test-fchdir.c (main): Enhance test.
41301         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
41302
41303         fcntl: port portions of fcntl to mingw
41304         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41305         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41306         replacement for mingw.
41307         * modules/fcntl (Description): Update.
41308         (Depends-on): Add dup2.
41309         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41310         * modules/fcntl-h (Makefile.am): Substitute it.
41311         * lib/fcntl.in.h (fcntl): Update declaration.
41312         (F_DUPFD, F_GETFD): New macros, when needed.
41313         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41314         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41315         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41316         we now guarantee.
41317
41318         fcntl: work around cygwin bug in F_DUPFD
41319         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41320         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41321         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41322         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41323         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41324
41325         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41326         * modules/fcntl (Files): List new files.
41327         (configure.ac): Run a test.
41328         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41329         * lib/fcntl.c (rpl_fcntl): Likewise.
41330         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41331         (gl_FCNTL_H): Always replace fcntl.h.
41332         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41333         * lib/fcntl.in.h (fcntl): Declare replacement.
41334         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41335         needed, plus a witness.
41336         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41337         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41338         * tests/test-fcntl.c: New file.
41339         * modules/fcntl-tests: Likewise.
41340
41341         binary-io: avoid potential compilation warning
41342         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41343         directives.
41344
41345         fflush: avoid compilation error on NetBSD
41346         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41347         between off_t and fpos_t, since the latter is sometimes a struct.
41348         * lib/fseeko.c (rpl_fseeko): Likewise.
41349         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41350
41351 2009-12-15  Eric Blake  <ebb9@byu.net>
41352
41353         fcntl-h, stdio, sys_ioctl: fix declarations
41354         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41355         function must not take arguments.
41356         * lib/sys_ioctl.in.h (ioctl): Likewise.
41357         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41358         (open): Add a link warning.
41359
41360 2009-12-15  Jim Meyering  <meyering@redhat.com>
41361
41362         areadlink, areadlink-with-size: relax license to LGPLv2+
41363         * modules/areadlink (License): Relax to LGPLv2+.
41364         * modules/areadlink-with-size (License): Likewise.
41365
41366 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41367             Bruno Haible  <bruno@clisp.org>
41368
41369         *printf: Fix memory leak.
41370         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41371         * lib/vfprintf.c (vfprintf): Likewise.
41372         * lib/dprintf.c (dprintf): Likewise.
41373         * lib/vdprintf.c (vdprintf): Likewise.
41374
41375 2009-12-14  Eric Blake  <ebb9@byu.net>
41376
41377         accept4: adjust module dependencies
41378         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41379
41380         utimens: one more try at avoiding compiler warning
41381         * lib/utimens.c (lutimens): Lower scope of result.
41382
41383 2009-12-13  Bruno Haible  <bruno@clisp.org>
41384
41385         Move the malloc checking from module 'list' to new module 'xlist'.
41386         * modules/xlist: New file.
41387         * lib/gl_xlist.h: New file.
41388         * lib/gl_xlist.c: New file.
41389         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41390         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41391         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41392         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41393         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41394         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41395         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41396         gl_sortedlist_nx_add): New declarations.
41397         (struct gl_list_implementation): Rename and change methods accordingly.
41398         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41399         (gl_list_nx_create): Renamed from gl_list_create.
41400         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41401         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41402         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41403         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41404         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41405         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41406         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41407         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41408         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41409         gl_list_create_empty.
41410         (gl_list_nx_create): Renamed from gl_list_create.
41411         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41412         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41413         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41414         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41415         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41416         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41417         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41418         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41419         * lib/gl_array_list.c: Don't include xalloc.h.
41420         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41421         NULL upon out-of-memory.
41422         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41423         out-of-memory.
41424         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41425         Change return type to 'int'.
41426         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41427         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41428         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41429         upon out-of-memory.
41430         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41431         upon out-of-memory.
41432         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41433         upon out-of-memory.
41434         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41435         upon out-of-memory.
41436         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41437         out-of-memory.
41438         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41439         Update.
41440         (gl_array_list_implementation): Update.
41441         * lib/gl_carray_list.c: Don't include xalloc.h.
41442         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41443         Return NULL upon out-of-memory.
41444         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41445         out-of-memory.
41446         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41447         Change return type to 'int'.
41448         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41449         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41450         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41451         upon out-of-memory.
41452         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41453         upon out-of-memory.
41454         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41455         out-of-memory.
41456         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41457         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41458         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41459         Update.
41460         (gl_carray_list_implementation): Update.
41461         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41462         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41463         gl_linked_create_empty. Return NULL upon out-of-memory.
41464         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41465         out-of-memory.
41466         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41467         Change return type to 'int'. Return -1 upon out-of-memory.
41468         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41469         out-of-memory.
41470         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41471         upon out-of-memory.
41472         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41473         upon out-of-memory.
41474         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41475         NULL upon out-of-memory.
41476         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41477         upon out-of-memory.
41478         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41479         out-of-memory.
41480         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41481         Update.
41482         * lib/gl_linked_list.c: Don't include xalloc.h.
41483         (gl_linked_list_implementation): Update.
41484         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41485         (add_to_bucket): Change return type to 'int'.
41486         (gl_linkedhash_list_implementation): Update.
41487         * lib/gl_anytree_list1.h (free_subtree): New function.
41488         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41489         gl_tree_create_empty. Return NULL upon out-of-memory.
41490         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41491         Change return type to 'int'. Return -1 upon out-of-memory.
41492         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41493         out-of-memory.
41494         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41495         (gl_tree_remove_node): New function, moved here from
41496         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41497         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41498         Update.
41499         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41500         malloc, not xmalloc. Return NULL upon out-of-memory.
41501         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41502         out-of-memory.
41503         (gl_tree_remove_node_from_tree): New function, extracted from
41504         gl_tree_remove_node.
41505         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41506         upon out-of-memory.
41507         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41508         out-of-memory.
41509         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41510         upon out-of-memory.
41511         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41512         upon out-of-memory.
41513         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41514         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41515         not xmalloc. Return NULL upon out-of-memory.
41516         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41517         out-of-memory.
41518         (gl_tree_remove_node_from_tree): New function, extracted from
41519         gl_tree_remove_node.
41520         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41521         upon out-of-memory.
41522         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41523         out-of-memory.
41524         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41525         upon out-of-memory.
41526         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41527         upon out-of-memory.
41528         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41529         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41530         gl_anytree_list1.h before gl_anyavltree_list2.h.
41531         (gl_avltree_list_implementation): Update.
41532         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41533         gl_anytree_list1.h before gl_anyavltree_list2.h.
41534         (gl_rbtree_list_implementation): Update.
41535         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41536         Change return type to 'int'. Return -1 upon out-of-memory. Use
41537         __builtin_expect.
41538         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41539         (gl_avltreehash_list_implementation): Update.
41540         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41541         (gl_rbtreehash_list_implementation): Update.
41542         * modules/array-list (Depends-on): Remove xalloc.
41543         * modules/carray-list (Depends-on): Likewise.
41544         * modules/linked-list (Depends-on): Likewise.
41545         * modules/linkedhash-list (Depends-on): Likewise.
41546         * modules/avltree-list (Depends-on): Likewise.
41547         * modules/rbtree-list (Depends-on): Likewise.
41548         * modules/avltreehash-list (Depends-on): Likewise.
41549         * modules/rbtreehash-list (Depends-on): Likewise.
41550
41551         * modules/xsublist: New file.
41552         * lib/gl_xsublist.h: New file.
41553         * lib/gl_xsublist.c: New file.
41554         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41555         (gl_sublist_nx_create): New declaration.
41556         * lib/gl_sublist.c: Don't include xalloc.h.
41557         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41558         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41559         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41560         Change return type to 'int'. Return -1 upon out-of-memory.
41561         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41562         upon out-of-memory.
41563         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41564         NULL upon out-of-memory.
41565         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41566         upon out-of-memory.
41567         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41568         NULL upon out-of-memory.
41569         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41570         NULL upon out-of-memory.
41571         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41572         upon out-of-memory.
41573         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41574         (gl_sublist_list_implementation): Update.
41575         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41576         upon out-of-memory.
41577         * modules/sublist (Depends-on): Remove xalloc.
41578
41579         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41580         * tests/test-carray_list.c: Likewise.
41581         * tests/test-linked_list.c: Likewise.
41582         * tests/test-linkedhash_list.c: Likewise.
41583         * tests/test-avltree_list.c: Likewise.
41584         * tests/test-rbtree_list.c: Likewise.
41585         * tests/test-avltreehash_list.c: Likewise.
41586         * tests/test-rbtreehash_list.c: Likewise.
41587         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41588         * modules/carray-list-tests (Makefile.am): Likewise.
41589         * modules/linked-list-tests (Makefile.am): Likewise.
41590         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41591         * modules/avltree-list-tests (Makefile.am): Likewise.
41592         * modules/rbtree-list-tests (Makefile.am): Likewise.
41593         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41594         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41595
41596         * NEWS: Mention the changes.
41597
41598         * lib/clean-temp.c: Include gl_xlist.h.
41599         * modules/clean-temp (Depends-on): Add xlist.
41600
41601         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41602         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41603
41604         * tests/test-array_oset.c: Include gl_xlist.h.
41605         * modules/array-oset-tests (Depends-on): Add xlist.
41606
41607         Reported by José E. Marchesi <jemarch@gnu.org>.
41608
41609 2009-12-13  Bruno Haible  <bruno@clisp.org>
41610
41611         Move the malloc checking from module 'oset' to new module 'xoset'.
41612         * modules/xoset: New file.
41613         * lib/gl_xoset.h: New file.
41614         * lib/gl_xoset.c: New file.
41615         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41616         declarations.
41617         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41618         (struct gl_oset_implementation): Rename and change methods accordingly.
41619         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41620         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41621         'int'. Mark as __warn_unused_result__.
41622         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41623         gl_oset_create_empty.
41624         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41625         'int'.
41626         * lib/gl_array_oset.c: Don't include xalloc.h.
41627         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41628         malloc, not xmalloc.
41629         (grow): Change return type to 'int'. Don't call xalloc_die.
41630         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41631         to 'int'.
41632         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41633         'int'.
41634         (gl_array_oset_implementation): Update.
41635         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41636         gl_tree_create_empty.
41637         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41638         'int'.
41639         * lib/gl_avltree_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_avltree_oset_implementation): Update.
41647         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41648         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41649         xmalloc.
41650         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41651         not xmalloc.
41652         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41653         xmalloc.
41654         (gl_rbtree_oset_implementation): Update.
41655         * modules/array-oset (Depends-on): Remove xalloc.
41656         * modules/avltree-oset (Depends-on): Likewise.
41657         * modules/rbtree-oset (Depends-on): Likewise.
41658         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41659         * tests/test-avltree_oset.c: Likewise.
41660         * tests/test-rbtree_oset.c: Likewise.
41661         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41662         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41663         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41664         * NEWS: Mention the change.
41665
41666 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41667
41668         maint.mk: allow a project to override release-prep commands
41669         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41670         commands into a new rule.
41671         (release-prep): New rule.
41672         (release-prep-hook): New overridable variable.
41673
41674 2009-12-13  Bruno Haible  <bruno@clisp.org>
41675
41676         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41677
41678 2009-12-13  Jim Meyering  <meyering@redhat.com>
41679
41680         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41681         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41682
41683 2009-12-12  Bruno Haible  <bruno@clisp.org>
41684
41685         duplocale: Tweak.
41686         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41687
41688 2009-12-12  Karl Berry  <karl@gnu.org>
41689
41690         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41691
41692 2009-12-12  Bruno Haible  <bruno@clisp.org>
41693
41694         * m4/po.m4: Undo incorrect untabification.
41695
41696 2009-12-12  Bruno Haible  <bruno@clisp.org>
41697
41698         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41699         * modules/c-strtod (Depends-on): Add locale.
41700         * modules/c-strtold (Depends-on): Likewise.
41701
41702 2009-12-12  Bruno Haible  <bruno@clisp.org>
41703
41704         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41705
41706 2009-12-11  Eric Blake  <ebb9@byu.net>
41707
41708         setenv: relax requirement in light of POSIX ruling
41709         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41710         not NULL.
41711         * tests/test-setenv.c (main): Relax test.
41712         * tests/test-unsetenv.c (main): Likewise.
41713         * doc/posix-functions/setenv.texi (setenv): Document this.
41714         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41715
41716 2009-12-11  Bruno Haible  <bruno@clisp.org>
41717
41718         New module 'fd-safer-flag'.
41719         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41720         * lib/dup-safer.c (dup_safer_flag): Remove function.
41721         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41722         * lib/fd-safer.c (fd_safer_flag): Remove function.
41723         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41724         * modules/cloexec (configure.ac): Drop indicator macro.
41725         * modules/fd-safer-flag: New file.
41726         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41727         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41728         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41729
41730 2009-12-11  Bruno Haible  <bruno@clisp.org>
41731
41732         Tests for module 'nl_langinfo'.
41733         * modules/nl_langinfo-tests: New file.
41734         * tests/test-nl_langinfo.sh: New file.
41735         * tests/test-nl_langinfo.c: New file.
41736
41737         New module 'nl_langinfo'.
41738         * lib/nl_langinfo.c: New file.
41739         * m4/nl_langinfo.m4: New file.
41740         * modules/nl_langinfo: New file.
41741         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41742
41743 2009-12-11  Bruno Haible  <bruno@clisp.org>
41744
41745         Tests for module 'langinfo'.
41746         * modules/langinfo-tests: New file.
41747         * tests/test-langinfo.c: New file.
41748
41749         New module 'langinfo'.
41750         * lib/langinfo.in.h: New file.
41751         * m4/langinfo_h.m4: New file.
41752         * modules/langinfo: New file.
41753         * doc/posix-headers/langinfo.texi: Mention the new module.
41754
41755 2009-12-11  Bruno Haible  <bruno@clisp.org>
41756
41757         * lib/config.charset: Untabify.
41758
41759 2009-12-11  Bruno Haible  <bruno@clisp.org>
41760
41761         * modules/unistd-safer (configure.ac): Drop indicator macro.
41762
41763 2009-12-11  Bruno Haible  <bruno@clisp.org>
41764
41765         Move pipe2-safer code to its own file.
41766         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41767         * lib/pipe-safer.c (pipe2_safer): Remove function.
41768         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41769         (Makefile.am): Add it to lib_SOURCES.
41770
41771 2009-12-10  Bruno Haible  <bruno@clisp.org>
41772
41773         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41774
41775 2009-12-10  Bruno Haible  <bruno@clisp.org>
41776
41777         Declare which arguments expect non-NULL values, for GCC and clang.
41778         * build-aux/arg-nonnull.h: New file.
41779         * modules/arg-nonnull: New file.
41780         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41781         (inet_ntop, inet_pton): Use it.
41782         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41783         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41784         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41785         (open, openat): Use it.
41786         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41787         (fnmatch): Use it.
41788         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41789         (getopt, getopt_long, getopt_long_only): Use it.
41790         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41791         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41792         Use it.
41793         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41794         (iconv_open): Use it.
41795         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41796         (strtoimax, strtoumax): Use it.
41797         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41798         (duplocale): Use it.
41799         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41800         (frexp, frexpl): Use it.
41801         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41802         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41803         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41804         (tsearch, tfind, tdelete, twalk): Use it.
41805         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41806         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41807         sigpending): Use it.
41808         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41809         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41810         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41811         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41812         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41813         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41814         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41815         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41816         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41817         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41818         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41819         Use it.
41820         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41821         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41822         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41823         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41824         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41825         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41826         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41827         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41828         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41829         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41830         strtoull, unsetenv): Use it.
41831         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41832         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41833         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41834         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41835         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41836         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41837         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41838         (strcasecmp, strncasecmp): Use it.
41839         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41840         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41841         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41842         rpl_setsockopt): Use it.
41843         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41844         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41845         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41846         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41847         (gettimeofday): Use it.
41848         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41849         (times): Use it.
41850         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41851         (uname): Use it.
41852         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41853         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41854         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41855         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41856         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41857         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41858         unlinkat, write): Use it.
41859         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41860         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41861         * lib/argv-iter.h: Include arg-nonnull.h.
41862         (_ATTRIBUTE_NONNULL_): Remove macro.
41863         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41864         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41865         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41866         optimization.
41867         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41868         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41869         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41870         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41871         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41872         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41873         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41874         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41875         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41876         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41877         * modules/dirent (Depends-on): Add arg-nonnull.
41878         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41879         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41880         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41881         * modules/fnmatch (Depends-on): Add arg-nonnull.
41882         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41883         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41884         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41885         * modules/glob (Depends-on): Add arg-nonnull.
41886         (Makefile.am): Insert arg-nonnull.h into glob.h.
41887         * modules/iconv_open (Depends-on): Add arg-nonnull.
41888         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41889         * modules/inttypes (Depends-on): Add arg-nonnull.
41890         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41891         * modules/locale (Depends-on): Add arg-nonnull.
41892         (Makefile.am): Insert arg-nonnull.h into locale.h.
41893         * modules/math (Depends-on): Add arg-nonnull.
41894         (Makefile.am): Insert arg-nonnull.h into math.h.
41895         * modules/netdb (Depends-on): Add arg-nonnull.
41896         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41897         * modules/search (Depends-on): Add arg-nonnull.
41898         (Makefile.am): Insert arg-nonnull.h into search.h.
41899         * modules/signal (Depends-on): Add arg-nonnull.
41900         (Makefile.am): Insert arg-nonnull.h into signal.h.
41901         * modules/spawn (Depends-on): Add arg-nonnull.
41902         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41903         * modules/stdio (Depends-on): Add arg-nonnull.
41904         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41905         * modules/stdlib (Depends-on): Add arg-nonnull.
41906         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41907         * modules/string (Depends-on): Add arg-nonnull.
41908         (Makefile.am): Insert arg-nonnull.h into string.h.
41909         * modules/strings (Depends-on): Add arg-nonnull.
41910         (Makefile.am): Insert arg-nonnull.h into strings.h.
41911         * modules/sys_socket (Depends-on): Add arg-nonnull.
41912         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41913         * modules/sys_stat (Depends-on): Add arg-nonnull.
41914         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41915         * modules/sys_time (Depends-on): Add arg-nonnull.
41916         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41917         * modules/sys_times (Depends-on): Add arg-nonnull.
41918         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41919         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41920         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41921         * modules/time (Depends-on): Add arg-nonnull.
41922         (Makefile.am): Insert arg-nonnull.h into time.h.
41923         * modules/unistd (Depends-on): Add arg-nonnull.
41924         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41925         * modules/wchar (Depends-on): Add arg-nonnull.
41926         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41927         * modules/argv-iter (Depends-on): Add arg-nonnull.
41928         * tests/test-canonicalize.c (null_ptr): New function.
41929         (main): Use it.
41930         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41931         (main): Use it.
41932         * tests/test-memmem.c (null_ptr): New function.
41933         (main): Use it.
41934         Reported by Jim Meyering.
41935
41936 2009-12-10  Bruno Haible  <bruno@clisp.org>
41937
41938         Use spaces for indentation, not tabs.
41939         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41940         * m4/*.m4: Untabify.
41941         * build-aux/*.h: Untabify.
41942         * tests/**/*.[hc]: Untabify.
41943         * README: New section "Indent with spaces, not TABs", based on
41944         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41945         * NEWS: Mention the change.
41946
41947 2009-12-10  Bruno Haible  <bruno@clisp.org>
41948
41949         pty test: Fix link error.
41950         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41951         test_pty_LDADD.
41952
41953 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41954
41955         * modules/pty: New file.
41956         * modules/pty-tests: New file.
41957         * m4/pty.m4: New file.
41958         * tests/test-pty.c: New file.
41959         * doc/glibc-headers/pty.texi: Modified.
41960         * doc/glibc-functions/forkpty.texi: Modified.
41961         * doc/glibc-functions/openpty.texi: Modified.
41962
41963 2009-12-10  Bruno Haible  <bruno@clisp.org>
41964
41965         Avoid syntax error in C++ mode.
41966         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41967
41968 2009-12-10  Bruno Haible  <bruno@clisp.org>
41969
41970         Use sed with option -e.
41971         * gnulib-tool (func_version, func_emit_copyright_notice,
41972         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41973         option -e to sed.
41974         * modules/link-warning (Makefile.am): Likewise.
41975
41976 2009-12-10  Jim Meyering  <meyering@redhat.com>
41977
41978         mgetgroups: do not write bytes beyond end of malloc'd buffer
41979         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41980         username, we call getgroups with a one-element-shorter buffer,
41981         but still told it the length was original, max_n_groups.
41982
41983 2009-12-09  Eric Blake  <ebb9@byu.net>
41984
41985         cloexec: relax license
41986         * modules/cloexec (Maintainer): Add myself.
41987         (License): Use LGPL, not GPL.
41988
41989         link-warning: optimize generation
41990         * modules/link-warning (Makefile.am): Reduce process usage.
41991
41992 2009-12-09  Bruno Haible  <bruno@clisp.org>
41993
41994         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41995         workaround was added on 2009-11-17.
41996
41997 2009-12-09  Jim Meyering  <meyering@redhat.com>
41998             Bruno Haible  <bruno@clisp.org>
41999
42000         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42001         * modules/link-warning (Makefile.am): Make the comment-removing sed
42002         command more robust in the face of bootstrap-prepended comment lines.
42003
42004 2009-12-09  Bruno Haible  <bruno@clisp.org>
42005
42006         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42007         most one group.
42008
42009 2009-12-09  Simon Josefsson <simon@josefsson.org>
42010             Bruno Haible  <bruno@clisp.org>
42011
42012         * build-aux/link-warning.h: Add copyright notice.
42013         * modules/link-warning (Makefile.am): Generate link-warning.h from
42014         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42015         * NEWS: Mention change in link-warning module.
42016         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42017         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42018         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42019         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42020         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42021         * modules/math (Makefile.am): Add dependency to math.h.
42022         * modules/search (Makefile.am): Add dependency to search.h.
42023         * modules/signal (Makefile.am): Add dependency to signal.h.
42024         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42025         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42026         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42027         * modules/string (Makefile.am): Add dependency to string.h.
42028         * modules/strings (Makefile.am): Add dependency to strings.h.
42029         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42030         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42031         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42032         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42033         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42034         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42035         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42036         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42037         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42038
42039 2009-12-09  Bruno Haible  <bruno@clisp.org>
42040
42041         fchdir: Optimize away rpl_fstat when possible.
42042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42043         REPLACE_OPEN_DIRECTORY.
42044         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42045
42046 2009-12-09  Bruno Haible  <bruno@clisp.org>
42047
42048         * lib/fchdir.c: Update comment.
42049
42050 2009-12-09  Bruno Haible  <bruno@clisp.org>
42051
42052         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42053
42054 2009-12-08  Eric Blake  <ebb9@byu.net>
42055
42056         fchdir: avoid memory leak on re-registration.
42057         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42058
42059 2009-12-08  Jim Meyering  <meyering@redhat.com>
42060
42061         init.sh: avoid Solaris 10 /bin/sh portability problem
42062         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42063         sourced script:
42064           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42065           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42066           bar
42067         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42068         and two tests used that idiom.
42069         * tests/init.sh: Update suggested usage comments.
42070         (path_prepend_): New function, to be used in place
42071         of the --src-path=DIR option.
42072         (setup_): Move PATH-prepending code into path_prepend_.
42073         * tests/test-pread.sh: Adapt to new usage.
42074         * tests/test-xalloc-die.sh: Likewise.
42075
42076 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42077
42078         * doc/gnulib.texi (Glibc pty.h): Add.
42079         * doc/glibc-functions/forkpty.texi: Add.
42080         * doc/glibc-functions/openpty.texi: Add.
42081         Suggested by Bruno Haible.
42082
42083 2009-12-08  Eric Blake  <ebb9@byu.net>
42084
42085         fchdir: fix logic bugs
42086         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42087         * tests/test-fchdir.c (main): Enhance test.
42088         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42089         is in use.
42090
42091         dup2: fix logic bugs
42092         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42093         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42094         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42095         exists.
42096         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42097
42098 2009-12-07  Eric Blake  <ebb9@byu.net>
42099
42100         unlink: fix m4 detection
42101         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42102
42103         unistd-safer: add unit test
42104         * modules/unistd-safer-tests: New file.
42105         * tests/test-dup-safer.c: Likewise.
42106         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42107         * tests/test-dup2.c (setmode): Likewise.
42108         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42109
42110         cloexec: preserve text vs. binary across dup_cloexec
42111         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42112         mode.
42113         * modules/dup2-tests (Depends-on): Add binary-io.
42114         * modules/cloexec-tests (Depends-on): Likewise.
42115         * tests/test-dup2.c (setmode, is_mode): New helpers.
42116         (main): Add tests that translation mode is preserved.
42117         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42118         Reported by Bruno Haible.
42119
42120         mgetgroups: reduce duplicate listings
42121         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42122         resulting array.
42123         * tests/test-chown.h (test_chown): Simplify client.
42124         * tests/test-lchown.h (test_lchown): Likewise.
42125
42126 2009-12-06  Bruno Haible  <bruno@clisp.org>
42127
42128         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42129         value.
42130
42131 2009-12-06  Bruno Haible  <bruno@clisp.org>
42132
42133         * lib/progname.c: Include stdio.h, stdlib.h.
42134         (set_program_name): Reject a NULL argument.
42135
42136 2009-12-05  Eric Blake  <ebb9@byu.net>
42137
42138         pipe2-safer: new module
42139         * modules/pipe2-safer: New file.
42140         * lib/unistd-safer.h (pipe2_safer): New prototype.
42141         * lib/unistd--.h (pipe2): New wrapper.
42142         * lib/pipe-safer.c (pipe2_safer): New function.
42143         * modules/pipe (Depends-on): Add pipe2-safer.
42144         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42145
42146         stdlib-safer: preserve cloexec flag for mkostemp[s]
42147         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42148         fd_safer_flag.
42149
42150         unistd-safer: allow preservation of cloexec status via flag
42151         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42152         prototypes.
42153         * lib/dup-safer.c (dup_safer_flag): New function.
42154         * lib/fd-safer.c (fd_safer_flag): Likewise.
42155         * modules/cloexec (configure.ac): Set witness.
42156
42157         test-dup2: enhance test
42158         * modules/dup2-tests (Depends-on): Add cloexec.
42159         * tests/test-dup2.c (main): Enhance test.
42160
42161         cloexec: add dup_cloexec
42162         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42163         header and comments.
42164         * lib/cloexec.c (set_cloexec_flag): Add comments.
42165         (dup_cloexec): New function, with mingw implementation borrowed
42166         from...
42167         * lib/w32spawn.h (dup_noinherit): ...here.
42168         * modules/execute (Depends-on): Add cloexec.
42169         * modules/pipe (Depends-on): Likewise.
42170         * modules/cloexec (Depends-on): Add dup2.
42171         * modules/cloexec-tests (Files): New file.
42172         * tests/test-cloexec.c: Likewise.
42173
42174         test-xalloc-die: fix test for mingw
42175         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42176         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42177         directory and .exe suffix off argv[0] output.
42178
42179         test-fseeko: fix test for mingw
42180         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42181         than undefining fseek, so test will pass on mingw.
42182
42183 2009-12-05  Bruno Haible  <bruno@clisp.org>
42184
42185         * lib/progname.h (set_program_name): Clarify specification.
42186         * lib/progname.c (set_program_name): Likewise.
42187         Reported by Jim Meyering.
42188
42189 2009-12-05  Jim Meyering  <meyering@redhat.com>
42190
42191         maint.mk: backslash-escape parens in default regexp
42192         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42193         backslash-escape the literal parentheses.
42194
42195         maint.mk: news-date-check: use grep -E
42196         * top/maint.mk (today): Define a Make variable, not a...
42197         (news-date-check): ...shell variable.
42198         (news-date-regexp): Use the Make variable.
42199         Use grep's -E option.  Change the failing diagnostic to mention
42200         the variable, $(news-date-regexp).
42201
42202 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42203
42204         maintainer-makefile: allow customization of NEWS entry format
42205         * top/maint.mk (news-date-regexp): New overridable variable.
42206         (news-date-check): Use it.
42207
42208 2009-12-04  Eric Blake  <ebb9@byu.net>
42209
42210         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42211         * lib/mgetgroups.h (xgetgroups): New prototype.
42212         * lib/mgetgroups.c (xgetgroups): New wrapper.
42213         (mgetgroups): Handle ENOSYS.
42214         * modules/mgetgroups (Depends-on): Add realloc.
42215         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42216
42217         mgetgroups: avoid argument promotion issues with -1
42218         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42219         for invalid gid_t.
42220         * tests/test-chown.h (getegid, test_chown): Likewise.
42221         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42222
42223 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42224
42225         exclude: Fix header file problems.
42226         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42227
42228 2009-12-01  Jim Meyering  <meyering@redhat.com>
42229
42230         fts: fts_open: do not let an empty string cause immediate failure
42231         This is required in support of GNU rm, for which the command
42232         "rm A '' B" must process and remove both A and B, in spite of
42233         the empty string argument.
42234         * lib/fts.c (fts_open): Do not let the presence of an empty string
42235         cause fts_open to fail immediately.  Most fts-using tools must be
42236         able to process all arguments, in order, and can be expected to
42237         diagnose such arguments themselves.
42238
42239 2009-11-30  Eric Blake  <ebb9@byu.net>
42240
42241         utimens: fix compilation error
42242         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42243         Declare variable at right scope.
42244
42245 2009-11-29  Jim Meyering  <meyering@redhat.com>
42246
42247         bootstrap: handle perl-5.11's changed --version output
42248         * build-aux/bootstrap (get_version): Handle perl separately,
42249         since perl-5.11's --version output is different.
42250
42251 2009-11-28  Jim Meyering  <meyering@redhat.com>
42252
42253         userspec: depend on the inttostr module, too
42254         * modules/userspec (Depends-on): Add inttostr.
42255
42256         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42257         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42258         number of MAXUID when it evaluates to (uid_t) -1.
42259         Likewise for group ID.  Reported by Matt McCutchen in
42260         <http://savannah.gnu.org/bugs/?28113>
42261
42262         userspec: reformat to use spaces, not TABs
42263         * lib/userspec.c: Expand TABs to spaces.
42264         Add Emacs' "indent-tabs-mode: nil" hint.
42265
42266 2009-11-27  Eric Blake  <ebb9@byu.net>
42267
42268         getopt-gnu: flush out another BSD bug
42269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42270         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42271         flush out BSD bug.
42272         * tests/test-getopt.h (test_getopt): End lists with NULL.
42273         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42274         (test_getopt_long_posix): Enhance test.
42275         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42276         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42277         getopt-gnu.
42278         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42279         Likewise.
42280
42281 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42282
42283         * modules/idpriv-droptemp-tests (Notice): Fix text.
42284
42285 2009-11-27  Jim Meyering  <meyering@redhat.com>
42286
42287         test-xalloc-die: avoid spurious failure due to libtool argv difference
42288         In a libtool-enabled project, this test would fail due to a difference
42289         in the emitted program name, e.g.,
42290         -test-xalloc-die: memory exhausted
42291         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42292         Use program to avoid that.
42293         * modules/xalloc-die-tests (Depends-on): Add progname.
42294         * tests/test-xalloc-die.c: Include progname.h".
42295         (program_name): Remove decl.
42296         (main): Call set_program_name.
42297         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42298
42299 2009-11-26  Richard Jones  <rjones@redhat.com>
42300
42301         w32sock: leave win32 error in place.
42302         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42303
42304 2009-11-26  Eric Blake  <ebb9@byu.net>
42305
42306         init.sh: suggest to use skip_ and fail_ functions in comments
42307         * tests/init.sh: Add a sentence.
42308
42309 2009-11-25  Bruno Haible  <bruno@clisp.org>
42310
42311         init.sh: add documentation in comments
42312         * tests/init.sh: Add some developer and user documentation.
42313
42314 2009-11-26  Jim Meyering  <meyering@redhat.com>
42315
42316         init.sh: accommodate even those who specify bogus srcdir manually
42317         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42318         configure-time tests to be sanitized, so that there is no need to
42319         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42320         (with no double quotes) suffices.  However, since tests may be
42321         invoked manually, and since you may explicitly set srcdir to the
42322         name of a directory containing spaces, do quote its uses here.
42323         * tests/test-pread.sh: Likewise.
42324         Suggested by Bruno Haible.
42325
42326         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42327         * tests/test-pread.sh: Write no data into the pipe, because
42328         test-pread actually reads none.  This avoids a diagnostic,
42329         "bash: echo: write error: Broken pipe", that arises in the unusual
42330         event something is ignoring SIGPIPE, and might be interpreted
42331         as some sort of failure.  Reported by Bruno Haible.
42332
42333 2009-11-25  Jim Meyering  <meyering@redhat.com>
42334
42335         test-pread: cover failure with ESPIPE and EINVAL
42336         * tests/test-pread.c (main): Test for failure, too.
42337         * tests/test-pread.sh: Invoke with stdin on a pipe.
42338         Suggested by Eric Blake.
42339
42340         pread: improvement and fix
42341         * modules/pread (Depends-on): Depend on lseek, for portability to
42342         e.g., mingw.  Suggested by Eric Blake.
42343         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42344
42345         unistd.in.h: correct declaration of pread
42346         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42347         Reported by Richard W.M. Jones.
42348
42349         test-pread.sh: distribute the test script
42350         * modules/pread-tests (Files): Include test-pread.sh.
42351
42352         test-pread.sh: clean up
42353         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42354         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42355         That is unnecessary, since it's always ".".
42356         Suggestion from Eric Blake.
42357
42358         test-pread.sh: make executable
42359         * tests/test-pread.sh: Set executable bit.
42360         Reported by Eric Blake.
42361
42362         correct typo in test-pread.sh
42363         * tests/test-pread.sh: Add #! line.
42364
42365         test pread
42366         * tests/test-pread.c: New file.
42367         * tests/test-pread.sh: Likewise.
42368         * modules/pread-tests: Likewise.
42369
42370         pread: new module
42371         * modules/pread: New file.
42372         * lib/unistd.in.h (pread): Define/declare.
42373         * lib/pread.c (pread): New file.
42374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42375         * modules/unistd (Makefile.am): Substitute witnesses.
42376         * doc/posix-functions/pread.texi (pread): Update.
42377         * MODULES.html.sh: Add pread.
42378
42379 2009-11-25  Jim Meyering  <meyering@redhat.com>
42380
42381         tests/init.sh: new file to be used via most *.sh tests
42382         * tests/init.sh: New file.
42383
42384 2009-11-25  Eric Blake  <ebb9@byu.net>
42385
42386         utimens: work around older Linux failure with symlinks
42387         * lib/utimens.c (lutimensat_works_really): New variable.
42388         (fdutimens, lutimens): Use it to manage kernels that support
42389         nanosecond times on files, but not on symlinks.
42390         Reported by OndÅ™ej Vašík.
42391
42392         utimes: fix configure grammar
42393         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42394
42395 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42396
42397         regex: Fix fastmap for multibyte character ranges.
42398         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42399         characters when a multibyte character range is included.
42400
42401 2009-11-22  Andy Wingo  <wingo@pobox.com>
42402
42403         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42404         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42405
42406 2009-11-24  Bruno Haible  <bruno@clisp.org>
42407
42408         doc: Most *_l functions exist in MacOS X 10.5.
42409         * doc/posix-functions/duplocale.texi: Update platforms list.
42410         * doc/posix-functions/freelocale.texi: Likewise.
42411         * doc/posix-functions/newlocale.texi: Likewise.
42412         * doc/posix-functions/uselocale.texi: Likewise.
42413         * doc/posix-functions/isalnum_l.texi: Likewise.
42414         * doc/posix-functions/isalpha_l.texi: Likewise.
42415         * doc/posix-functions/isblank_l.texi: Likewise.
42416         * doc/posix-functions/iscntrl_l.texi: Likewise.
42417         * doc/posix-functions/isdigit_l.texi: Likewise.
42418         * doc/posix-functions/isgraph_l.texi: Likewise.
42419         * doc/posix-functions/islower_l.texi: Likewise.
42420         * doc/posix-functions/isprint_l.texi: Likewise.
42421         * doc/posix-functions/ispunct_l.texi: Likewise.
42422         * doc/posix-functions/isspace_l.texi: Likewise.
42423         * doc/posix-functions/isupper_l.texi: Likewise.
42424         * doc/posix-functions/iswalnum_l.texi: Likewise.
42425         * doc/posix-functions/iswalpha_l.texi: Likewise.
42426         * doc/posix-functions/iswblank_l.texi: Likewise.
42427         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42428         * doc/posix-functions/iswctype_l.texi: Likewise.
42429         * doc/posix-functions/iswdigit_l.texi: Likewise.
42430         * doc/posix-functions/iswgraph_l.texi: Likewise.
42431         * doc/posix-functions/iswlower_l.texi: Likewise.
42432         * doc/posix-functions/iswprint_l.texi: Likewise.
42433         * doc/posix-functions/iswpunct_l.texi: Likewise.
42434         * doc/posix-functions/iswspace_l.texi: Likewise.
42435         * doc/posix-functions/iswupper_l.texi: Likewise.
42436         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42437         * doc/posix-functions/isxdigit_l.texi: Likewise.
42438         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42439         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42440         * doc/posix-functions/strcoll_l.texi: Likewise.
42441         * doc/posix-functions/strfmon_l.texi: Likewise.
42442         * doc/posix-functions/strftime_l.texi: Likewise.
42443         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42444         * doc/posix-functions/strxfrm_l.texi: Likewise.
42445         * doc/posix-functions/tolower_l.texi: Likewise.
42446         * doc/posix-functions/toupper_l.texi: Likewise.
42447         * doc/posix-functions/towctrans_l.texi: Likewise.
42448         * doc/posix-functions/towlower_l.texi: Likewise.
42449         * doc/posix-functions/towupper_l.texi: Likewise.
42450         * doc/posix-functions/wcscoll_l.texi: Likewise.
42451         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42452         * doc/posix-functions/wctrans_l.texi: Likewise.
42453         * doc/posix-functions/wctype_l.texi: Likewise.
42454         * doc/glibc-functions/strptime_l.texi: Likewise.
42455         * doc/glibc-functions/strtod_l.texi: Likewise.
42456         * doc/glibc-functions/strtof_l.texi: Likewise.
42457         * doc/glibc-functions/strtol_l.texi: Likewise.
42458         * doc/glibc-functions/strtold_l.texi: Likewise.
42459         * doc/glibc-functions/strtoll_l.texi: Likewise.
42460         * doc/glibc-functions/strtoul_l.texi: Likewise.
42461         * doc/glibc-functions/strtoull_l.texi: Likewise.
42462         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42463         * doc/glibc-functions/wcstod_l.texi: Likewise.
42464         * doc/glibc-functions/wcstof_l.texi: Likewise.
42465         * doc/glibc-functions/wcstol_l.texi: Likewise.
42466         * doc/glibc-functions/wcstold_l.texi: Likewise.
42467         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42468         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42469         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42470
42471 2009-11-24  Bruno Haible  <bruno@clisp.org>
42472
42473         duplocale: Fix logic bug.
42474         * lib/duplocale.c: Don't include <langinfo.h>.
42475         (_NL_LOCALE_NAME): Remove macro.
42476         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42477         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42478
42479 2009-11-23  Jim Meyering  <meyering@redhat.com>
42480
42481         test-update-copyright: don't hard-code /usr/bin/perl
42482         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42483         perl to print the current year.  Gilles Espinasse reported that
42484         the replaced use of perl was hard-coded as /usr/bin/perl.
42485
42486 2009-11-23  Bruno Haible  <bruno@clisp.org>
42487
42488         duplocale: Add support for glibc 2.3.x.
42489         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42490
42491 2009-11-22  Bruno Haible  <bruno@clisp.org>
42492
42493         vasnprintf: Tiny optimization.
42494         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42495         MacOS X.
42496
42497 2009-11-22  Bruno Haible  <bruno@clisp.org>
42498
42499         Tests for module 'duplocale'.
42500         * modules/duplocale-tests: New file.
42501         * tests/test-duplocale.c: New file.
42502
42503         New module 'duplocale'.
42504         * m4/duplocale.m4: New file.
42505         * lib/locale.in.h (duplocale): New declaration.
42506         * lib/duplocale.c: New file.
42507         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42508         gl_LOCALE_H_DEFAULTS): New macros.
42509         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42510         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42511         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42512         REPLACE_DUPLOCALE.
42513         * modules/duplocale: New file.
42514         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42515
42516 2009-11-22  Bruno Haible  <bruno@clisp.org>
42517
42518         * modules/locale-tests (configure.ac): Test for newlocale function.
42519         * tests/test-locale.c: When the system has extended locale functions,
42520         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42521
42522         locale: Make locale_t available when possible.
42523         * lib/locale.in.h: Include <xlocale.h> when it exists.
42524         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42525         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42526         * modules/locale (Depends-on): Add extensions.
42527         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42528         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42529
42530 2009-11-22  Bruno Haible  <bruno@clisp.org>
42531
42532         Add comments.
42533         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42534         invocation.
42535         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42536         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42537         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42538
42539 2009-11-22  Bruno Haible  <bruno@clisp.org>
42540
42541         error: account for the possibility of freopen (stdout).
42542         * lib/error.c: Include <unistd.h>.
42543         (flush_stdout): New function, extracted from error and error_at_line.
42544         Determine stdout's fd dynamically.
42545         (error, error_at_line): Invoke flush_stdout.
42546         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42547         * modules/error (Depends-on): Add unistd.
42548
42549 2009-11-22  Bruno Haible  <bruno@clisp.org>
42550
42551         diffseq: Add comment.
42552         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42553
42554 2009-11-22  Jim Meyering  <meyering@redhat.com>
42555
42556         c-stack: avoid defining an unused static function
42557         * lib/c-stack.c (find_stack_direction): Do not define this function
42558         when it will not be used.
42559
42560         diffseq: avoid spurious gcc warnings
42561         * lib/diffseq.h (IF_LINT2): Define.
42562         (compareseq): Use it to initialize two members of "part".
42563         This avoids two used-uninitialized warnings.
42564
42565 2009-11-21  Jim Meyering  <meyering@redhat.com>
42566
42567         c-stack: avoid "ignoring return value of `write'" warning
42568         * lib/c-stack.c: Include "ignore-value.h".
42569         (die): Explicitly ignore each write return value.
42570         * modules/c-stack (Depends-on): Add ignore-value.
42571
42572 2009-11-21  Bruno Haible  <bruno@clisp.org>
42573
42574         diffseq: reduce scope of variable 'best'.
42575         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42576         variable, earlier used for two different purposes.
42577
42578 2009-11-21  Jim Meyering  <meyering@redhat.com>
42579
42580         diffseq: remove useless assignment to "best"
42581         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42582         assignment.  At that point "best" is already guaranteed to be zero.
42583
42584 2009-11-20  Eric Blake  <ebb9@byu.net>
42585
42586         build: mention ftp redirector in release announcements
42587         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42588         values that used to come from cfg.mk; mention FTP redirect URL.
42589         * build-aux/announce-gen: Mention the mirror list.
42590         Suggested by Karl Berry.
42591
42592         nanosleep: improve port to mingw
42593         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42594         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42595         LIB_NANOSLEEP, but only when needed.
42596         * modules/select (Link): Document LIBSOCKET.
42597         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42598         enough.
42599
42600         nanosleep: work around cygwin bug
42601         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42602         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42603         bug.
42604         (getnow): Delete, not needed.
42605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42606         LIB_CLOCK_GETTIME.
42607         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42608         clock-time, gettime.
42609         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42610         bug.
42611         * modules/nanosleep-tests: New test.
42612         * tests/test-nanosleep.c: New file.
42613
42614         sleep: work around cygwin bug
42615         * lib/sleep.c (rpl_sleep): Work around the bug.
42616         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42617         (gl_PREREQ_SLEEP): Delete unused macro.
42618         * modules/sleep (Depends-on): Add verify.
42619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42620         * modules/unistd (Makefile.am): Substitute witness.
42621         * lib/unistd.in.h (sleep): Update prototype.
42622         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42623         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42624         * modules/sleep-tests (Depends-on): Check for alarm.
42625
42626 2009-11-20  Jim Meyering  <meyering@redhat.com>
42627
42628         maint.mk: improve sc_prohibit_magic_number_exit
42629         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42630         so it does not match uses like System.exit(1).
42631         Add comments showing how to correct all offenders.
42632
42633 2009-11-19  Eric Blake  <ebb9@byu.net>
42634
42635         xalloc-die-tests: add missing library
42636         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42637
42638         test-xvasprintf: silence compiler warnings
42639         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42640         empty string from gcc.
42641
42642 2009-11-19  Jim Meyering  <meyering@redhat.com>
42643
42644         xfreopen: new module, from coreutils
42645         * modules/xfreopen: New module.
42646         * lib/xfreopen.c: New file.
42647         * lib/xfreopen.h: New file.
42648         * MODULES.html.sh (File stream based Input/Output"): Add it.
42649
42650 2009-11-19  Eric Blake  <ebb9@byu.net>
42651
42652         manywarnings: depend on warnings
42653         * modules/manywarnings (Depends-on): Add warnings.
42654
42655         build: avoid compiler warnings
42656         * lib/select.c (rpl_select): Delete unused variable.
42657         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42658
42659 2009-11-18  Eric Blake  <ebb9@byu.net>
42660
42661         tests: avoid false negative with --with-packager
42662         * tests/test-version-etc.sh: Discard packager information.
42663         * tests/test-argp-version-etc-1.sh: Likewise.
42664         Reported by Mike Frysinger.
42665
42666         utimens: fix regression on Solaris
42667         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42668         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42669         can only change fd timestamps via futimesat.  Instead, use an
42670         additional witness macro to avoid BSD bug.
42671         Reported by Jim Meyering.
42672
42673 2009-11-17  Eric Blake  <ebb9@byu.net>
42674
42675         usleep: use it to simplify tests
42676         * modules/stat-time-tests (Depends-on): Add usleep.
42677         (configure.ac): Drop usleep check.
42678         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42679         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42680         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42681         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42682         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42683         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42684         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42685         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42686         Likewise.
42687         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42688         * tests/test-lchown.h (nap): Likewise.
42689         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42690         * tests/test-stat-time.c (nap): Likewise.
42691         * tests/test-utimens-common.h (nap): Update comments.
42692
42693         usleep: new module
42694         * modules/usleep: New file.
42695         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42696         * lib/usleep.c (usleep): Likewise.
42697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42698         * modules/unistd (Makefile.am): Substitute witnesses.
42699         * lib/unistd.in.h (usleep): Add declaration.
42700         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42701         * MODULES.html.sh (Date and time): Likewise.
42702         * modules/usleep-tests (Depends-on): New test.
42703         * tests/test-usleep.c: New file.
42704
42705         chown: work around OpenBSD bug
42706         * lib/chown.c (rpl_chown): Work around the bug.
42707         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42708         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42709         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42710         * modules/chown (Depends-on): Add stdbool.
42711         * modules/lchown (Depends-on): Likewise.
42712         * doc/posix-functions/chown.texi (chown): Document the bug.
42713         * doc/posix-functions/lchown.texi (lchown): Likewise.
42714         * tests/test-lchown.h (test_chown): Relax test.
42715
42716         mkstemp: avoid conflict with C++ keyword template
42717         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42718         * lib/mkostemp.c (mkostemp): Likewise.
42719         * lib/mkostemps.c (mkostemps): Likewise.
42720         * lib/mkstemp.c (mkstemp): Likewise.
42721         * lib/mkstemps.c (mkstemps): Likewise.
42722
42723         xalloc-die-tests: optimize
42724         * tests/test-xalloc-die.sh: Reduce number of processes.
42725
42726 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42727
42728         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42729         patch from ludo@gnu.org (Ludovic Courtès).
42730
42731 2009-11-17  Jim Meyering  <meyering@redhat.com>
42732
42733         version-etc: use proper license string
42734         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42735         * modules/version-etc-fsf: Likewise.
42736
42737 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42738
42739         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42740         printed to stdout.  Deal with EOL differences.
42741
42742 2009-11-17  Eric Blake  <ebb9@byu.net>
42743
42744         unsetenv: work around Solaris bug
42745         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42746         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42747         Reported by Jim Meyering.
42748
42749         vasnprintf: avoid compiler warnings
42750         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42751         variables.
42752         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42753
42754 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42755
42756         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42757         settings since xalloc-die is no longer the self test,
42758         xalloc-die.sh is.
42759
42760 2009-11-17  Jim Meyering  <meyering@redhat.com>
42761
42762         test-xalloc-die.sh: make the code agree with the commit log
42763         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42764         at the end, just in case you happen to have a test-xalloc-die
42765         program in some other PATH directory.
42766
42767         test-xalloc-die.sh: fix a portability bug
42768         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42769         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42770         Otherwise, argv[0] (as often seen in diagnostics) would be too
42771         system-dependent, sometimes with, and sometimes without the leading "./".
42772
42773         version-etc-fsf: relax license to LGPLv3+
42774         * modules/version-etc-fsf (License): Relax license.
42775
42776 2009-11-16  Eric Blake  <ebb9@byu.net>
42777
42778         xalloc-die-tests: avoid printing null pointer
42779         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42780         shell script.
42781         * tests/test-xalloc-die.c (program_name): Declare.
42782         * tests/test-xalloc-die.sh (tmpfiles): New file.
42783
42784         setenv, unsetenv: work around various bugs
42785         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42786         (setenv) [HAVE_SETENV]: Work around bugs.
42787         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42788         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42789         for bugs.
42790         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42791         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42793         * modules/stdlib (Makefile.am): Update substitutions.
42794         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42795         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42796         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42797         * modules/setenv-tests: New test.
42798         * modules/unsetenv-tests: Likewise.
42799         * tests/test-setenv.c: New file.
42800         * tests/test-unsetenv.c: Likewise.
42801
42802 2009-11-16  Jim Meyering  <meyering@redhat.com>
42803
42804         version-etc: relax license to LGPLv3+
42805         * modules/version-etc (License): Relax license.
42806
42807         better AC_REQUIRE expanded-before-required-warning avoidance
42808         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42809         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42810         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42811         which is no longer needed.
42812
42813 2009-11-16  Eric Blake  <ebb9@byu.net>
42814
42815         test-freading: clean up temporary file
42816         * tests/test-freading.c (main): Remove file on success, and use
42817         ASSERT more liberally.
42818         Reported by Jim Meyering.
42819
42820 2009-11-16  Jim Meyering  <meyering@redhat.com>
42821
42822         avoid new AC_REQUIRE expanded-before-required warnings
42823         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42824         merely using it.
42825         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42826         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42827
42828 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42829
42830         * tests/test-xalloc-die.c: New file.
42831         * modules/xalloc-die-tests: New file.
42832         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42833         XFAIL_TESTS so it can be appended by modules.
42834
42835 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42836
42837         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42838         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42839
42840 2009-11-14  Eric Blake  <ebb9@byu.net>
42841
42842         fnmatch: avoid compiler warning
42843         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42844         to silence compiler warning about mismatch signedness in ?:.
42845         Reported by Robert Millan.
42846
42847         intprops: add double-inclusion guard
42848         * lib/intprops.h: Allow idempotent includes.
42849         Suggested by Bruce Korb.
42850
42851         openat: detect Solaris fchownat bug
42852         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42853         penalizing glibc chownat when only lchownat is broken.
42854         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42855         trailing slash bugs.
42856         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42857         * modules/openat-tests (Files): Include more files.
42858         (Depends-on): Add mgetgroups, sleep, stat-time.
42859         (configure.ac): Add additional checks.
42860         (Makefile.am): Build new test.
42861         * tests/test-fchownat.c: New file.
42862
42863         lchown: detect Solaris and FreeBSD bug
42864         * lib/lchown.c (rpl_lchown): Work around bug.
42865         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42867         * modules/unistd (Makefile.am): Populate it.
42868         * lib/unistd.in.h (lchown): Update declaration.
42869         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42870         * modules/lchown-tests: New file.
42871         * tests/test-lchown.h (test_lchown): Likewise.
42872         * tests/test-lchown.c (main): Likewise.
42873
42874         chown: detect Solaris and FreeBSD bug
42875         * lib/chown.c (rpl_chown): Work around bug.
42876         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42877         (gl_PREREQ_CHOWN): Delete.
42878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42879         * modules/unistd (Makefile.am): Populate it.
42880         * lib/unistd.in.h (chown): Update declaration.
42881         * lib/lchown.c (chown): Update client.
42882         * modules/lchown (Depends-on): Add lstat.
42883         * doc/posix-functions/chown.texi (chown): Document the bug.
42884         * doc/posix-functions/getgroups.texi (getgroups): Document
42885         getgroups pitfall.
42886         * modules/chown-tests: New file.
42887         * tests/test-chown.h (test_chown): Likewise.
42888         * tests/test-chown.c (main): Likewise.
42889
42890 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42891
42892         gnulib-tool: correctly detect absence of m4 directories
42893         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42894
42895 2009-11-14  Jim Meyering  <meyering@redhat.com>
42896
42897         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42898         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42899
42900 2009-11-14  John W. Eaton  <jwe@gnu.org>
42901
42902         strftime.h: wrap function declaration in extern "C" block
42903         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42904
42905 2009-11-13  Eric Blake  <ebb9@byu.net>
42906
42907         getgroups: avoid compiler warning
42908         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42909
42910         getgroups: work around FreeBSD bug
42911         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42912         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42913         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42914         * tests/test-getgroups.c (main): Fix buffer overrun.
42915
42916         getgroups: avoid compilation failure
42917         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42918         * modules/getgroups (Depends-on): Add stdint.
42919
42920 2009-11-13  Jim Meyering  <meyering@redhat.com>
42921
42922         test-getgroups: avoid compilation failure
42923         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42924
42925 2009-11-13  Eric Blake  <ebb9@byu.net>
42926
42927         mgetgroups: new module, taken from coreutils
42928         * modules/mgetgroups: New file.
42929         * lib/mgetgroups.h: Likewise.
42930         * lib/mgetgroups.c (mgetgroups): Likewise.
42931         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42932         * MODULES.html.sh (Users and groups): Mention it.
42933
42934         getgroups: don't expose GETGROUPS_T to user
42935         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42936         an element at a time if GETGROUPS_T is wrong size.
42937         * lib/getugroups.h (getugroups): Change signature.
42938         * lib/unistd.in.h (getgroups): Likewise.
42939         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42940         signature needs fixing.
42941         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42942         AC_TYPE_GETGROUPS.
42943         * modules/group-member (Depends-on): Add getgroups.
42944         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42945         (group_member): Rely on getgroups replacement.
42946         * lib/getugroups.c (getugroups): Use gid_t.
42947         * tests/test-getgroups.c (main): Likewise.
42948         * NEWS: Mention the signature change.
42949         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42950         problem with signature.
42951         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42952         GETGROUPS_T is still useful for setgroups.
42953
42954         getgroups, getugroups: provide stubs for mingw
42955         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42956         * lib/getugroups.c (getugroups): Likewise.
42957         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42958         function.  Modernize replacement scheme.
42959         (gl_PREREQ_GETGROUPS): Delete.
42960         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42961         * modules/getgroups (configure.ac): Declare witness.
42962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42963         * modules/unistd (Depends-on): Substitute witness.
42964         * lib/unistd.in.h (getgroups): Declare replacement.
42965
42966         getgroups: avoid calling exit
42967         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42968         drop xalloc.
42969         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42970         dependencies.
42971         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42972         exiting, in the rare case of malloc failure.
42973
42974         getgroups: fix logic error
42975         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42976         has more than 20 groups.
42977         * modules/getgroups-tests: New test.
42978         * tests/test-getgroups.c: New file.
42979
42980 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42981
42982         * tests/test-base64.c: Improve.
42983
42984 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42985
42986         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42987         Blake <ebb9@byu.net>.
42988
42989 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42990
42991         * tests/test-xvasprintf.c: Add %s%s related checks.
42992
42993 2009-11-12  Eric Blake  <ebb9@byu.net>
42994
42995         version-etc: match standards.texi style
42996         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42997         and use <> only for URLs.
42998
42999 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43000
43001         fts: do not fail on a submount during traversal
43002         * lib/fts.c (fts_build): Read the stat info again after opening
43003         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43004         Original report at http://bugzilla.redhat.com/501848.
43005
43006 2009-11-12  Jim Meyering  <meyering@redhat.com>
43007
43008         bootstrap: sync from coreutils
43009         * build-aux/bootstrap (bootstrap_epilogue): New function.
43010         Use git_modules_config in one more place.  This make bootstrap's
43011         --gnulib-srcdir option more useful for testing.
43012
43013         bootstrap: generalize autoheader check
43014         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43015         AC_CONFIG_HEADERS.
43016
43017 2009-11-11  Eric Blake  <ebb9@byu.net>
43018
43019         mkfifoat: use new modules for Solaris and BSD bugs
43020         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43021         * lib/mkfifoat.c (mknodat): Split...
43022         * lib/mknodat.c (mknodat): ...into new file.
43023         * modules/mkfifoat (Files): Ship new file.
43024         (Depends-on): Add mkfifo, mknod.
43025         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43026         (Depends-on): Add symlink.
43027         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43028         redundant with test_mkfifo.h.
43029         (do_mkfifoat, do_mknodat): New helpers.
43030
43031         mknod: new module
43032         * modules/mknod: New file.
43033         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43034         * lib/mknod.c (mknod): Likewise.
43035         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43036         defaults.
43037         * modules/sys_stat (Makefile.am): Substitute them.
43038         * lib/sys_stat.in.h (mknod): Declare replacement.
43039         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43040         Document it.
43041         * doc/posix-functions/mknod.texi (mknod): Likewise.
43042         * modules/mknod-tests: New test.
43043         * tests/test-mknod.c: Likewise.
43044
43045         mkfifo: new module
43046         * modules/mkfifo: New file.
43047         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43048         * lib/mkfifo.c (mkfifo): Likewise.
43049         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43050         defaults.
43051         * modules/sys_stat (Makefile.am): Substitute them.
43052         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43053         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43054         Document it.
43055         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43056         * modules/mkfifo-tests: New test.
43057         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43058         from test-mkfifoat.c.
43059         * tests/test-mkfifo.c: New file.
43060
43061         readlink: detect FreeBSD bug
43062         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43063         slash on symlink.
43064         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43065         * tests/test-readlink.h (test_readlink): Enhance test.
43066
43067         symlink: detect FreeBSD bug
43068         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43069         slash on symlink.
43070         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43071         * tests/test-symlink.h (test_symlink): Enhance test.
43072
43073 2009-11-10  Eric Blake  <ebb9@byu.net>
43074
43075         link: detect FreeBSD bug
43076         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43077         symlink.
43078         * doc/posix-functions/link.texi (link): Document the bug.
43079         * tests/test-link.h (test_link): Enhance test.
43080         * tests/test-linkat.c (main): Update caller.
43081
43082         unlink, remove: detect FreeBSD bug
43083         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43084         slash on symlink.
43085         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43086         * doc/posix-functions/remove.texi (remove): Likewise.
43087         * tests/test-unlink.h (test_unlink): Enhance test.
43088         * tests/test-remove.c (main): Likewise.
43089
43090 2009-11-09  Eric Blake  <ebb9@byu.net>
43091
43092         rename: detect FreeBSD bug
43093         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43094         slash on symlink.
43095         * modules/renameat-tests (Depends-on): Add filenamecat.
43096         * tests/test-rename.h (test_rename): Allow one more errno.
43097         * tests/test-renameat.c (main): Likewise.
43098         * doc/posix-functions/rename.texi (rename): Document the bug.
43099
43100         open: detect FreeBSD bug
43101         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43102         symlink.
43103         * doc/posix-functions/open.texi (open): Document the bug.
43104         * doc/posix-functions/utimes.texi (utimes): Likewise.
43105         * tests/test-open.h (test_open): Add parameters, and test symlink
43106         handling.
43107         * tests/test-open.c (main): Adjust caller.
43108         * tests/test-fcntl-safer.c (main): Likewise.
43109         * modules/open-tests (Depends-on): Add stdbool, symlink.
43110         * modules/fcntl-safer-tests (Depends-on): Likewise.
43111         * tests/test-openat.c (main): Add test-open tests.
43112
43113         stat: detect FreeBSD bug
43114         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43115         symlink.
43116         * doc/posix-functions/stat.texi (stat): Document the bug.
43117         * tests/test-stat.h (test_stat_func): Add argument.
43118         * tests/test-stat.c (main): Adjust caller.
43119         * tests/test-fstatat.c (main): Likewise.
43120         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43121         Reported by Jim Meyering.
43122
43123 2009-11-09  James Youngman  <jay@gnu.org>
43124
43125         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43126         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43127
43128 2009-11-08  Jim Meyering  <meyering@redhat.com>
43129
43130         utimens: remove invalid futimesat call
43131         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43132         It used the file descriptor of the target file as the DIR_FD
43133         parameter and NULL as the file name.  That caused failure with
43134         errno == EFAULT on FreeBSD-8.0-rc2
43135
43136 2009-11-07  Eric Blake  <ebb9@byu.net>
43137
43138         fflush, freadseek: use fseeko, not fseek
43139         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43140         (clear_ungetc_buffer): Avoid potential problems on large files.
43141         * lib/freadseek.c (freadseek): Likewise.
43142         * modules/freadseek (Depends-on): Add fseeko.
43143         * modules/fseek (configure.ac): Set a witness.
43144         * tests/test-fflush.c (main): Use fseeko.
43145         * tests/test-fpurge.c (fseek): Disable link warning.
43146         * tests/test-freadable.c (fseek): Likewise.
43147         * tests/test-freading.c (fseek): Likewise.
43148         * tests/test-fseeko.c (fseek): Likewise.
43149         * tests/test-ftell.c (fseek): Likewise.
43150         * tests/test-ftello.c (fseek): Likewise.
43151         * tests/test-fwritable.c (fseek): Likewise.
43152         * tests/test-fwriting.c (fseek): Likewise.
43153
43154 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43155
43156         * modules/memchr (Depends-on): Drop getpagesize dependency.
43157
43158 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43159
43160         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43161         Reported by Ludovic Courtès.
43162         * build-aux/pmccabe2html: Improve example usage.
43163         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43164
43165 2009-11-06  Jim Meyering  <meyering@redhat.com>
43166
43167         do-release-commit-and-tag: New module.
43168         Automate the release-commit and tag process.
43169         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43170         * modules/do-release-commit-and-tag: New file.
43171         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43172
43173 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43174
43175         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43176         because test-select.c uses inet_pton.
43177
43178 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43179
43180         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43181         GETADDRINFO_LIB.  Bump serial number.
43182         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43183         Suggested by Eric Blake <ebb9@byu.net>.
43184
43185 2009-11-05  Eric Blake  <ebb9@byu.net>
43186
43187         strtod: detect darwin bug
43188         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43189         Reported by Leo Davis.
43190
43191         freopen-safer: new module
43192         * modules/freopen-safer: New module.
43193         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43194         * lib/freopen-safer.c (freopen_safer): New file.
43195         * lib/stdio-safer.h (freopen_safer): New declaration.
43196         * lib/stdio--.h (freopen): New override.
43197         * MODULES.html.sh (File stream based Input/Output): Mention it.
43198         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43199         freopen-safer module.
43200         * doc/posix-functions/stderr.texi (stderr): Likewise.
43201         * doc/posix-functions/stdin.texi (stdin): Likewise.
43202         * doc/posix-functions/stdout.texi (stdout): Likewise.
43203         * modules/freopen-safer-tests: New test.
43204         * tests/test-reopen-safer.c: New file.
43205
43206 2009-11-05  Jim Meyering  <meyering@redhat.com>
43207
43208         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43209         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43210
43211 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43212
43213         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43214
43215 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43216
43217         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43218
43219 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43220
43221         Fix link error.
43222         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43223         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43224
43225 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43226
43227         * tests/test-func.c: Also test value of __func__.
43228
43229 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43230
43231         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43232         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43233
43234 2009-11-05  Bruno Haible  <bruno@clisp.org>
43235
43236         Fix link error.
43237         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43238         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43239         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43240
43241 2009-11-05  Bruno Haible  <bruno@clisp.org>
43242
43243         Tests for module 'inet_pton'.
43244         * modules/inet_pton-tests: New file.
43245         * tests/test-inet_pton.c: New file.
43246
43247 2009-11-05  Bruno Haible  <bruno@clisp.org>
43248
43249         Tests for module 'inet_ntop'.
43250         * modules/inet_ntop-tests: New file.
43251         * tests/test-inet_ntop.c: New file.
43252
43253 2009-11-04  Eric Blake  <ebb9@byu.net>
43254
43255         stdlib-safer: wrap all mkstemp variants
43256         * modules/mkostemp (configure.ac): Set witness.
43257         * modules/mkostemps (configure.ac): Likewise.
43258         * modules/mkstemps (configure.ac): Likewise.
43259         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43260         (mkstemps_safer): Wrap more functions.
43261         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43262         wrapping.
43263         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43264         (mkstemps_safer): Implement the wrappers.
43265
43266         mkstemps, mkostemps: new modules
43267         * modules/mkostemps: New module.
43268         * modules/mkstemps: Likewise.
43269         * lib/mkostemps.c (mkostemps): New file.
43270         * lib/mkstemps.c (mkstemps): Likewise.
43271         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43272         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43274         * modules/stdlib (Makefile.am): Substitute them.
43275         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43276         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43277         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43278         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43279         * MODULES.html.sh (File system functions): Mention them.
43280
43281         tempname: resync from glibc
43282         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43283         same values for __GT_FILE as glibc.  Abort even when assertions
43284         are disabled.
43285         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43286         match its value otherwise.  Allow idempotent inclusion.
43287         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43288         * lib/mkostemp.c (mkostemp): Likewise.
43289         * lib/mkstemp.c (mkstemp): Likewise.
43290         * lib/tmpfile.c (tmpfile): Likewise.
43291         * NEWS: Document this.
43292
43293         utimens: fix use of futimens on older Linux
43294         * lib/utimens.c (fdutimens): Use updated, rather than original,
43295         timespec to avoid bug in older Linux kernel.
43296         Reported by Simon Josefsson.
43297
43298 2009-11-04  Bruno Haible  <bruno@clisp.org>
43299
43300         Make num_processors more flexible and consistent.
43301         * lib/nproc.h (enum nproc_query): New type.
43302         (num_processors): Add a 'query' argument.
43303         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43304         (num_processors): Add a 'query' argument. Test the value of the
43305         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43306         mingw, count the number of CPUs available for the current process.
43307         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43308         Check for sched_getaffinity and sched_getaffinity_np.
43309         * modules/nproc (Depends-on): Add c-ctype, extensions.
43310         * NEWS: Mention the change.
43311
43312 2009-11-03  Bruno Haible  <bruno@clisp.org>
43313
43314         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43315
43316 2009-11-03  Jim Meyering  <meyering@redhat.com>
43317
43318         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43319         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43320         if it is defined.
43321
43322 2009-11-02  Eric Blake  <ebb9@byu.net>
43323
43324         mktime, timegm: share common declaration
43325         * lib/mktime-internal.h: New file.
43326         * lib/mktime.c: Use it rather than open-coding a declaration.
43327         * lib/timegm.c: Likewise.
43328         * modules/mktime (Files): Ship it.
43329         * modules/timegm (Files): Likewise.
43330         Suggested by Bruno Haible.
43331
43332         test-update-copyright: update test to match script changes
43333         * tests/test-update-copyright.sh: Avoid hard-coding perl
43334         location.  Don't update *.bak created by earlier runs.
43335
43336 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43337             Simon Josefsson  <simon@josefsson.org>
43338             Bruno Haible  <bruno@clisp.org>
43339
43340         Fix link error on Solaris 8.
43341         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43342         also in libnsl. Define also INET_PTON_LIB.
43343         * modules/inet_pton (Link): New section.
43344
43345 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43346             Bruno Haible  <bruno@clisp.org>
43347
43348         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43349         * modules/inet_ntop (Link): New section.
43350         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43351
43352 2009-11-02  Eric Blake  <ebb9@byu.net>
43353
43354         maint: avoid compiler warnings in m4 macros
43355         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43356         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43357
43358 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43359
43360         * m4/pmccabe2html.m4: Remove file.
43361         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43362         function.  Change maintainer.
43363         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43364         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43365         Courtès).
43366
43367 2009-10-31  Eric Blake  <ebb9@byu.net>
43368
43369         fseeko: fix m4 regression
43370         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43371         regression from 2009-10-27.
43372         Reported by Ralf Wildenhues.
43373
43374 2009-10-31  Jim Meyering  <meyering@redhat.com>
43375
43376         inttostr: aesthetics and improved (compile-time) safety
43377         Define inttype_is_signed rather than inttype_is_unsigned,
43378         since the sole use is via "#if inttype_is_signed".
43379         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43380         inttype_is_unsigned.
43381         * lib/offtostr.c (inttype_is_signed): Likewise.
43382         * lib/uinttostr.c (inttype_is_signed): Likewise.
43383         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43384         * lib/inttostr.c (inttostr): Use verify to cross-check the
43385         inttype_is_signed value and the signedness of the actual type.
43386         * modules/inttostr (Depends-on): Add verify.
43387
43388 2009-10-30  Eric Blake  <ebb9@byu.net>
43389
43390         build: avoid compiler warnings
43391         * lib/fchmodat.c (lchmod): Mark unused variables.
43392         * lib/getopt.c (_getopt_initialize): Likewise.
43393         * lib/mktime.c (__mktime_internal): Provide prototype.
43394         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43395         older gcc that do not understand #pragma GCC diagnostic.
43396         * lib/uinttostr.c (inttype_is_unsigned): Define.
43397         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43398
43399 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43400
43401         stat: fix compilation on AIX
43402         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43403         only see struct stat64.
43404
43405 2009-10-30  Eric Blake  <ebb9@byu.net>
43406
43407         exclude: make more robust
43408         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43409         rather than masking a coding bug.
43410         Suggested by Bruno Haible.
43411
43412 2009-10-30  Jim Meyering  <meyering@redhat.com>
43413
43414         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43415         Rather than putting #!/usr/bin/perl on the first line,
43416         start with a variant of what's recommended by "man perlrun" that
43417         invokes the first "perl" program from your shell's search path.
43418         * build-aux/gitlog-to-changelog: Replace #!... as above.
43419         Add a "Local Variables" perl mode setting.
43420         Prompted by a patch from Ludovic Courtès.
43421         Improved by Eric Blake.
43422         * build-aux/useless-if-before-free: Likewise.
43423         * build-aux/announce-gen: Likewise.
43424         * build-aux/update-copyright: Likewise.
43425
43426 2009-10-29  Eric Blake  <ebb9@byu.net>
43427
43428         filenamecat-lgpl: adjust clients
43429         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43430         filenamecat.
43431         * modules/renameat (Depends-on): Likewise.
43432
43433         filenamecat: split into filenamecat-lgpl
43434         * modules/filenamecat-lgpl: New module.
43435         * modules/filenamecat (Files): Move library-safe files into
43436         filenamecat-lgpl.
43437         (Depends-on): Add filenamecat-lgpl.
43438         (configure.ac): Declare witness.
43439         * lib/filenamecat.h (file_name_concat): Only declare when using
43440         GPL module.
43441         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43442         Move...
43443         * lib/filenamecat-lgpl.c: ...into new file.
43444         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43445         (gl_FILE_NAME_CONCAT): Use it.
43446         * MODULES.html.sh (File system functions): Mention new module.
43447
43448         argp: avoid memory leak
43449         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43450         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43451         base_name, since the latter malloc()s and can call exit().
43452         Leak introduced 2006-07-03.
43453
43454         dirname-lgpl: adjust clients that don't need full dirname
43455         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43456         * modules/filenamecat (Depends-on): Likewise.
43457         * modules/linkat (Depends-on): Likewise.
43458         * modules/mkancesdirs (Depends-on): Likewise.
43459         * modules/mkdir (Depends-on): Likewise.
43460         * modules/openat (Depends-on): Likewise.
43461         * modules/savewd (Depends-on): Likewise.
43462         * modules/rename (Depends-on): Likewise.
43463         (License): Relax license.
43464         * modules/mkdir-tests (Depends-on): Drop progname.
43465         (Makefile.am): Delete unneeded LDADD.
43466         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43467
43468         dirname: split into dirname-lgpl
43469         * modules/dirname-lgpl: New module.
43470         * modules/dirname (Files): Move library-safe files into
43471         dirname-lgpl.
43472         (Depends-on): Add dirname-lgpl.
43473         (configure.ac): Declare witness.
43474         * modules/double-slash-root (License): Relax license.
43475         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43476         module.
43477         * lib/dirname.c (dir_len, mdir_name): Move...
43478         * lib/dirname-lgpl.c: ...into new file.
43479         * lib/basename.c (last_component, base_len): Move...
43480         * lib/basename-lgpl.c: ...into new file.
43481         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43482         (gl_DIRNAME): Use it.
43483         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43484         Mention new module.
43485         * modules/dirname-tests (Depends-on): Add progname.
43486         * tests/test-dirname.c (program_name): Delete.
43487
43488         mkdir: make safe for libraries
43489         * modules/mkdir (Depends-on): Drop xalloc.
43490         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43491         exit.
43492
43493         tests: avoid some compiler warnings
43494         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43495         literals.
43496         * tests/test-memchr.c (main): Avoid type mismatch.
43497         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43498         * tests/test-base64.c (main): Likewise.
43499         * tests/test-getdelim.c (main): Likewise.
43500         * tests/test-gethostname.c (main): Likewise.
43501         * tests/test-getline.c (main): Likewise.
43502         * tests/test-netinet_in.c (main): Likewise.
43503         * tests/test-select.c (open_server_socket, main): Likewise.
43504         * tests/test-select-stdin.c (main): Likewise.
43505         * tests/test-sockets.c (main): Likewise.
43506         * tests/test-strsignal.c (main): Likewise.
43507         * tests/test-sys_select.c (main): Likewise.
43508         * tests/test-sys_socket.c (main): Likewise.
43509         * tests/test-u64.c (main): Likewise.
43510         * tests/test-xfprintf-posix.c (main): Likewise.
43511         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43512
43513         sockets: avoid compiler warning
43514         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43515
43516         maint: detect usage(1) and other suspicious exits
43517         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43518
43519 2009-10-29  Jim Meyering  <meyering@redhat.com>
43520
43521         timespec: long-to-int truncation could make timespec_cmp malfunction
43522         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43523         a multiple of 2^32 nanoseconds as no difference.
43524
43525 2009-10-28  Jim Meyering  <meyering@redhat.com>
43526
43527         fprintftime: wrap macro code argument in "do {...} while(0)"
43528         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43529         cpy macro must be a statement that can be followed by a semicolon.
43530         Now that the else clause contains a comment and is hence longer
43531         than one line, I require curly braces.  That in turn requires
43532         that we wrap this code block in the standard do...while(0).
43533
43534         fprintftime: remove stray semicolon from previous change
43535         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43536
43537         fprintftime: avoid a warning about ignored fwrite return value
43538         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43539         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43540         that is unsafe.
43541         * modules/fprintftime (Depends-on): Add ignore-value.
43542
43543         exclude: avoid an unwarranted warning
43544         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43545
43546 2009-10-27  Eric Blake  <ebb9@byu.net>
43547
43548         fseek: avoid compilation failure when fflush is replaced
43549         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43550         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43551         module is in use.
43552         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43553         module is not in use; since REPLACE_FSEEK worked otherwise.
43554         (GNULIB_FTELLO): Likewise for ftell.
43555         Reported by Ian Beckwith and others.
43556
43557 2009-10-27  Bruno Haible  <bruno@clisp.org>
43558
43559         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43560         Reported by Jim Meyering.
43561
43562 2009-10-27  Jim Meyering  <jim@meyering.net>
43563             Bruno Haible  <bruno@clisp.org>
43564
43565         Avoid warning despite dropping the return value of fwrite.
43566         * lib/unicodeio.c: Include ignore-value.h.
43567         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43568         * modules/unicodeio (Depends-on): Add ignore-value.
43569
43570 2009-10-26  Eric Blake  <ebb9@byu.net>
43571
43572         areadlinkat: fix fallback path
43573         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43574         pointer and zero.
43575
43576 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43577
43578         Use a better IO block size for modern systems
43579         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43580         * lib/md2.c: Likewise.
43581         * lib/md4.c: Likewise.
43582         * lib/md5.c: Likewise.
43583         * lib/sha1.c: Likewise.
43584         * lib/sha256.c: Likewise.
43585         * lib/sha512.c: Likewise.
43586
43587 2009-10-22  Eric Blake  <ebb9@byu.net>
43588
43589         tests: avoid several compiler warnings
43590         * tests/test-getcwd.c (main): Avoid buffer underflow.
43591         * tests/test-getdate.c (main): String literals are not safe with
43592         putenv, so use setenv.  Declare unused argument.
43593         * modules/getdate-tests (Depends-on): Add setenv.
43594         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43595         problems with string literals in char *.
43596         * tests/test-hash.c (main): Avoid shadowing declaration.
43597         (insert_new): Treat string literals as char const *.
43598         * tests/test-getopt.h (test_getopt): Likewise.
43599         (getopt_loop): Alter types to minimize casting elsewhere.
43600         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43601         (test_getopt_long_posix): Likewise.
43602         (do_getopt_long): Add wrapper to minimize casting.
43603         * tests/test-atexit.c (clear_temp_file): Use void.
43604         * tests/test-areadlink-with-size.c (main): Declare unused
43605         arguments.
43606         * tests/test-areadlink.c (main): Likewise.
43607         * tests/test-areadlinkat-with-size.c (main): Likewise.
43608         * tests/test-areadlinkat.c (main): Likewise.
43609         * tests/test-canonicalize-lgpl.c (main): Likewise.
43610         * tests/test-canonicalize.c (main): Likewise.
43611         * tests/test-dirent-safer.c (main): Likewise.
43612         * tests/test-dirname.c (main): Likewise.
43613         * tests/test-dup2.c (main): Likewise.
43614         * tests/test-fchdir.c (main): Likewise.
43615         * tests/test-fcntl-h.c (main): Likewise.
43616         * tests/test-fcntl-safer.c (main): Likewise.
43617         * tests/test-fdopendir.c (main): Likewise.
43618         * tests/test-fdutimensat.c (main): Likewise.
43619         * tests/test-fflush.c (main): Likewise.
43620         * tests/test-filenamecat.c (main): Likewise.
43621         * tests/test-filevercmp.c (main): Likewise.
43622         * tests/test-fopen-safer.c (main): Likewise.
43623         * tests/test-fopen.c (main): Likewise.
43624         * tests/test-fpending.c (main): Likewise.
43625         * tests/test-fpurge.c (main): Likewise.
43626         * tests/test-freading.c (main): Likewise.
43627         * tests/test-fstatat.c (main): Likewise.
43628         * tests/test-fsync.c (main): Likewise.
43629         * tests/test-futimens.c (main): Likewise.
43630         * tests/test-getndelim2.c (main): Likewise.
43631         * tests/test-gettimeofday.c (main): Likewise.
43632         * tests/test-getopt.c (main): Likewise.
43633         * tests/test-i-ring.c (main): Likewise.
43634         * tests/test-inttypes.c (main): Likewise.
43635         * tests/test-link.c (main): Likewise.
43636         * tests/test-lstat.c (main): Likewise.
43637         * tests/test-math.c (main): Likewise.
43638         * tests/test-md5.c (main): Likewise.
43639         * tests/test-memchr2.c (main): Likewise.
43640         * tests/test-memrchr.c (main): Likewise.
43641         * tests/test-mkdir.c (main): Likewise.
43642         * tests/test-mkdirat.c (main): Likewise.
43643         * tests/test-mkfifoat.c (main): Likewise.
43644         * tests/test-open.c (main): Likewise.
43645         * tests/test-openat-safer.c (main): Likewise.
43646         * tests/test-openat.c (main): Likewise.
43647         * tests/test-quotearg.c (main): Likewise.
43648         * tests/test-rawmemchr.c (main): Likewise.
43649         * tests/test-readlink.c (main): Likewise.
43650         * tests/test-remove.c (main): Likewise.
43651         * tests/test-rename.c (main): Likewise.
43652         * tests/test-renameat.c (main): Likewise.
43653         * tests/test-rmdir.c (main): Likewise.
43654         * tests/test-sha1.c (main): Likewise.
43655         * tests/test-signal.c (main): Likewise.
43656         * tests/test-sigaction.c (main): Likewise.
43657         * tests/test-stat.c (main): Likewise.
43658         * tests/test-stat-time.c (main): Likewise.
43659         * tests/test-stddef.c (main): Likewise.
43660         * tests/test-stdint.c (main): Likewise.
43661         * tests/test-stdio.c (main): Likewise.
43662         * tests/test-stdlib.c (main): Likewise.
43663         * tests/test-strchrnul.c (main): Likewise.
43664         * tests/test-strerror.c (main): Likewise.
43665         * tests/test-string.c (main): Likewise.
43666         * tests/test-strtod.c (main): Likewise.
43667         * tests/test-strverscmp.c (main): Likewise.
43668         * tests/test-symlink.c (main): Likewise.
43669         * tests/test-symlinkat.c (main): Likewise.
43670         * tests/test-sys_stat.c (main): Likewise.
43671         * tests/test-sys_time.c (main): Likewise.
43672         * tests/test-time.c (main): Likewise.
43673         * tests/test-unistd.c (main): Likewise.
43674         * tests/test-unlink.c (main): Likewise.
43675         * tests/test-unlinkat.c (main): Likewise.
43676         * tests/test-utimens.c (main): Likewise.
43677         * tests/test-utimensat.c (main): Likewise.
43678         * tests/test-version-etc.c (main): Likewise.
43679         * tests/test-wchar.c (main): Likewise.
43680         * tests/test-wctype.c (main): Likewise.
43681         * tests/test-xprintf-posix.c (main): Likewise.
43682         * tests/test-posixtm.c (main): Likewise.
43683         (STREQ): Delete unused macro.
43684         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43685         shadowed variables.
43686         * tests/test-memchr.c (main): Likewise.
43687
43688 2009-10-21  Eric Blake  <ebb9@byu.net>
43689
43690         areadlinkat: avoid failure on older glibc
43691         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43692         rather than mis-comparing 0 against FUNC_RESULT of char*.
43693
43694 2009-10-21  Bruno Haible  <bruno@clisp.org>
43695
43696         * modules/stpncpy (License): Relicense under LGPLv2+.
43697         Reported by David Lutterkort <lutter@redhat.com>.
43698
43699 2009-10-20  Eric Blake  <ebb9@byu.net>
43700
43701         utimensat: work around Solaris 9 bug
43702         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43703         has trailing slash bugs.
43704         * tests/test-lutimens.h (test_lutimens): Enhance test.
43705         * tests/test-utimens.h (test_utimens): Likewise.
43706         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43707         * doc/posix-functions/utimes.texi (utimes): Likewise.
43708         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43709         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43710         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43711         * doc/posix-functions/futimens.texi (futimens): Likewise.
43712
43713         fdutimensat: new module
43714         * modules/fdutimensat: New file.
43715         * lib/fdutimensat.c (fdutimensat): Likewise.
43716         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43717         * MODULES.html.sh (File system functions): Mention module.
43718         * modules/fdutimensat-tests: New test.
43719         * tests/test-fdutimensat.c: Likewise.
43720
43721         doc: regenerate INSTALL
43722         * doc/INSTALL: Reflect recent autoconf update.
43723         * doc/INSTALL.ISO: Likewise.
43724         * doc/INSTALL.UTF-8: Likewise.
43725
43726 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43727
43728         acl: warn if ACL support is not detected
43729         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43730
43731 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43732
43733         * lib/nproc.h: Add extern "C" block for C++.
43734
43735 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43736             Bruno Haible  <bruno@clisp.org>
43737
43738         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43739         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43740         * doc/posix-functions/isalpha.texi: Likewise.
43741         * doc/posix-functions/isblank.texi: Likewise.
43742         * doc/posix-functions/iscntrl.texi: Likewise.
43743         * doc/posix-functions/isdigit.texi: Likewise.
43744         * doc/posix-functions/isgraph.texi: Likewise.
43745         * doc/posix-functions/islower.texi: Likewise.
43746         * doc/posix-functions/isprint.texi: Likewise.
43747         * doc/posix-functions/ispunct.texi: Likewise.
43748         * doc/posix-functions/isspace.texi: Likewise.
43749         * doc/posix-functions/isupper.texi: Likewise.
43750         * doc/posix-functions/isxdigit.texi: Likewise.
43751
43752 2009-10-18  Bruno Haible  <bruno@clisp.org>
43753
43754         Tests for module 'isblank'.
43755         * modules/isblank-tests: New file.
43756         * tests/test-isblank.c: New file.
43757
43758         New module 'isblank'.
43759         * lib/isblank.c: New file.
43760         * m4/isblank.m4: New file.
43761         * modules/isblank: New file.
43762         * doc/posix-functions/isblank.texi: Mention the new module.
43763
43764 2009-10-18  Bruno Haible  <bruno@clisp.org>
43765
43766         New module 'ctype'.
43767         * lib/ctype.in.h: New file.
43768         * m4/ctype.m4: New file.
43769         * modules/ctype: New file.
43770         * doc/posix-headers/ctype.texi: Mention the new module.
43771
43772 2009-10-18  Jim Meyering  <meyering@redhat.com>
43773
43774         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43775         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43776         right after its initialization, rather than farther down.
43777         Keeping these in close proximity makes it easier to ensure
43778         that each such variable is initialized.  E.g.,
43779
43780             LIB_CLOCK_GETTIME=
43781             AC_SUBST([LIB_CLOCK_GETTIME])
43782
43783         This change also increments these serial numbers.
43784         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43785         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43786         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43787
43788 2009-10-18  Bruno Haible  <bruno@clisp.org>
43789
43790         Don't let environment variables perturb build.
43791         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43792         (gl_PREREQ_GETHRXTIME): ... not here.
43793
43794 2009-10-18  Bruno Haible  <bruno@clisp.org>
43795
43796         Avoid symlink attack in localcharset module.
43797         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43798         (O_NOFOLLOW): Define fallback.
43799         (get_charset_aliases): Don't open the file if it is a symbolic link.
43800         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43801         gl_FCNTL_H.
43802         (gl_FCNTL_H): Require it.
43803         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43804         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43805         Reported by Fergal Glynn <fglynn@veracode.com>.
43806
43807 2009-10-18  Bruno Haible  <bruno@clisp.org>
43808
43809         Implement nproc for mingw.
43810         * lib/nproc.c: Include <windows.h>
43811         (num_processors): On native Windows platforms, try GetSystemInfo.
43812
43813 2009-10-18  Bruno Haible  <bruno@clisp.org>
43814
43815         Implement nproc for IRIX.
43816         * lib/nproc.c: Include <sys/sysmp.h>.
43817         (num_processors): On IRIX systems, try sysmp.
43818         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43819
43820 2009-10-18  Bruno Haible  <bruno@clisp.org>
43821
43822         Implement nproc for HP-UX.
43823         * lib/nproc.c: Include <sys/pstat.h>
43824         (num_processors): On HP-UX systems, try pstat_getdynamic.
43825         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43826         pstat_getdynamic.
43827
43828 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43829             Bruno Haible  <bruno@clisp.org>
43830
43831         Implement nproc for NetBSD, OpenBSD.
43832         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43833         (ARRAY_SIZE): New macro.
43834         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43835         * m4/nproc.m4: New file.
43836         * modules/nproc (Files): Add m4/nproc.m4.
43837         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43838         (Makefile.am): Instead, augment lib_SOURCES.
43839
43840 2009-10-18  Bruno Haible  <bruno@clisp.org>
43841
43842         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43843         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43844         sys/param.h.
43845
43846 2009-10-16  Eric Blake  <ebb9@byu.net>
43847
43848         utimensat: new module
43849         * modules/utimensat: New file.
43850         * lib/utimensat.c (utimensat): Likewise.
43851         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43852         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43853         so we can work around Linux bugs.
43854         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43855         * modules/sys_stat (Makefile.am): Substitute them.
43856         * lib/sys_stat.in.h (utimensat): Declare it.
43857         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43858         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43859         * modules/utimensat-tests: New test.
43860         * tests/test-utimensat.c: Likewise.
43861
43862         utimens: let lutimens work on non-symlinks
43863         * lib/utimens.c (lutimens): Fall back to utimens rather than
43864         failing with ENOSYS, when file is not a symlink.
43865         (utimens): Reduce redirection.
43866         * tests/test-lutimens.h (test_lutimens): Update test to cover
43867         non-symlinks.
43868         * tests/test-utimens.h (test_utimens): Update test to cover
43869         symlinks.
43870         * tests/test-utimens.c (main): Update caller.
43871
43872         utimens: cache whether utimensat syscall works
43873         * lib/utimens.c (utimensat_works_really): New cache variable.
43874         (fdutimens, lutimens): Use it to avoid failing syscall.
43875
43876         test-stat-time, test-utimens: improve portability
43877         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43878         ext4 on alpha, and for cygwin.
43879         * tests/test-utimens-common.h: New file.
43880         (nap): Factor delays into single function.
43881         * tests/test-lutimens.h (test_lutimens): Use new header.
43882         * tests/test-futimens.h (test_futimens): Likewise.
43883         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43884         timestamps to occur from same machine, as was done previously for
43885         test_utimens.
43886         * modules/utimens-tests (Files): Ship new file.
43887         * modules/futimens-tests (Files): Likewise.
43888         Reported in part by Jim Meyering.
43889
43890         sys_stat: sort replacement declarations
43891         * lib/sys_stat.in.h: Sort declarations.
43892         * lib/futimens.c (futimens): Fix typo.
43893
43894 2009-10-15  Jim Meyering  <meyering@redhat.com>
43895
43896         don't let environment settings perturb build
43897         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43898         could cause a configure-time and/or build-time malfunction.
43899         Typically, a configure-time function-in-library test is performed
43900         via code like this:
43901
43902           LIB_VAR=
43903           AC_SUBST([LIB_VAR])
43904           prefix_saved_LIBS=$LIBS
43905             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43906                        [test "$ac_cv_search_FUNC" = "none required" ||
43907                         LIB_VAR=$ac_cv_search_FUNC])
43908           LIBS=$prefix_saved_LIBS
43909
43910         However, in each of the files affected by this change, the LIB_VAR=
43911         initialization was omitted.  Thus, when set in the environment, its
43912         value would propagate into generated Makefiles when FUNC is not found
43913         in LIB_NAME.
43914         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43915         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43916         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43917
43918 2009-10-14  Eric Blake  <ebb9@byu.net>
43919
43920         fchdir: avoid infinite recursion in mingw
43921         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43922         recursing.
43923
43924         test-stat-time: port to mingw
43925         * tests/test-stat-time.c (force_unlink): Return a value.
43926         (test_ctime) [W32]: Fix compilation error.
43927         (nap): Don't call usleep with too large an argument.  Use
43928         force_unlink.
43929         * doc/pastposix-functions/usleep.texi (usleep): Document the
43930         portability issue.
43931
43932 2009-10-13  Jim Meyering  <meyering@redhat.com>
43933
43934         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43935         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43936         * modules/pipe-filter-ii: Likewise.
43937         * modules/sys_socket-tests: Likewise.
43938         * modules/tsearch-tests: Likewise.
43939         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43940         (check): Depend on it.
43941
43942 2009-10-12  Eric Blake  <ebb9@byu.net>
43943
43944         utimens-tests: port to NFS file systems
43945         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43946         comparisons to avoid spurious failures from timestamp drift
43947         between NFS machines.
43948
43949 2009-10-12  Eric Blake  <ebb9@byu.net>
43950
43951         stat-time-tests: minor cleanups
43952         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43953         * tests/test-stat-time.c (nap): Separate assignment from call.
43954         Suggested by Paolo Bonzini and Bruno Haible.
43955
43956         sys_stat: guarantee struct timespec
43957         * lib/sys_stat.in.h (includes): Always include <time.h>
43958         * modules/sys_stat (Depends-on): Add time.
43959         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43960         mode_t permission values.
43961         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43962         get at subsecond timestamps.
43963
43964 2009-10-10  Eric Blake  <ebb9@byu.net>
43965
43966         futimens: new module
43967         * modules/futimens: New file.
43968         * lib/futimens.c (futimens): Likewise.
43969         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43970         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43971         we can work around Linux bugs.
43972         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43973         * modules/sys_stat (Makefile.am): Substitute them.
43974         * lib/sys_stat.in.h (futimens): Declare it.
43975         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43976         * doc/posix-functions/futimens.texi (futimens): Likewise.
43977         * modules/futimens-tests: New test.
43978         * tests/test-futimens.c: Likewise.
43979
43980         utimens: introduce fdutimens
43981         * lib/utimens.h (fdutimens): New prototype.
43982         * lib/utimens.c (gl_futimens): Move guts...
43983         (fdutimens): ...to new interface.
43984         * tests/test-utimens.c (do_fdutimens): Use it.
43985
43986         utimens: add UTIME_NOW and UTIME_OMIT support
43987         * lib/utimens.c (validate_timespec, update_timespec): New helper
43988         functions.
43989         (gl_futimens, lutimens): Use them.
43990         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43991         stdbool, sys_stat.
43992         (Link): Mention resulting library dependency.
43993         * modules/utimecmp (Link): Likewise.
43994         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43995         (Makefile.am): Pick up library dependency.
43996         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43997         definition.
43998         * tests/test-sys_stat.c: Test the definitions.
43999         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44000         * NEWS: Document library dependency.
44001
44002         utimecmp: support symlink timestamps
44003         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44004         hashing when possible.  Use pathconf when available.
44005         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44006         * modules/utimecmp (Depends-on): Add lstat.
44007
44008         utimens: add lutimens interface
44009         * lib/utimens.c (lutimens): New function.
44010         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44011         * lib/utimens.h (lutimens): Declare new interface.
44012         * tests/test-utimens.c (main): Enhance test.
44013         * tests/test-lutimens.h (test_lutimens): New file.
44014         * modules/utimens-tests (Files): Distribute it.
44015         (Depends-on): Add symlink.
44016         (configure.ac): Check for usleep.
44017
44018         utimens: validate futimens usage
44019         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44020         fewer syscalls on failure later on.  Avoid compiler warning on
44021         mingw.
44022         * modules/utimens (Depends-on): Add dup2.
44023
44024         utimens: add test
44025         * modules/utimens-tests: New test.
44026         * tests/test-utimens.h: New file.
44027         * tests/test-futimens.h: Likewise.
44028         * tests/test-utimens.c: Likewise.
44029
44030         doc: mention timestamp portability issues
44031         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44032         instead.
44033         * doc/posix-functions/utime.texi (utime): Likewise.
44034         * doc/posix-functions/utimes.texi (utimes): Likewise.
44035         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44036         instead.
44037         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44038         module.
44039         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44040         Mention weakness with symlink timestamps.
44041         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44042         to utimensat/futimens instead.
44043         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44044
44045         test-dup2: enhance test
44046         * tests/test-dup2.c (main): Also check AT_FDCWD.
44047
44048         test-stat-time: avoid more spurious failures
44049         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44050         xfs; and avoid race if the two timestamps cross quantization edge.
44051
44052         relocatable: prefer 'file system' over 'filesystem'
44053         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44054         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44055         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44056         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44057         * lib/relocatable.c (compute_curr_prefix): Likewise.
44058
44059 2009-10-10  Jim Meyering  <meyering@redhat.com>
44060
44061         stat-time-tests: check for the usleep function
44062         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44063
44064 2009-10-10  Bruno Haible  <bruno@clisp.org>
44065
44066         * modules/xnanosleep: Put the Link section after the Include section.
44067
44068 2009-10-09  Eric Blake  <ebb9@byu.net>
44069
44070         dup2: work around FreeBSD 6.1 bug
44071         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44072         * doc/posix-functions/dup2.texi (dup2): Document it.
44073         Reported by Nelson H. F. Beebe and Jim Meyering.
44074
44075         test-stat-time: port to buggy NFS clients
44076         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44077         (test_ctime): Also skip test if mtime and ctime are skewed.
44078
44079         maint: prefer 'file system' over 'filesystem'
44080         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44081         * doc/posix-functions/lstat.texi (lstat): Likewise.
44082         * lib/file-has-acl.c (file_has_acl): Likewise.
44083         * lib/fwriteerror.c [TEST]: Likewise.
44084         * tests/test-areadlink.h (test_areadlink): Likewise.
44085         * tests/test-areadlinkat-with-size.c (main): Likewise.
44086         * tests/test-areadlinkat.c (main): Likewise.
44087         * tests/test-canonicalize-lgpl.c (main): Likewise.
44088         * tests/test-canonicalize.c (main): Likewise.
44089         * tests/test-fstatat.c (main): Likewise.
44090         * tests/test-linkat.c (main): Likewise.
44091         * tests/test-lstat.h (test_lstat_func): Likewise.
44092         * tests/test-mkdir.h (test_mkdir): Likewise.
44093         * tests/test-readlink.h (test_readlink): Likewise.
44094         * tests/test-remove.c (main): Likewise.
44095         * tests/test-rename.h (test_rename): Likewise.
44096         * tests/test-renameat.c (main): Likewise.
44097         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44098         * tests/test-symlink.h (test_symlink): Likewise.
44099         * tests/test-symlinkat.c (main): Likewise.
44100         * tests/test-unlink.h (test_unlink_func): Likewise.
44101         * tests/test-unlinkat.c (main): Likewise.
44102
44103         maint: make realtime library usage explicit
44104         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44105         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44106         * modules/settime (Link): Likewise.
44107         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44108
44109         test-stat-time: speed up execution
44110         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44111         warning on mingw.
44112         (nap): New helper function.
44113         (prepare_test): Use it to reduce sleep time.
44114         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44115         execution.
44116         * modules/stat-time-tests (configure.ac): Check for usleep.
44117
44118 2009-10-09  Jim Meyering  <meyering@redhat.com>
44119
44120         selinux-h: always use getfilecon wrappers
44121         * lib/getfilecon.c: New file.
44122         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44123         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44124         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44125         (fgetfilecon): Provide a stub.
44126         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44127         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44128         file unconditionally.
44129         When <selinux/selinux.h> is found, arrange to use wrappers.
44130         * modules/selinux-h (Files): Add getfilecon.c.
44131         (Makefile.am): Substitute include-next-related bits
44132         into the now-always-generated selinux/selinux.h file.
44133         * doc/glibc-functions/lgetfilecon.texi: New file.
44134         * doc/glibc-functions/fgetfilecon.texi: New file.
44135         * doc/glibc-functions/getfilecon.texi: New file.
44136         * doc/glibc-functions/getfilecon-desc.texi: New file.
44137         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44138         which to pull in the new files.
44139         * MODULES.html.sh (Misc): Add selinux-h.
44140
44141 2009-10-08  Jim Meyering  <meyering@redhat.com>
44142
44143         unistd: fix comment typo
44144         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44145
44146 2009-10-08  Eric Blake  <ebb9@byu.net>
44147
44148         areadlink: use SIZE_MAX consistently
44149         * modules/areadlink (Depends-on): Add stdint.
44150         * modules/areadlink-with-size (Depends-on): Likewise.
44151         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44152         gives NULL; drop sys/types, since unistd gives size_t; and add
44153         stdint for SIZE_MAX.
44154         (SIZE_MAX): Rely on headers.
44155         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44156         and add stdint.
44157         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44158         (SIZE_MAX): Likewise.
44159         (INITIAL_BUF_SIZE): Turn into enum.
44160         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44161
44162 2009-10-08  Jim Meyering  <meyering@redhat.com>
44163
44164         areadlinkat: avoid compilation failure
44165         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44166         Fix typo in comment.
44167
44168 2009-10-07  Eric Blake  <ebb9@byu.net>
44169
44170         areadlinkat-with-size: new module
44171         * modules/areadlinkat-with-size: New module.
44172         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44173         * lib/areadlink.h (areadlinkat): Declare it.
44174         * MODULES.html.sh (File system functions): Mention it.
44175         * modules/areadlinkat-with-size-tests: New test.
44176         * tests/test-areadlinkat-with-size.c: New file.
44177
44178         xreadlinkat: new module
44179         * modules/xreadlinkat: New module.
44180         * lib/xreadlinkat.c (xreadlinkat): New file.
44181         * lib/xreadlink.h (xreadlinkat): Declare it.
44182         * MODULES.html.sh (File system functions): Mention it.
44183
44184         areadlinkat: new module
44185         * lib/at-func.c (FUNC_FAIL): New define.
44186         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44187         * modules/areadlinkat: New module.
44188         * lib/linkat.c (areadlinkat): Move...
44189         * lib/areadlinkat.c (areadlinkat): ...to new file.
44190         * lib/areadlink.h (areadlinkat): Declare it.
44191         * modules/linkat (Depends-on): Add areadlinkat.
44192         * MODULES.html.sh (File system functions): Mention it.
44193         * modules/areadlinkat-tests: New test.
44194         * tests/test-areadlinkat.c: New file.
44195
44196         areadlink, areadlink-with-size: add tests
44197         * modules/areadlink-tests: New test.
44198         * modules/areadlink-with-size-tests: Likewise.
44199         * tests/test-areadlink.h: New file.
44200         * tests/test-areadlink.c: Likewise.
44201         * tests/test-areadlink-with-size.c: Likewise.
44202
44203         maint: minor cleanups
44204         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44205         _UNUSED_PARAMETER_ instead.
44206         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44207         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44208         * modules/linkat-tests (Files): Distribute test-link.h.
44209
44210         openat, utimens: whitespace cleanup
44211         * lib/openat.c: Prefer space throughout, rather than mix of 8
44212         spaces vs. tabs.
44213         * lib/at-func.c: Likewise.
44214         * lib/utimens.c: Likewise.
44215
44216         openat: avoid using wrong fd
44217         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44218         working directory chooses same fd.
44219         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44220
44221         mkdir, mkdirat: fix cygwin 1.5.x bug
44222         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44223         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44224         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44225         bug.
44226         (gl_PREREQ_MKDIR): Delete unused macro.
44227         * modules/mkdir (Files): Track file rename.
44228         (configure.ac): Update macro name.
44229         * modules/openat (Depends-on): Add mkdir.
44230         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44231
44232         mkdir, mkdirat: add tests
44233         * modules/mkdir-tests: New test.
44234         * tests/test-mkdir.h: New file.
44235         * tests/test-mkdir.c: Likewise.
44236         * tests/test-mkdirat.c: Likewise.
44237         * modules/openat-tests (Files): Add new files.
44238         (Makefile.am): Run new test.
44239
44240 2009-10-06  Eric Blake  <ebb9@byu.net>
44241
44242         doc: tweak *at function documentation
44243         * doc/posix-functions/faccessat.texi (faccessat): Mention
44244         known issue with replacement.
44245         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44246         * doc/posix-functions/linkat.texi (linkat): Likewise.
44247         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44248         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44249         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44250         * doc/posix-functions/renameat.texi (renameat): Likewise.
44251         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44252
44253         openat: fix GNU/Hurd bug in unlinkat
44254         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44255         broken.
44256         * doc/posix-functions/unlink.texi (unlink): Document this.
44257         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44258
44259         fdopendir: fix GNU/Hurd bug
44260         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44261         allowing non-directory fds.
44262         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44263         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44264         * modules/dirent (Makefile.am): Substitute it.
44265         * lib/dirent.in.h (fdopendir): Declare replacement.
44266         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44267         * tests/test-fdopendir.c (main): Test something other than
44268         /dev/null, since on Hurd that behaves like a directory.
44269
44270         test-symlink: port to GNU/Hurd
44271         * tests/test-symlink.h (test_symlink): Relax expected errno.
44272
44273         doc: tweak more cygwin information
44274         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44275         now compatible with glibc.
44276         * doc/posix-functions/getopt.texi (getopt): Likewise.
44277
44278         getopt-gnu: add another test
44279         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44280         guarantee behavior relied on by m4.
44281         * tests/test-getopt.c (main): Use it.
44282         * modules/getopt-posix-tests (Depends-on): Add setenv.
44283         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44284
44285         getopt: fix compilation on darwin
44286         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44287         include.
44288         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44289         Reported by Ludovic Courtès.
44290
44291 2009-10-06  Bruno Haible  <bruno@clisp.org>
44292
44293         * modules/size_max (Description): Discourage its use.
44294         Reported by Simon Josefsson.
44295
44296 2009-10-06  Jim Meyering  <meyering@redhat.com>
44297
44298         linkat: avoid compilation failure
44299         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44300
44301 2009-10-05  Eric Blake  <ebb9@byu.net>
44302
44303         linkat: support Linux 2.6.17
44304         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44305         linkat on Linux, but allow cache variable override.
44306         * lib/linkat.c (rpl_linkat): Define override.
44307         * modules/linkat (Depends-on): Add symlinkat.
44308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44309         * modules/unistd (Makefile.am): Substitute it.
44310         * lib/unistd.in.h (linkat): Declare replacement.
44311         Reported by Pádraig Brady.
44312
44313         quotearg: port test to systems with C.UTF-8 locale
44314         * tests/test-quotearg.c (struct result_strings): Add another
44315         member, differentiating between C.ASCII and C.UTF-8 handling.
44316         (compare_strings): Add parameter.
44317         (main): Adjust all callers.
44318
44319         getopt: avoid clash with FreeBSD _getopt_internal
44320         * lib/getopt.in.h (_getopt_internal): Override the name.
44321         * lib/getopt_int.h (includes): Pick up any overrides.
44322         Reported by Reuben Thomas.
44323
44324         hash: allow C89 compilation
44325         * lib/hash.c (check_tuning): Move declaration before statement.
44326         Reported by Reuben Thomas.
44327
44328 2009-10-05  Karl Berry  <karl@gnu.org>
44329
44330         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44331
44332 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44333             Bruno Haible  <bruno@clisp.org>
44334
44335         * lib/uname.c (uname): Use a table-driven algorithm to compute
44336         Windows NT versions.
44337
44338 2009-10-04  Bruno Haible  <bruno@clisp.org>
44339
44340         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44341         program_invocation_short_name.
44342         * modules/progname (configure.ac): Test for presence of
44343         program_invocation_short_name.
44344         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44345
44346 2009-10-04  Bruno Haible  <bruno@clisp.org>
44347
44348         * lib/progname.c (set_program_name): Fix comment.
44349         Reported by Jim Meyering.
44350
44351 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44352             Bruno Haible  <bruno@clisp.org>
44353
44354         * lib/uname.c: Include <string.h>.
44355         (uname): Do only one call to GetVersionEx in the common case.
44356
44357 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44358             Bruno Haible  <bruno@clisp.org>
44359
44360         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44361         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44362         (uname): Add support for Windows CE and various non-x86 CPU types.
44363
44364 2009-10-03  Bruno Haible  <bruno@clisp.org>
44365
44366         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44367         invocation to tests/configure.ac.
44368         Reported by Ian Beckwith <ianb@erislabs.net>.
44369
44370 2009-10-02  Eric Blake  <ebb9@byu.net>
44371
44372         fchdir: avoid compiler warning
44373         * lib/fchdir.c (canonicalize_file_name)
44374         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44375
44376         test-open: support mingw errno values
44377         * tests/test-open.h (test_open): Relax test.
44378         * tests/test-fopen.h (test_fopen): Likewise.
44379         * tests/test-openat-safer.c (main): Likewise.
44380
44381         open: fix opening directory on mingw
44382         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44383
44384         test-open: on GNU/Hurd, /dev/null is a directory
44385         * tests/test-fopen.h (main): Rename...
44386         (test_fopen): ...to this.  Use a guaranteed non-directory when
44387         confirming open behavior on trailing slash.
44388         * tests/test-openat-safer.c (main): Likewise.
44389         * tests/test-open.h (main): Likewise....
44390         (test_open): ...to this.
44391         * tests/test-fopen.c (main): Adjust caller.
44392         * tests/test-fopen-safer.c (main): Likewise.
44393         * tests/test-open.c (main): Likewise.
44394         * tests/test-fcntl-safer.c (main): Likewise.
44395         Reported by Samuel Thibault.
44396
44397         rename, fchdir: don't ignore chdir failure
44398         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44399         * lib/rename.c (rpl_rename) [W32]: Likewise.
44400         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44401         an empty destination directory if source cannot be renamed,
44402         although there is still possibility for failure.
44403         * doc/posix-functions/rename.texi (rename): Document the race.
44404         Reported by Jim Meyering.
44405
44406         maint: cleanup whitespace in recent commits
44407         * lib/rename.c (rpl_rename): Remove tabs.
44408         * tests/test-link.h (test_link): Likewise.
44409         * lib/fchdir.c (get_name): Likewise.
44410         Reported by Jim Meyering.
44411
44412 2009-10-02  Ben Pfaff  <blp@gnu.org>
44413
44414         relocatable-prog-wrapper: Add missing dependency on
44415         double-slash-root.
44416         * modules/relocatable-prog-wrapper: Add dependency.
44417         Reported by Ian Beckwith <ianb@erislabs.net>.
44418
44419 2009-10-02  Eric Blake  <ebb9@byu.net>
44420
44421         renameat: fix Solaris bugs
44422         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44423         needed fixing.
44424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44425         * modules/stdio (Makefile.am): Substitute it.
44426         * lib/stdio.in.h (renameat): Declare replacement.
44427         * lib/renameat.c (rpl_renameat): Implement fix.
44428
44429         renameat: new module
44430         * modules/renameat: New file.
44431         * lib/renameat.c (renameat): Likewise.
44432         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44434         * modules/stdio (Makefile.am): Substitute them.
44435         * lib/stdio.in.h (renameat): Declare it.
44436         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44437         * doc/posix-functions/renameat.texi (renameat): Likewise.
44438         * modules/renameat-tests: New test.
44439         * tests/test-renameat.c: Likewise.
44440
44441         rename: fix mingw bugs
44442         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44443         directory overwrite bugs.
44444
44445         rename: fix another cygwin 1.5 bug
44446         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44447         checks.
44448         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44449         unnecessary cygwin workarounds.  Also work around bug with moving
44450         full directory onto an empty one.
44451         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44452
44453         rename-dest-slash: merge into rename module
44454         * modules/rename-dest-slash (Status): Mark obsolete.
44455         (Depends-on): Add rename.
44456         (Files): Let rename do it all.
44457         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44458         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44459         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44460         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44461         * lib/rename.c (rpl_rename): Update comments.
44462
44463         rename: fix cygwin 1.5.x bugs
44464         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44465         * lib/rename.c (rpl_rename): Work around them.
44466         * modules/rename (Depends-on): Add same-inode.
44467
44468         rename: fix Solaris 10 bug
44469         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44470         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44471         was the only bug.
44472
44473         rename: fix Solaris 9 bug
44474         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44475         on non-directory.  Avoid calling exit.
44476         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44477         strdup.
44478         * modules/rename-tests (Depends-on): Drop lstat.
44479         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44480         (gl_PREREQ_RENAME): Delete unused macro.
44481
44482         rename-dest-slash: fix NetBSD bug
44483         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44484         links.
44485         * modules/rename-dest-slash (Depends-on): Add same-inode.
44486
44487         rename-tests: new test, exposes several platform bugs
44488         * modules/rename-tests: New file.
44489         * tests/test-rename.h: Likewise.
44490         * tests/test-rename.c: Likewise.
44491         * doc/posix-functions/rename.texi (rename): Improve documentation,
44492         including bugs that will eventually be fixed in gnulib.
44493
44494 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44495
44496         * lib/uname.c: Include <stdlib.h>
44497         (uname): Assume version info is available.
44498
44499 2009-10-02  Jim Meyering  <meyering@redhat.com>
44500
44501         gnu-web-doc-update: correct --help output
44502         * build-aux/gnu-web-doc-update: Make --help output relevant.
44503
44504         gnu-web-doc-update: add standard options
44505         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44506
44507         gnu-web-doc-update: New module.
44508         Use this script to automatically update the on-line web documentation
44509         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44510         * modules/gnu-web-doc-update: New file, from coreutils.
44511         * build-aux/gnu-web-doc-update: New script.
44512
44513 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44514
44515         link: LoadLibrary is not needed.
44516         * lib/link.c: Use GetModuleHandle.
44517
44518 2009-10-01  Eric Blake  <ebb9@byu.net>
44519
44520         getopt: bump serial number
44521         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44522         change.
44523
44524         tests: tighten link, rmdir, and remove tests
44525         * tests/test-link.h (includes): No need to use <config.h> here.
44526         Clean up if directory hard link was created, otherwise test for
44527         trailing '.'.
44528         * tests/test-linkat.c (main): Simplify.
44529         * tests/test-remove.c (main): Enhance test for trailing '.'.
44530         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44531
44532 2009-10-01  Jim Meyering  <meyering@redhat.com>
44533
44534         maint.mk: requiring "make major" was annoying, for a "minor" release.
44535         What is intended is "stable", to contrast with alpha and beta,
44536         so require "make stable", not "make major".
44537         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44538         (get_tool_versions): Likewise.
44539         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44540
44541 2009-09-30  Ben Pfaff  <blp@gnu.org>
44542
44543         Fix broken build of replacement for Windows tmpfile().
44544         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44545         flags argument added along with the 'mkostemp' module.
44546
44547 2009-09-28  Bruno Haible  <bruno@clisp.org>
44548
44549         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44550         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44551         to 'remove_elt'.
44552         (gl_list_remove): Update.
44553         * lib/gl_list.c (gl_list_remove): Update.
44554         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44555         to 'remove_elt'.
44556         (gl_oset_remove): Update.
44557         * lib/gl_list.c (gl_oset_remove): Update.
44558         Reported by Eric Blake.
44559
44560 2009-09-28  Eric Blake  <ebb9@byu.net>
44561
44562         doc: mention yet more cygwin 1.7 status
44563         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44564         cygwin.
44565         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44566         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44567
44568         argp: fix test failure
44569         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44570         that are not upper-case.  Pass correct range to tolower.
44571
44572 2009-09-27  Jim Meyering  <meyering@redhat.com>
44573
44574         test-yesno: work around sparc-dash here-document infelicity
44575         Without this change, the literal \177 byte in a here document
44576         would make dash 0.5.5.1-3 access uninitialized memory.
44577         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44578         Instead, use a marker, "@", and filter through tr to create the desired
44579         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44580
44581 2009-09-27  Bruno Haible  <bruno@clisp.org>
44582
44583         Disable untested support for new flavours of ACLs on AIX.
44584         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44585         progress.
44586         * lib/set-mode-acl.c (qset_acl): Likewise.
44587
44588 2008-12-07  Bruno Haible  <bruno@clisp.org>
44589
44590         Add support for new flavours of ACLs on AIX. (Untested.)
44591         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44592         (file_has_acl): Add support for newer AIX.
44593         * lib/set-mode-acl.c (qset_acl): Likewise.
44594         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44595         Rainer Tammer <tammer@tammer.net>.
44596
44597 2009-09-26  Eric Blake  <ebb9@byu.net>
44598
44599         argp: fix compilation of getopt
44600         * lib/getopt.in.h (includes): Use different guard than glibc.
44601         Reported by Sergey Poznyakoff.
44602
44603         doc: mention more cygwin 1.7 status
44604         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44605         bug.
44606         * doc/posix-functions/execl.texi (execl): Likewise.
44607         * doc/posix-functions/execle.texi (execle): Likewise.
44608         * doc/posix-functions/execlp.texi (execlp): Likewise.
44609         * doc/posix-functions/execv.texi (execv): Likewise.
44610         * doc/posix-functions/execve.texi (execve): Likewise.
44611         * doc/posix-functions/execvp.texi (execvp): Likewise.
44612         * doc/glibc-functions/canonicalize_file_name.texi
44613         (canonicalize_file_name): Cygwin 1.7 now provides this.
44614         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44615         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44616         on AT_SYMLINK_NOFOLLOW.
44617
44618 2009-09-24  Eric Blake  <ebb9@byu.net>
44619
44620         test-linkat: make test more robust
44621         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44622
44623         getopt: fix inclusion guards for cygwin
44624         * modules/getopt-posix (Depends-on): Add include-next.
44625         (Makefile.am): Substitute more items in replacement header.
44626         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44627         <getopt.h>.
44628         * lib/getopt.in.h (includes): Use split inclusion guard, and
44629         prefer <getopt.h> over include <unistd.h> when one is present.
44630         (option): Also override name of 'struct option'.
44631
44632         same-inode: revert prior change; it is not yet ready
44633         * NEWS: Undo mention of this change.
44634         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44635         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44636         * lib/cycle-check.c (cycle_check): Likewise.
44637         * lib/same.c (same_name): Likewise.
44638         * lib/at-func2.c (at_func2): Likewise.
44639
44640 2009-09-23  Eric Blake  <ebb9@byu.net>
44641
44642         linkat: new module
44643         * modules/linkat: New file.
44644         * lib/at-func2.c (at_func2): Likewise.
44645         * lib/linkat.c (linkat): Likewise.
44646         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44647         * lib/openat-priv.h (at_func2): Add declaration.
44648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44649         * modules/unistd (Makefile.am): Substitute them.
44650         * lib/unistd.in.h (linkat): Declare it.
44651         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44652         * doc/posix-functions/linkat.texi (linkat): Likewise.
44653         * doc/posix-functions/link.texi (link): Tweak wording.
44654         * tests/test-link.c (main): Move guts...
44655         * tests/test-link.h (test_link): ...into new file.
44656         * modules/linkat-tests: New test.
44657         * tests/test-linkat.c: Likewise.
44658         * modules/link-tests (Files): Ship new file.
44659         (Depends-on): Add stdbool.
44660
44661         dirname: add library-safe mdir_name
44662         * lib/dirname.h (mdir_name): New prototype.
44663         * lib/dirname.c (dir_name): Move guts...
44664         (mdir_name): ...to new function that avoids xalloc_die.
44665
44666         fchdir: another mingw fix
44667         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44668         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44669         on mingw (where it has not yet been ported), and make it optional
44670         elsewhere.
44671         (_gl_register_fd): Use it.
44672
44673         same-inode: make SAME_INODE tri-state, to port to mingw
44674         * NEWS: Mention this change.
44675         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44676         st_ino always being 0.
44677         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44678         * lib/cycle-check.c (cycle_check): Likewise.
44679         * lib/same.c (same_name): Likewise.
44680
44681         lstat: avoid mingw compilation error
44682         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44683         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44684         lstat ourselves.
44685         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44686         was adequate.
44687         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44688         the checks for lstat.
44689         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44690
44691         link: fix test failure on Solaris 9
44692         * lib/link.c (rpl_link): Don't assume link will catch bogus
44693         trailing slash on source.
44694
44695         test-symlinkat: enhance test
44696         * tests/test-readlink.c (main): Move guts...
44697         * tests/test-readlink.h (test_readlink): ...into new file.
44698         * tests/test-symlink.c (main): Move guts...
44699         * tests/test-symlink.h (test_symlink): ...into new file.
44700         * tests/test-symlinkat.c (main): Use new files for further
44701         coverage.
44702         (do_symlink, do_readlink): New helper functions.
44703         * modules/symlink-tests (Files): Ship new file.
44704         (Depends-on): Add stdbool.
44705         * modules/readlink-tests (Files): Ship new file.
44706         (Depends-on): Add stdbool.
44707         * modules/symlinkat-tests (Files): Use new files.
44708
44709 2009-09-23  Eric Blake  <ebb9@byu.net>
44710
44711         readlink: document portability issue with symlink length
44712         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44713         systems have bogus st_size on symlinks, and mention the
44714         areadlink-with-size module.
44715         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44716         * doc/posix-functions/readlink.texi (readlink): Mention the
44717         areadlink module, and ERANGE failure.
44718         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44719         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44720
44721         readlink: fix Solaris 9 bug with trailing slash
44722         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44723         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44724         * doc/posix-functions/readlink.texi (readlink): Document this.
44725         * modules/readlink-tests: New test.
44726         * tests/test-readlink.c: Likewise.
44727
44728         readlink: fix cygwin 1.5.x bug with return type
44729         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44730         * lib/unistd.in.h (readlink): Use ssize_t.
44731         * lib/readlink.c (readlink): Likewise.
44732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44733         * modules/unistd (Makefile.am): Substitute it.
44734         * lib/unistd.in.h (readlink): Declare replacement.
44735         * doc/posix-functions/readlink.texi (readlink): Document this.
44736
44737         symlink: use throughout gnulib
44738         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44739         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44740         symlink is not used.
44741         * modules/symlinkat (Depends-on): Add symlink.
44742         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44743         * modules/canonicalize-tests (Depends-on): Likewise.
44744         * modules/lstat-tests (Depends-on): Likewise.
44745         * modules/openat-tests (Depends-on): Likewise.
44746         * modules/remove-tests (Depends-on): Likewise.
44747         * modules/rmdir-tests (Depends-on): Likewise.
44748         * modules/unlink-tests (Depends-on): Likewise.
44749         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44750         * tests/test-canonicalize.c (symlink): Likewise.
44751         * tests/test-fstatat.c (symlink): Likewise.
44752         * tests/test-lstat.c (symlink): Likewise.
44753         * tests/test-remove.c (symlink): Likewise.
44754         * tests/test-rmdir.c (symlink): Likewise.
44755         * tests/test-unlink.c (symlink): Likewise.
44756         * tests/test-unlinkat.c (symlink): Likewise.
44757
44758         symlink: new module, for Solaris 9 bug
44759         * modules/symlink: New file.
44760         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44761         * lib/symlink.c: Likewise.
44762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44763         * modules/unistd (Makefile.am): Substitute them.
44764         * lib/unistd.in.h (symlink): Declare replacement.
44765         * MODULES.html.sh (File system functions): Mention it.
44766         * doc/posix-functions/symlink.texi (symlink): Likewise.
44767         * modules/symlink-tests: New test.
44768         * tests/test-symlink.c: Likewise.
44769
44770 2009-09-23  Bruno Haible  <bruno@clisp.org>
44771
44772         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44773         when needed.
44774         Test case: gnulib-tool --import --with-tests atexit inttypes.
44775         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44776
44777 2009-09-23  Bruno Haible  <bruno@clisp.org>
44778
44779         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44780         subcommand, not in a subshell.
44781
44782 2009-09-22  Eric Blake  <ebb9@byu.net>
44783
44784         unistd: sort replacement declarations
44785         * lib/unistd.in.h: Sort declarations.
44786
44787         open, openat: minor optimization
44788         * lib/open.c (open): If open succeeded, len is non-zero.
44789         * lib/openat.c (rpl_openat): Likewise.
44790
44791         link-follow: ensure correct result
44792         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44793         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44794         distinguish between possible failures.
44795
44796 2009-09-21  Eric Blake  <ebb9@byu.net>
44797
44798         fts: avoid compiler warning
44799         * lib/fts.c (dirent_inode_sort_may_be_useful)
44800         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44801
44802 2009-09-19  Bruno Haible  <bruno@clisp.org>
44803
44804         * lib/progreloc.c (canonicalize_file_name): New declaration.
44805
44806 2009-09-19  Eric Blake  <ebb9@byu.net>
44807
44808         link: fix quoting
44809         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44810
44811         openat: fix openat bugs on Solaris 9
44812         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44813         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44814         * modules/openat (Depends-on): Add open.
44815         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44816         * modules/fcntl-h (Makefile.am): Substitute it.
44817         * lib/fcntl.in.h (openat): Declare replacement.
44818         * doc/posix-functions/openat.texi (openat): Document this.
44819
44820         openat: move fstatat and unlinkat into correct files
44821         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44822         compiled.
44823         * lib/openat.c (fstatat, unlinkat): Move...
44824         * lib/fstatat.c (fstatat): ...into correct files.
44825         * lib/unlinkat.c (unlinkat): Likewise.
44826
44827         openat: fix unlinkat bugs on Solaris 9
44828         * lib/unlinkat.c (unlinkat): New file.
44829         * modules/openat (Depends-on): Add unlink.
44830         (Files): Distribute it.
44831         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44832         trailing slash behavior is broken.
44833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44834         * modules/unistd (Makefile.am): Substitute it.
44835         * lib/unistd.in.h (unlinkat): Declare replacement.
44836         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44837
44838         openat: fix fstatat bugs on Solaris 9
44839         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44840         stat.
44841         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44842
44843         test-unlinkat: enhance test, to expose Solaris 9 bug
44844         * tests/test-unlink.c (main): Factor guts...
44845         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44846         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44847         * tests/test-rmdir.c (main): Adjust caller.
44848         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44849         (unlinker): New helper function.
44850         (rmdirat): Enhance check.
44851         * modules/rmdir-tests (Depends-on): Add stdbool.
44852         * modules/unlink-tests (Depends-on): Likewise.
44853         (Files): Add test-unlink.h.
44854         * modules/openat-tests (Files): Likewise.
44855         (Depends-on): Add unlinkdir.
44856
44857         test-fstatat: new test, to expose Solaris 9 bugs
44858         * tests/test-stat.c (main): Factor guts...
44859         * tests/test-stat.h (test_stat_func): ...into new file.
44860         * tests/test-lstat.c (main): Factor guts...
44861         * tests/test-lstat.h (test_lstat_func): ...into new file.
44862         * tests/test-fstatat.c: New file.
44863         * modules/stat-tests (Files): Add test-stat.h.
44864         * modules/lstat-tests (Files): Add test-lstat.h.
44865         (Depends-on): Add stdbool.
44866         * modules/openat-tests (Depends-on): Add pathmax.
44867         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44868         (Makefile.am): Run new test.
44869
44870         remove: new module, for mingw and Solaris 9 bugs
44871         * modules/remove: New file.
44872         * lib/remove.c: Likewise.
44873         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44875         * modules/stdio (Makefile.am): Use them.
44876         * lib/stdio.in.h (remove): Declare replacement.
44877         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44878         * doc/posix-functions/remove.texi (remove): Likewise.
44879         * modules/remove-tests: New test.
44880         * tests/test-remove.c: Likewise.
44881
44882         unlink: new module, for Solaris 9 bug
44883         * modules/unlink: New file.
44884         * lib/unlink.c: Likewise.
44885         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44887         * modules/unistd (Makefile.am): Use them.
44888         * lib/unistd.in.h (stat): Declare replacement.
44889         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44890         * doc/posix-functions/unlink.texi (unlink): Likewise.
44891         * modules/unlink-tests: New test.
44892         * tests/test-unlink.c: Likewise.
44893
44894         lstat: fix Solaris 9 bug
44895         * lib/lstat.c (lstat): Also check for trailing slash on
44896         non-symlink, non-directories.  Use stat module to simplify logic.
44897         * doc/posix-functions/lstat.texi (lstat): Document it.
44898         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44899         (configure.ac): Check for symlink.
44900         * tests/test-lstat.c (main): Add more tests.
44901
44902         stat: add as dependency to other modules
44903         * modules/chown (Depends-on): Add stat.
44904         * modules/euidaccess (Depends-on): Likewise.
44905         * modules/fchdir (Depends-on): Likewise.
44906         * modules/isdir (Depends-on): Likewise.
44907         * modules/link (Depends-on): Likewise.
44908         * modules/lstat (Depends-on): Likewise.
44909         * modules/mkdir-p (Depends-on): Likewise.
44910         * modules/modechange (Depends-on): Likewise.
44911         * modules/open (Depends-on): Likewise.
44912         * modules/readlink (Depends-on): Likewise.
44913         * modules/same (Depends-on): Likewise.
44914
44915         stat: fix Solaris 9 bug
44916         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44917         slash.
44918         * lib/stat.c (rpl_stat): Work around it.
44919         * doc/posix-functions/stat.texi (stat): Update documentation.
44920
44921         stat: new module, for mingw bug
44922         * modules/stat: New file.
44923         * lib/stat.c: Likewise.
44924         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44925         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44926         * modules/sys_stat (Makefile.am): Use them.
44927         * lib/sys_stat.in.h (stat): Declare replacement.
44928         * lib/openat.c (fstatat): Deal with lstat and stat being function
44929         macros.
44930         * modules/openat (Depends-on): Add inline.
44931         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44932         * doc/posix-functions/stat.texi (stat): Likewise.
44933         * modules/stat-tests: New test.
44934         * tests/test-stat.c: Likewise.
44935
44936 2009-09-19  Jim Meyering  <meyering@redhat.com>
44937
44938         syntax-check: detect unnecessary inclusion of canonicalize.h
44939         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44940
44941 2009-09-19  Eric Blake  <ebb9@byu.net>
44942
44943         canonicalize-lgpl: adjust clients to use correct header
44944         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44945         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44946         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44947         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44948         * lib/progreloc.c (includes): Likewise.
44949
44950 2009-09-19  Jim Meyering  <meyering@redhat.com>
44951
44952         test-posixtm.c: correct a comment
44953         * tests/test-posixtm.c: Correct first-line comment.
44954         Spotted by Eric Blake.
44955
44956 2009-09-16  Jim Meyering  <meyering@redhat.com>
44957
44958         posixtm-tests: make T const-correct; add a test case
44959         * tests/test-posixtm.c (T): Declare const.
44960         Add a test for -(2^31+1).
44961         Remove useless can-succeed-only-in-2002 test.
44962
44963         posixtm-tests: adjust the sole failing test
44964         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44965         expected output matches what mktime now produces.  Cross-checked via
44966         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44967
44968         posixtm: move #ifdef'd tests into a new module
44969         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44970         * tests/test-posixtm.c: ... this new file.
44971         * modules/posixtm-tests: New module.
44972
44973 2009-09-19  Eric Blake  <ebb9@byu.net>
44974
44975         openat: simplify use of at-func.c
44976         * lib/at-func.c (includes): Include prerequisites here, to
44977         simplify requirements on client files.
44978         * lib/openat-priv.h: Add double-inclusion guard.
44979         * lib/faccessat.c (includes): Simplify.
44980         * lib/fchmodat.c (includes): Likewise.
44981         * lib/fchownat.c (includes): Likewise.
44982         * lib/mkdirat.c (includes): Likewise.
44983         * lib/mkfifoat.c (includes): Likewise.
44984         * lib/symlinkat.c (includes): Likewise.
44985
44986         openat: allow return of fd 0
44987         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44988         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44989         unistd-safer.
44990         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44991         <fcntl.h>; this module does not leak fds.
44992         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44993         must be allowed to return 0, leaving openat_safer to add the
44994         safety.
44995         (openat_permissive): Avoid writing to just-opened fd 2 if
44996         restoring the current directory fails.
44997         * lib/openat-die.c (openat_restore_fail): Add comment.
44998         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44999         (save_cwd): Guarantee safe fd, but without use of open_safer.
45000         * tests/test-openat.c: New test.
45001         * modules/openat-tests (Files, Makefile.am): Distribute and build
45002         new file.
45003
45004         relocatable-prog-wrapper: fix build
45005         * modules/relocatable-prog-wrapper (Files): Update name of
45006         canonicalize m4 file, broken on 2009-09-17.
45007         Reported by emad hajjar <aleppos@hotmail.com>.
45008
45009 2009-09-19  Bruno Haible  <bruno@clisp.org>
45010
45011         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45012         * lib/safe-alloc.c: Likewise.
45013         Reported by Ian Beckwith <ianb@erislabs.net>.
45014
45015 2009-09-18  Bruno Haible  <bruno@clisp.org>
45016
45017         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45018         Reported by <erobles@sensacd.com.mx>.
45019
45020 2009-09-17  Eric Blake  <ebb9@byu.net>
45021
45022         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45023         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45024         slashes when checking if last component is missing.
45025         * tests/test-canonicalize.c (main): Test this.
45026
45027         canonicalize, canonicalize-lgpl: honor // if distinct from /
45028         * modules/canonicalize (Files): Add double-slash-root.m4.
45029         * modules/canonicalize-lgpl (Files): Likewise.
45030         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45031         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45032         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45033         fallback definition.
45034         (canonicalize_filename_mode): Use it to protect //.
45035         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45036         (__realpath): Likewise.
45037         * tests/test-canonicalize.c (main): Test this.
45038         * tests/test-canonicalize-lgpl.c (main): Likewise.
45039         * modules/canonicalize-tests (Depends-on): Add same-inode.
45040         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45041
45042         canonicalize-lgpl: fix glibc bug with trailing slash
45043         * m4/canonicalize-lgpl.m4: Move contents...
45044         * m4/canonicalize.m4: ...here.
45045         (gl_CANONICALIZE_LGPL): Factor realpath check...
45046         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45047         glibc 2.3.5 bug, fixed 2005-04-27.
45048         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45049         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45050         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45051         * modules/canonicalize-lgpl (Files): Manage file rename.
45052         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45053         * modules/stdlib (Makefile.am): Substitute witness.
45054         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45055         is needed.
45056         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45057         replacement is required.
45058         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45059         * doc/glibc-functions/canonicalize_file_name.texi
45060         (canonicalize_file_name): Document this.
45061         * doc/posix-functions/realpath.texi (realpath): Likewise.
45062
45063         canonicalize-lgpl: reject non-directory with trailing slash
45064         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45065         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45066         catches failures in glibc 2.3.5.
45067         * tests/test-canonicalize.c (main): Likewise.
45068
45069         canonicalize-lgpl: use native realpath if it works
45070         * lib/canonicalize-lgpl.c (realpath): Guard with
45071         FUNC_REALPATH_WORKS.
45072         * lib/stdlib.in.h (realpath): Make declaration optional based on
45073         HAVE_REALPATH.
45074         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45075         native realpath works.
45076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45077         * modules/stdlib (Makefile.am): Substitute witness.
45078
45079         canonicalize, canonicalize-lgpl: use <stdlib.h>
45080         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45081         (Include): Mention <stdlib.h>.
45082         (configure.ac): Mention functions we provide.
45083         * modules/canonicalize (configure.ac): Likewise.
45084         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45085         realpath if canonicalize_file_name is missing.
45086         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45087         * modules/stdlib (Makefile.am): Substitute witnesses.
45088         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45089         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45090         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45091         * NEWS: Document this.
45092         * doc/glibc-functions/canonicalize_file_name.texi
45093         (canonicalize_file_name): Likewise.
45094         * doc/posix-functions/realpath.texi (realpath): Likewise.
45095         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45096
45097         test-canonicalize: consolidate into single C program
45098         * tests/test-canonicalize.sh: Delete; move setup into...
45099         * tests/test-canonicalize.c (main): ...the program, making it
45100         easier to run in debugger.  Add some tests.
45101         * modules/canonicalize-tests (Files): Remove unused file.
45102         (Depends-on): Add progname.
45103         (configure.ac, Makefile.am): Simplify.
45104
45105         test-canonicalize-lgpl: consolidate into single C program
45106         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45107         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45108         easier to run in debugger.  Add some tests.
45109         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45110         (configure.ac, Makefile.am): Simplify.
45111
45112         canonicalize: avoid resolvepath
45113         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45114         unnecessary checks.
45115         * lib/canonicalize.c (includes): Simplify.
45116         (canonicalize_file_name): Drop resolvepath implementation.
45117         * modules/canonicalize (Depends-on): Drop filenamecat.
45118
45119         canonicalize: don't lose errno
45120         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45121         over calls to free.
45122
45123         canonicalize: simplify errno handling
45124         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45125         assignment.
45126
45127         canonicalize, canonicalize-lgpl: update module dependencies
45128         * modules/canonicalize (Depends-on): Add extensions, lstat,
45129         pathmax, stdlib.
45130         (Files): Drop pathmax.h.
45131         (configure.ac): Adjust macro name.
45132         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45133         lstat, stdlib, sys_stat.
45134         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45135         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45136         extensions.
45137         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45138         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45139         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45140         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45141         declaration, if available.
45142         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45143         we can rely on the readlink module.
45144         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45145         (includes): Use <unistd.h> unconditionally.
45146
45147 2009-09-17  Eric Blake  <ebb9@byu.net>
45148
45149         maint: make Include sections of modules consistent
45150         * modules/alloca: Use only header name; no need to list #include.
45151         * modules/alloca-opt: Likewise.
45152         * modules/arpa_inet: Likewise.
45153         * modules/canon-host: Likewise.
45154         * modules/configmake: Likewise.
45155         * modules/dirent: Likewise.
45156         * modules/eealloc: Likewise.
45157         * modules/environ: Likewise.
45158         * modules/fchdir: Likewise.
45159         * modules/fcntl: Likewise.
45160         * modules/fcntl-h: Likewise.
45161         * modules/gethrxtime: Likewise.
45162         * modules/gettime: Likewise.
45163         * modules/ignore-value: Likewise.
45164         * modules/inet_ntop: Likewise.
45165         * modules/inet_pton: Likewise.
45166         * modules/inttypes: Likewise.
45167         * modules/isnand-nolibm: Likewise.
45168         * modules/isnanf-nolibm: Likewise.
45169         * modules/mbchar: Likewise.
45170         * modules/mbfile: Likewise.
45171         * modules/mbiter: Likewise.
45172         * modules/mbuiter: Likewise.
45173         * modules/netdb: Likewise.
45174         * modules/netinet_in: Likewise.
45175         * modules/nproc: Likewise.
45176         * modules/pagealign_alloc: Likewise.
45177         * modules/poll: Likewise.
45178         * modules/printf-frexp: Likewise.
45179         * modules/pthread: Likewise.
45180         * modules/putenv: Likewise.
45181         * modules/random_r: Likewise.
45182         * modules/relocatable-prog: Likewise.
45183         * modules/search: Likewise.
45184         * modules/select: Likewise.
45185         * modules/selinux-h: Likewise.
45186         * modules/settime: Likewise.
45187         * modules/signal: Likewise.
45188         * modules/size_max: Likewise.
45189         * modules/socklen: Likewise.
45190         * modules/ssize_t: Likewise.
45191         * modules/stdarg: Likewise.
45192         * modules/stdbool: Likewise.
45193         * modules/stddef: Likewise.
45194         * modules/stdint: Likewise.
45195         * modules/stdio: Likewise.
45196         * modules/stdlib: Likewise.
45197         * modules/string: Likewise.
45198         * modules/strings: Likewise.
45199         * modules/sys_file: Likewise.
45200         * modules/sys_ioctl: Likewise.
45201         * modules/sys_select: Likewise.
45202         * modules/sys_socket: Likewise.
45203         * modules/sys_stat: Likewise.
45204         * modules/sys_time: Likewise.
45205         * modules/sys_times: Likewise.
45206         * modules/sys_utsname: Likewise.
45207         * modules/sys_wait: Likewise.
45208         * modules/sysexits: Likewise.
45209         * modules/time: Likewise.
45210         * modules/times: Likewise.
45211         * modules/tmpfile: Likewise.
45212         * modules/trim: Likewise.
45213         * modules/unistd: Likewise.
45214         * modules/wchar: Likewise.
45215         * modules/wctype: Likewise.
45216
45217 2009-09-17  Bruno Haible  <bruno@clisp.org>
45218
45219         Make getdate.y compile on QNX and NetBSD 5 / i386.
45220         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45221         TIME_T_FITS_IN_LONG_INT.
45222         * lib/getdate.y (long_time_t): New type.
45223         (relative_time): Change type of 'seconds' field to long_time_t.
45224         (get_date): Update types of local variables. Check against overflow
45225         during conversion from long_time_t to time_t.
45226         Reported by Matt Kraai <kraai@ftbfs.org>
45227         and Hasso Tepper <hasso@netbsd.org>.
45228
45229 2009-09-17  Bruno Haible  <bruno@clisp.org>
45230
45231         * modules/COPYING: Update copyright years.
45232         * modules/README: Likeiwse.
45233         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45234         Reported by Ian Beckwith <ianb@erislabs.net>.
45235
45236 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45237
45238         * users.txt: Update references for gnuit package.
45239
45240 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45241
45242         * m4/getdelim.m4: Fix typo in copyright line.
45243
45244 2009-09-17  Bruno Haible  <bruno@clisp.org>
45245
45246         * lib/atoll.c: Use the standard header with GPL copyright.
45247         * lib/argz.in.h: Likewise.
45248         * lib/glob.c: Likewise.
45249         * lib/glob-libc.h: Likewise.
45250         * lib/random_r.c: Likewise.
45251         * lib/siglist.h: Likewise.
45252         * lib/strsignal.c: Likewise.
45253         Reported by Ian Beckwith <ianb@erislabs.net>.
45254
45255 2009-09-17  Eric Blake  <ebb9@byu.net>
45256
45257         rmdir: ensure correct dependency order
45258         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45259
45260 2009-09-17  Bruno Haible  <bruno@clisp.org>
45261
45262         Disable assertion that fails on NetBSD 5 / i386.
45263         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45264         Reported by Sam Steingold <sds@gnu.org>
45265         and Hasso Tepper <hasso@netbsd.org>.
45266
45267 2009-09-16  Eric Blake  <ebb9@byu.net>
45268
45269         unlinkdir: port to mingw
45270         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45271         on which no one can unlink a directory.
45272
45273         stdlib: sort witness names
45274         * modules/stdlib (Makefile.am): Sort replacements.
45275         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45276         * lib/stdlib.in.h: Likewise.
45277
45278         parse-duration-tests: avoid link failure
45279         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45280         LIBINTL.
45281         Reported by Tom G. Christensen.
45282
45283         openat-tests: ensure unlinkat behaves like rmdir
45284         * tests/test-rmdir.c (main): Factor guts...
45285         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45286         * modules/rmdir-tests (Files): Ship new file.
45287         * modules/openat-tests: New test.
45288         * tests/test-unlinkat.c: Likewise.
45289
45290         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45291         * modules/rmdir-errno (Status, Notice): Now obsolete.
45292
45293         rmdir: work around cygwin 1.5.x and mingw bugs
45294         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45295         * lib/rmdir.c (rmdir): Work around it.
45296         * modules/rmdir (Status, Notice): No longer obsolete.
45297         (Files): Add dos.m4.
45298         (Depends-on): Add unistd.
45299         (configure.ac): Set witnesses.
45300         (License): Relax to LGPLv2+.
45301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45302         * modules/unistd (Makefile.am): Substitute witnesses.
45303         * lib/unistd.in.h (rmdir): Declare replacement.
45304         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45305         * modules/rmdir-tests: New tests.
45306         * tests/test-rmdir.c: Likewise.
45307
45308 2009-09-15  Eric Blake  <ebb9@byu.net>
45309
45310         fchdir: improve use of replacement functions
45311         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45312         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45313         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45314         REPLACE_CLOSEDIR.
45315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45316         * modules/sys_stat (Makefile.am): Substitute correct witness.
45317         * modules/dirent (Makefile.am): Likewise.
45318         * modules/unistd (Makefile.am): Likewise.
45319         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45320         * lib/unistd.in.h (dup): Likewise.
45321         * lib/sys_stat.in.h (fstat): Likewise.
45322
45323         maint: ignore gnulib-tool temp files
45324         * .gitignore: Ignore files created during gnulib-tool --test.
45325
45326 2009-09-13  Jim Meyering  <meyering@redhat.com>
45327
45328         posixtm: don't reject a time that specify "60" as the number of seconds
45329         * lib/posixtm.c (posixtime): The code to reject invalid dates
45330         would also reject a time specified with the .60 suffix.
45331         But POSIX allows that, in order to accommodate leap seconds.
45332         So don't reject it.
45333         (main): Adjust tests accordingly.
45334         * modules/posixtm (Depends-on): Add stpcpy.
45335
45336 2009-09-11  Jim Meyering  <meyering@redhat.com>
45337
45338         announce-gen: include [$release_type] in emitted Subject:
45339         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45340         e.g., [stable] in the emitted Subject: line.
45341
45342 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45343
45344         Remove obsolete macros from several modules.
45345         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45346         obsolete Autoconf macros with their modern counterparts.
45347         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45348         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45349         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45350         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45351         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45352         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45354         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45355         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45356         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45357         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45358         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45359         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45360         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45361         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45362         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45363         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45364         * m4/time_r.m4 (gl_TIME_R): Likewise.
45365         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45366         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45367         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45368
45369         Fix copyright header in build-aux scripts.
45370         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45371         recommendation.
45372         * build-aux/ncftpput-ftp: Likewise.
45373         * build-aux/update-copyright: Likewise.
45374
45375 2009-09-09  Eric Blake  <ebb9@byu.net>
45376
45377         test-link: allow Linux choice of errno
45378         * tests/test-link.c (main): Relax test for alternate error.
45379
45380         strndup: fix improper m4 caching
45381         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45382         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45383         (gl_PREREQ_STRNDUP): Delete.
45384         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45385         * modules/string (Makefile.am): Substitute it.
45386         * lib/string.in.h (strndup): Modernize prototype.
45387
45388         getcwd: port to mingw
45389         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45390         different from the POSIX assumptions made throughout the getcwd
45391         module; fortunately, the mingw getcwd does not need replacement.
45392         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45393         * modules/getcwd-tests: New test.
45394         * tests/test-getcwd.c: Likewise.
45395
45396         link: fix platform bugs
45397         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45398         * lib/link.c (link): Work around them.  Fix related mingw bug.
45399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45400         * modules/unistd (Makefile.am): Substitute it.
45401         * lib/unistd.in.h (link): Declare replacement.
45402         * doc/posix-functions/link.texi (link): Document this.
45403         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45404
45405         test-link: consolidate into single C program, test more cases
45406         * tests/test-link.sh: Delete.
45407         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45408         at least Cygwin and Solaris.
45409         * modules/link-tests (Files): Remove unused file.
45410         (Depends-on): Add errno, sys_stat.
45411         (Makefile.am): Simplify.
45412
45413 2009-09-08  Bruno Haible  <bruno@clisp.org>
45414
45415         Work around towlower, towupper bug on mingw.
45416         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45417         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45418         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45419         * doc/posix-functions/towupper.texi: Likewise.
45420         Reported by Eric Blake.
45421
45422 2009-09-08  Jim Meyering  <meyering@redhat.com>
45423
45424         build: don't try to run autoheader if we don't use it
45425         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45426         is not used in configure.ac.
45427
45428 2009-09-08  Eric Blake  <ebb9@byu.net>
45429
45430         euidaccess: fix compilation error
45431         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45432
45433         rawmemchr: relax license
45434         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45435         okay.
45436         Reported by Jim Meyering.
45437
45438         mkfifoat: new module
45439         * modules/mkfifoat: New file.
45440         * lib/mkfifoat.c: Likewise.
45441         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45442         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45443         * modules/sys_stat (Makefile.am): Use them.
45444         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45445         * MODULES.html.sh (File system functions): Mention module.
45446         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45447         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45448         * modules/mkfifoat-tests: New test.
45449         * tests/test-mkfifoat.c: Likewise.
45450
45451         strchrnul: relax license
45452         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45453         okay.
45454         Reported by Jim Meyering.
45455
45456 2009-09-08  Eric Blake  <ebb9@byu.net>
45457
45458         fstatat: fix compilation on Solaris
45459         * lib/fstatat.c (includes): Add fcntl.h.
45460         Reported by Pádraig Brady.
45461
45462 2009-09-07  Eric Blake  <ebb9@byu.net>
45463
45464         rename: modernize replacement
45465         * modules/rename (Depends-on): Add stdio.
45466         (configure.ac): Declare witness.
45467         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45468         stdio take care of replacement.
45469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45470         * modules/stdio (Makefile.am): Substitute them.
45471         * lib/stdio.in.h (rename): Declare replacement.
45472         * lib/rename.c (includes): Allow cross-compilation to non-windows
45473         machines.
45474         * doc/posix-functions/rename.texi (rename): Improve
45475         documentation.
45476
45477         stdio: sort witness names
45478         * modules/stdio (Makefile.am): Sort replacements.
45479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45480         * lib/stdio.in.h: Likewise.
45481
45482         getcwd: minor cleanups
45483         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45484         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45485
45486         openat: provide more convenience names
45487         * modules/faccessat (configure.ac): Add C witness.
45488         * lib/unistd.in.h (readlinkat): Fix typo.
45489         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45490         convenience wrappers.
45491         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45492         wrappers in syntax checks.
45493
45494 2009-09-06  Eric Blake  <ebb9@byu.net>
45495
45496         doc: fix comments in recent patches
45497         * lib/faccessat.c: Mention correct function.
45498         * lib/fchmodat.c: Likewise.
45499         * lib/fchownat.c: Likewise.
45500         * lib/symlinkat.c: Likewise.
45501         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45502         constants.
45503
45504         faccessat, symlinkat: continue cleanup of previous patch
45505         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45506         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45507         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45508         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45509         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45510         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45511         set.
45512
45513 2009-09-06  Bruno Haible  <bruno@clisp.org>
45514
45515         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45516         (fstatat): Declare if GNULIB_FSTATAT is set.
45517         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45518         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45519         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45520         * modules/fcntl-h (Files): Remove m4/openat.m4.
45521         * modules/sys_stat (Files): Remove m4/openat.m4.
45522         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45523         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45524         * modules/unistd (Files): Remove m4/openat.m4.
45525         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45526         GNULIB_OPENAT.
45527         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45528         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45529         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45530         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45531         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45532         gl_OPENAT_DEFAULTS.
45533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45534         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45535         Don't require gl_OPENAT_DEFAULTS.
45536         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45537         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45538         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45539         (gl_OPENAT_DEFAULTS): Remove macro.
45540
45541 2009-09-06  Bruno Haible  <bruno@clisp.org>
45542
45543         * modules/openat (configure.ac): Remove unneeded witness.
45544
45545 2009-09-06  Bruno Haible  <bruno@clisp.org>
45546
45547         Set errno to ENOSYS when a function is entirely unsupported.
45548         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45549         EOPNOTSUPP.
45550         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45551         * modules/chown (Depends-on): Remove errno.
45552
45553 2009-09-06  Bruno Haible  <bruno@clisp.org>
45554
45555         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45556
45557 2009-09-06  Bruno Haible  <bruno@clisp.org>
45558
45559         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45560
45561 2009-09-06  Ben Pfaff  <blp@gnu.org>
45562             Bruno Haible  <bruno@clisp.org>
45563
45564         Work around a glibc bug in strtok_r.
45565         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45566         Undefine if UNDEFINE_STRTOK_R is set.
45567         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45568         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45569         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45570         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45571         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45572         UNDEFINE_STRTOK_R.
45573         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45574
45575 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45576
45577         exclude: minor fix
45578         * lib/exclude.c: Include wctype.h
45579
45580 2009-09-06  Akim Demaille  <demaille@gostai.com>
45581
45582         bootstrap: improve error message
45583         * build-aux/bootstrap (find_tool): Upon failure, report the list
45584         of candidates.
45585         Honor the initial value of the envvar.
45586
45587 2009-09-05  Eric Blake  <ebb9@byu.net>
45588
45589         symlinkat: new module
45590         * modules/symlinkat: New file.
45591         * lib/symlinkat.c: Likewise.
45592         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45594         * modules/unistd (Makefile.am): Use them.
45595         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45596         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45597         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45598         * MODULES.html.sh (File system functions): Mention module.
45599         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45600         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45601         * modules/symlinkat-tests: New test.
45602         * tests/test-symlinkat.c: Likewise.
45603
45604         test-openat-safer: add more checks
45605         * tests/test-openat-safer.c (main): Check more code paths.
45606
45607 2009-09-05  Jim Meyering  <meyering@redhat.com>
45608
45609         syntax-check: detect unnecessary inclusion of openat.h
45610         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45611
45612 2009-09-05  Bruno Haible  <bruno@clisp.org>
45613
45614         Support towlower, towupper.
45615         * doc/posix-functions/towlower.texi: Mention module wctype.
45616         * doc/posix-functions/towupper.texi: Likewise.
45617         * lib/wctype.in.h (towlower, towupper): New functions.
45618         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45619         (ASSERT): New macro.
45620         (e): New variable.
45621         (main): Test also towlower, towupper. Test WEOF argument.
45622         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45623
45624 2009-09-05  Bruno Haible  <bruno@clisp.org>
45625
45626         Fix conversion behaviour when the input is invalid.
45627         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45628         mark occurring in first pass of indirect conversion.
45629         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45630         input.
45631         Found by clang's static analyzer.
45632
45633 2009-09-05  Bruno Haible  <bruno@clisp.org>
45634
45635         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45636         where direct conversion is possible.
45637
45638 2009-09-04  Eric Blake  <ebb9@byu.net>
45639
45640         openat: fail with ENOENT on empty name
45641         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45642         buffer.
45643
45644         link-follow: fix logic bug in prior patch
45645         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45646         reversed sense of yes and no in prior patch.  Avoid confusing
45647         compilation failure with desired semantics.
45648
45649         link-follow: accommodate mingw and cross-compilation
45650         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45651         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45652         cross-compilation results to -1, to make linkat easier to
45653         implement when cross-compiling.  Trivially support mingw.
45654         * modules/link-follow (configure.ac): Call new name.
45655         * NEWS: Mention this.
45656
45657 2009-09-03  Eric Blake  <ebb9@byu.net>
45658
45659         faccessat: compile replacement
45660         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45661         needed.
45662
45663         fts: fix compilation error
45664         * lib/fts.c (includes): Re-add "openat.h", for
45665         openat_needs_fchdir.
45666
45667         faccessat: new module
45668         * modules/faccessat: New file.
45669         * lib/faccessat.c: Likewise.
45670         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45672         * modules/unistd (Makefile.am): Use it.
45673         * lib/unistd.in.h (faccessat): Declare it.
45674         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45675         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45676         * MODULES.html.sh (File system functions): Mention it.
45677         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45678         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45679
45680         euidaccess: prefer POSIX over non-standard implementation
45681         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45682         * lib/euidaccess.c (euidaccess): Use it if available.
45683
45684         openat: make template easier to use
45685         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45686         AT_FUNC_F2 to be undefined.
45687         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45688         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45689         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45690         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45691         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45692         Likewise.
45693         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45694         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45695         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45696         Likewise.
45697
45698         openat: declare in POSIX headers
45699         * NEWS: Mention this.
45700         * modules/openat (configure.ac): Declare witnesses.
45701         (Depends-on): Add fcntl-h, sys_stat, unistd.
45702         (Include): Mention correct headers.
45703         * modules/fcntl-h (Depends-on): Add link-warning.
45704         (Files): Add openat.m4.
45705         (Makefile.am): Substitute witnesses.
45706         * modules/sys_stat (Files, Makefile.am): Likewise.
45707         * modules/unistd (Files, Makefile.am): Likewise.
45708         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45709         (gl_OPENAT_DEFAULTS): New macro.
45710         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45712         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45713         (SYS_STAT_H): Remove unused variable.
45714         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45715         * lib/fcntl--.h (includes): Remove unneeded header.
45716         * lib/openat-safer.c (includes): Likewise.
45717         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45718         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45719         appropriate headers.
45720         (__OPENAT_PREFIX): Delete.
45721         * lib/fcntl.in.h (openat): Provide declaration.
45722         (AT_FDCWD): Fix Solaris bug.
45723         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45724         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45725         * lib/fchmodat.c (includes):  Adjust to find declaration.
45726         * lib/fchownat.c (includes): Likewise.
45727         * lib/mkdirat.c (includes): Likewise.
45728         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45729         still visible.
45730
45731 2009-09-02  Eric Blake  <ebb9@byu.net>
45732
45733         errno: use consistently
45734         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45735         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45736         * lib/canonicalize.c (ELOOP): Likewise.
45737         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45738         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45739         * lib/lchown.c (EOPNOTSUPP): Likewise.
45740         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45741         * lib/savewd.c (ESTALE): Likewise.
45742         * lib/settime.c (ENOSYS): Likewise.
45743         * lib/utimens.c (ENOSYS): Likewise.
45744         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45745         * lib/chdir-safer.c (ELOOP): Likewise.
45746         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45747         * modules/c-stack (Depends-on): Add errno.
45748         * modules/canonicalize (Depends-on): Likewise.
45749         * modules/chdir-safer (Depends-on): Likewise.
45750         * modules/fdopendir (Depends-on): Likewise.
45751         * modules/inet_ntop (Depends-on): Likewise.
45752         * modules/inet_pton (Depends-on): Likewise.
45753         * modules/lchown (Depends-on): Likewise.
45754         * modules/openat (Depends-on): Likewise.
45755         * modules/savewd (Depends-on): Likewise.
45756         * modules/settime (Depends-on): Likewise.
45757         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45758
45759         fts: avoid leaking fds
45760         * modules/fts (Depends-on): Add cloexec.
45761         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45762         flag.
45763
45764         fts: make directory fds more robust
45765         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45766         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45767
45768         backupfile, chdir-long, fts, savedir: make safer
45769         * lib/backupfile.c (includes): Use "dirent--.h", since
45770         numbered_backup can write to stderr during readdir.
45771         * lib/savedir.c (includes): Likewise.
45772         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45773         emulation can write to stderr on failure.
45774         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45775         * lib/getcwd.c: Document why opendir_safer is unused.
45776         * lib/glob.c: Likewise.
45777         * lib/scandir.c: Likewise.
45778         * lib/openat-proc.c: Likewise, for open_safer.
45779         * modules/backupfile (Depends-on): Add dirent-safer.
45780         * modules/savedir (Depends-on): Likewise.
45781         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45782         * modules/chdir-long (Depends-on): Add openat-safer.
45783
45784         openat-safer: new module
45785         * modules/openat-safer: New file.
45786         * lib/openat-safer.c: Likewise.
45787         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45788         * lib/fcntl-safer.h (openat_safer): Declare.
45789         * lib/fcntl--.h (openat): Override.
45790         * MODULES.html.sh (File descriptor based I/O): Mention it.
45791         * lib/openat.h: Add double-inclusion guards.
45792         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45793         "fcntl--.h", so we can implement openat.
45794         * modules/openat-safer-tests: New test.
45795         * tests/test-openat-safer.c: New file.
45796
45797         dirent-safer: new module
45798         * modules/dirent-safer: New file.
45799         * lib/dirent--.h: Likewise.
45800         * lib/dirent-safer.h: Likewise.
45801         * lib/opendir-safer.c: Likewise.
45802         * m4/dirent-safer.m4: Likewise.
45803         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45804         * modules/dirent-safer-tests: New test.
45805         * tests/test-dirent-safer.c: New file.
45806         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45807
45808         fdopendir: optimize on mingw
45809         * lib/unistd.in.h (_gl_directory_name): New prototype.
45810         * lib/fchdir.c (_gl_directory_name): Implement it.
45811         (fchdir): Use it to simplify implementation.
45812         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45813         fchdir, when available, to avoid calling [f]chdir().
45814
45815         fdopendir: split into its own module
45816         * lib/openat.c (fdopendir): Move...
45817         * lib/fdopendir.c: ...into new file.
45818         * modules/fdopendir: New module.
45819         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45820         * modules/openat (Depends-on): Add fdopendir.
45821         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45822         fdopendir here.
45823         * modules/savedir (Depends-on): Only need fdopendir, not full
45824         openat.
45825         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45826         * lib/openat.h (fdopendir): Drop prototype.
45827         * lib/dirent.in.h (fdopendir): Provide prototype.
45828         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45829         * modules/dirent (Makefile.am): Substitute them.
45830         * MODULES.html.sh (File system functions): Mention it.
45831         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45832         * modules/fdopendir-tests: New file.
45833         * tests/test-fdopendir.c: Likewise.
45834
45835         fchdir: use more consistent macro convention
45836         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45837         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45838         REPLACE_FCHDIR, rather than relying on config.h macros.
45839         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45840         inside a single make-time REPLACE_FCHDIR block, rather than using
45841         the config.h FCHDIR_REPLACEMENT.
45842         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45843         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45844         Manage fstat replacement.
45845         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45846         REPLACE_FCHDIR.
45847         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45848         (Makefile.am): Substitute REPLACE_FCHDIR.
45849         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45850         FCHDIR_REPLACEMENT.
45851         * lib/dup-safer.c (dup_safer): Likewise.
45852         * lib/dup2.c (rpl_dup2): Likewise.
45853         * lib/dup3.c (rpl_dup3): Likewise.
45854         * lib/open.c (rpl_open): Likewise.
45855
45856         fchdir: simplify error handling, and support dup3
45857         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45858         stdbool, malloc-posix, realloc-posix.
45859         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45860         (ensure_dirs_slot): Return false on allocation failure.
45861         (rpl_dup2): Delete.
45862         (_gl_register_dup): New function.
45863         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45864         (_gl_register_fd): Close fd on allocation failure.
45865         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45866         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45867         prototype.
45868         (rpl_dup2_fchdir): Delete prototype.
45869         * lib/open.c (open): Update caller.
45870         * lib/dup2.c (dup2): Track fchdir metadata.
45871         * lib/dup3.c (dup3): Likewise.
45872         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45873         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45874
45875 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45876
45877         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45878         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45879         don't pass arguments to AC_OUTPUT.
45880
45881 2009-09-02  Bruno Haible  <bruno@clisp.org>
45882
45883         * modules/mkdtemp (License): Relicense under LGPLv2+.
45884         Reported by Paolo Bonzini.
45885
45886 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45887
45888         Replace uses of obsolete autoconf macros in Jim's modules.
45889         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45890         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45891         can evoke a warning from autoconf when run with -Wobsolete
45892         enabled.  They were declared obsolete for good reasons (see
45893         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45894         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45895         should not continue using the deprecated macros.
45896         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45897         obsolete Autoconf macros with modern counterparts.
45898         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45899         * m4/dos.m4 (gl_AC_DOS): Likewise.
45900         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45901         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45902         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45903         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45904         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45905         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45906         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45907         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45908         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45909         Likewise.
45910         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45911         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45912         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45913         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45914         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45915         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45916
45917 2009-09-01  Eric Blake  <ebb9@byu.net>
45918
45919         fchdir: fix off-by-one bug in previous patch
45920         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45921         (_gl_unregister_fd): Delete useless if.
45922
45923 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45924
45925         maint.mk: sort the list of syntax-check rules
45926         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45927         easier to get a sense of progress when the rules are run sequentially
45928         and take a long time.
45929
45930 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45931
45932         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45933         * modules/netinet_in: Likewise.
45934         * modules/sys_file: Likewise.
45935         * modules/sys_ioctl: Likewise.
45936         * modules/sys_select: Likewise.
45937         * modules/sys_socket: Likewise.
45938         * modules/sys_stat: Likewise.
45939         * modules/sys_time: Likewise.
45940         * modules/sys_times: Likewise.
45941         * modules/sys_utsname: Likewise.
45942         * modules/sys_wait: Likewise.
45943
45944 2009-09-01  Jim Meyering  <meyering@redhat.com>
45945
45946         fts: help ensure that return values are not ignored
45947         * lib/fts_.h (__GNUC_PREREQ): Define.
45948         (__attribute_warn_unused_result__): Define.
45949         (fts_children, fts_close, fts_open, fts_read): Declare with
45950         __attribute_warn_unused_result__.
45951
45952         fts: fts_close now fails also when closing a dir file descriptor fails
45953         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45954         and propagate to caller, along with errno.
45955
45956         announce-gen: correct formatting in --help output
45957         * build-aux/announce-gen (usage): Move the one-line description in
45958         --help output "up", to where it belongs, just after Usage:.
45959
45960 2009-08-31  Eric Blake  <ebb9@byu.net>
45961
45962         fchdir: port to mingw
45963         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45964         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45965         opened, then use a substitute.
45966         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45967         replacement.
45968         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45969         (_gl_register_fd): No need to check stat if open already filters
45970         all directories.
45971         (fchdir): Fix error condition to match POSIX.
45972         * modules/fchdir (Depends-on): Add sys_stat.
45973         * doc/posix-functions/open.texi (open): Document the limitation.
45974         * modules/fchdir-tests: New file.
45975         * tests/test-fchdir.c: Likewise.
45976
45977         canonicalize: allow cross-testing from cygwin to mingw
45978         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45979         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45980         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45981         Likewise.
45982         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45983         target does not support symlinks.
45984         * tests/test-canonicalize-lgpl.sh: Likewise.
45985
45986         chown: avoid compilation warning on mingw
45987         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45988         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45989         mingw.
45990         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45991         * modules/chown (Depends-on): Add errno.
45992
45993 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45994
45995         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45996         command.
45997
45998 2009-08-31  Jim Meyering  <meyering@redhat.com>
45999
46000         canonicalize: remove useless initialization
46001         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46002         initialization of local, "end".
46003
46004 2009-08-30  Bruno Haible  <bruno@clisp.org>
46005
46006         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46007         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46008         ENOSYS.
46009
46010 2009-08-30  Bruno Haible  <bruno@clisp.org>
46011
46012         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46013         /usr/xpg4/bin/tr when it exists.
46014         * tests/test-pipe-filter-gi1.sh: Likewise.
46015
46016 2009-08-30  Bruno Haible  <bruno@clisp.org>
46017
46018         Work around deficient /usr/bin/id program on Solaris.
46019         * tests/test-file-has-acl.sh (ID): New variable.
46020         * tests/test-set-mode-acl.sh (ID): Likewise.
46021         * tests/test-copy-acl.sh (ID): Likewise.
46022         * tests/test-copy-file.sh (ID): Likewise.
46023
46024 2009-08-30  Bruno Haible  <bruno@clisp.org>
46025
46026         New module 'xstriconveh'.
46027         * lib/xstriconveh.h: New file.
46028         * lib/xstriconveh.c: New file.
46029         * modules/xstriconveh: New file.
46030
46031 2009-08-30  Bruno Haible  <bruno@clisp.org>
46032
46033         Make it easier to use mem_cd_iconveh.
46034         * lib/striconveh.h (iconveh_t): New type.
46035         (iconveh_open, iconveh_close): New declarations.
46036         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46037         with a single 'const iconveh_t *' argument.
46038         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46039         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46040         with a single 'const iconveh_t *' argument.
46041         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46042         * tests/test-striconveh.c (main): Update.
46043         * NEWS: Mention the change.
46044
46045 2009-08-30  Bruno Haible  <bruno@clisp.org>
46046
46047         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46048         problem.
46049
46050 2009-08-30  Bruno Haible  <bruno@clisp.org>
46051
46052         Work around iconv_open problem on Solaris.
46053         * lib/iconv_open-solaris.gperf: New file.
46054         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46055         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46056         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46057         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46058         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46059         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46060
46061 2009-08-29  Jim Meyering  <meyering@redhat.com>
46062
46063         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46064         * top/maint.mk (cvs-check): Remove target; it was just an alias
46065         to the better-named vc-diff-check.
46066         (maintainer-distcheck): Remove rule.  It was used only from
46067         the (alpha/beta/major) target, and all of its commands but one
46068         were coreutils-specific.
46069         (vc-dist): Remove rule.
46070         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46071         Run vc-diff-check, not vc-dist.
46072         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46073
46074 2009-08-27  Bruno Haible  <bruno@clisp.org>
46075
46076         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46077         of 0.
46078
46079 2009-08-27  Bruno Haible  <bruno@clisp.org>
46080
46081         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46082         compilers.
46083         * doc/func.texi: Document the SunPRO C bug.
46084
46085 2009-08-27  Bruno Haible  <bruno@clisp.org>
46086
46087         Fix link error on Solaris.
46088         * tests/test-parse-duration.c (xstrdup): Remove function.
46089
46090 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46091
46092         ignore-value: handle pointer types, too
46093         * lib/ignore-value.h (__attribute__): Remove definition.
46094         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46095         of a more concise and more-often effective "(void) i" statement.
46096         (ignore_ptr): New function to suppress warnings from functions that
46097         return pointers, and to make it explicit that one function doesn't
46098         handle all cases.
46099
46100 2009-08-25  Bruno Haible  <bruno@clisp.org>
46101
46102         dup2: work around a Linux bug.
46103         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46104         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46105         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46106         Reported by Simon Josefsson.
46107
46108 2009-08-25  Jim Meyering  <meyering@redhat.com>
46109
46110         libguestfs uses gnulib
46111         * users.txt: Add libguestfs.
46112
46113 2009-08-24  Eric Blake  <ebb9@byu.net>
46114
46115         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46116         * lib/pipe2.c (includes): Add binary-io.h.
46117         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46118
46119 2009-08-24  Bruno Haible  <bruno@clisp.org>
46120
46121         Tolerate declared but missing accept4 syscall.
46122         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46123         available.
46124         * lib/sys_socket.in.h (accept4): If the function is already present,
46125         override it.
46126         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46127         * modules/accept4 (Makefile.am): Compile accept4.c always.
46128         Reported by Paolo Bonzini and Eric Blake.
46129
46130 2009-08-23  Bruno Haible  <bruno@clisp.org>
46131
46132         New module 'accept4'.
46133         * lib/sys_socket.in.h (accept4): New declaration.
46134         * lib/accept4.c: New file.
46135         * m4/accept4.m4: New file.
46136         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46137         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46138         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46139         HAVE_ACCEPT4.
46140         * modules/accept4: New file.
46141         * doc/glibc-functions/accept4.texi: Mention the new module.
46142
46143 2009-08-24  Jim Meyering  <meyering@redhat.com>
46144
46145         progname: also set global program_invocation_name, when possible
46146         Before this change, a libtool-enabled program that calls glibc's
46147         error function would report the program name as
46148         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46149         * modules/progname (configure.ac): Check for a declaration of
46150         program_invocation_name.
46151         * lib/progname.c:  Include <errno.h>.
46152         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46153         Set program_invocation_name.
46154
46155 2009-08-23  Bruno Haible  <bruno@clisp.org>
46156
46157         * lib/dup3.c: Include <string.h>.
46158
46159 2009-08-23  Bruno Haible  <bruno@clisp.org>
46160
46161         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46162         * lib/pipe2.c (pipe2): Likewise.
46163         Suggested by Eric Blake.
46164
46165 2009-08-23  Bruno Haible  <bruno@clisp.org>
46166
46167         Tolerate declared but missing dup3 syscall.
46168         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46169         * lib/unistd.in.h (dup3): If the function is already present,
46170         override it.
46171         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46172         * modules/dup3 (Makefile.am): Compile dup3.c always.
46173         Reported by Paolo Bonzini.
46174
46175 2009-08-23  Bruno Haible  <bruno@clisp.org>
46176
46177         Tolerate declared but missing pipe2 syscall.
46178         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46179         available.
46180         * lib/unistd.in.h (pipe2): If the function is already present,
46181         override it.
46182         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46183         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46184         Reported by Paolo Bonzini.
46185
46186 2009-08-23  Bruno Haible  <bruno@clisp.org>
46187
46188         * lib/pipe2.c (pipe2): Move #ifs inside function.
46189
46190 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46191
46192         quotearg: document limitations of quote_these_too
46193         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46194         those limitations are created.
46195         * lib/quotearg.h (set_char_quoting): Document that digits and
46196         letters that are special after backslash are not permitted.
46197         (quotearg_char): Cross-reference set_char_quoting documentation.
46198
46199 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46200
46201         quotearg: implement custom_quoting_style
46202         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46203         right_quote fields.
46204         (set_custom_quoting): New public function.
46205         (quotearg_buffer_restyled): Add left_quote and right_quote
46206         arguments, handle them very much like locale quoting, and update
46207         all uses.
46208         (quotearg_n_custom): New public function.
46209         (quotearg_n_custom_mem): New public function.
46210         (quotearg_custom): New public function.
46211         (quotearg_custom_mem): New public function.
46212         * lib/quotearg.h: Prototype and document new public functions.
46213         (enum quoting_style): For escape_quoting_style and
46214         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46215         ignored even though they're otherwise like c_quoting_style.
46216         Add custom_quoting_style member and document with comparison to
46217         clocale_quoting_style.
46218         * tests/test-quotearg.c (custom_quotes): New array.
46219         (custom_results): New array.
46220         (main): Extend to test custom quoting.
46221
46222 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46223
46224         quotearg: fix right quote escaping when it's in quote_these_too
46225         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46226         quote, be sure to prepend only one backslash.
46227         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46228         (main): Test it.
46229
46230 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46231
46232         quotearg-tests: test escaping of embedded locale quotes
46233         * tests/test-quotearg.c (struct result_strings): Add member for
46234         new input.
46235         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46236         (inputs): Add new input.
46237         (results_g): Add expected results.
46238         (flag_results): Likewise.
46239         (locale_results): Likewise.
46240         (compare_strings): Check those.
46241
46242 2009-08-23  Bruno Haible  <bruno@clisp.org>
46243
46244         Tests for module 'dup3'.
46245         * modules/dup3-tests: New file.
46246         * tests/test-dup3.c: New file.
46247
46248         New module 'dup3'.
46249         * lib/unistd.in.h (dup3): New declaration.
46250         * lib/dup3.c: New file.
46251         * m4/dup3.m4: New file.
46252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46253         HAVE_DUP3.
46254         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46255         * modules/dup3: New file.
46256         * doc/glibc-functions/dup3.texi: Mention the new module.
46257
46258 2009-08-23  Bruno Haible  <bruno@clisp.org>
46259
46260         Tweak the dup2 test.
46261         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46262         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46263         the test file is still empty. Fix argument order of lseek.
46264
46265 2009-08-23  Bruno Haible  <bruno@clisp.org>
46266
46267         Avoid test link errors when the modules getopt-gnu, gettext are used.
46268         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46269         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46270
46271 2009-08-23  Bruno Haible  <bruno@clisp.org>
46272
46273         Fix getdtablesize() on mingw.
46274         * lib/getdtablesize.c (getdtablesize): Implement differently.
46275         * lib/unistd.in.h (getdtablesize): Improve comment.
46276
46277 2009-08-23  Bruno Haible  <bruno@clisp.org>
46278
46279         New module 'mkostemp'.
46280         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46281         * lib/stdlib.in.h (mksotemp): New declaration.
46282         * lib/mkostemp.c: New file, from glibc with modifications.
46283         * lib/tempname.h (GT_FILE): Remove outdated comment.
46284         (gen_tempname): Add flags argument.
46285         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46286         (__GT_FILE): Map to 1.
46287         (small_open, large_open): Remove macros.
46288         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46289         * lib/mkstemp.c (mkstemp): Update.
46290         * lib/mkdtemp.c (mkdtemp): Likewise.
46291         * m4/mkostemp.m4: New file.
46292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46293         HAVE_MKOSTEMP.
46294         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46295         HAVE_MKOSTEMP.
46296         * modules/mkostemp: New file, based on modules/mkstemp.
46297         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46298         * NEWS: Mention the change.
46299
46300 2009-08-23  Bruno Haible  <bruno@clisp.org>
46301
46302         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46303         Reported by Eric Blake.
46304
46305 2009-08-23  Bruno Haible  <bruno@clisp.org>
46306
46307         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46308         Reported by Eric Blake.
46309
46310 2009-08-23  Bruno Haible  <bruno@clisp.org>
46311
46312         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46313         * modules/pipe2 (Depends-on): Likewise.
46314
46315 2009-08-23  Eric Blake  <ebb9@byu.net>
46316
46317         fcntl-h: add O_TTY_INIT support
46318         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46319         * tests/test-fcntl-h.c (o): Test it.
46320         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46321
46322         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46323         * modules/fcntl: Move <fcntl.h> header replacement...
46324         * modules/fcntl-h: ...to new name, so as not to collide with
46325         like-named function.
46326         * tests/test-fcntl.c: Rename...
46327         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46328         * modules/fcntl-tests: Rename...
46329         * modules/fcntl-h-tests: ...to this.  Update test file name.
46330         * modules/chdir-long (Depends-on): Update clients.
46331         * modules/chdir-safer (Depends-on): Likewise.
46332         * modules/fcntl-safer (Depends-on): Likewise.
46333         * modules/fts (Depends-on): Likewise.
46334         * modules/mkancesdirs (Depends-on): Likewise.
46335         * modules/mkdir-p (Depends-on): Likewise.
46336         * modules/open (Depends-on): Likewise.
46337         * modules/savewd (Depends-on): Likewise.
46338         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46339         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46340
46341 2009-08-22  Bruno Haible  <bruno@clisp.org>
46342
46343         * modules/binary-io (License): Relicense under LGPL.
46344         * modules/pipe2 (License): Likewise.
46345
46346 2009-08-22  Bruno Haible  <bruno@clisp.org>
46347
46348         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46349         return value.
46350         * lib/pipe-filter-gi.c (filter_init): Likewise.
46351         Reported by Eric Blake.
46352
46353 2009-08-22  Bruno Haible  <bruno@clisp.org>
46354
46355         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46356         * modules/pipe (Depends-on): Add pipe2.
46357
46358 2009-08-22  Bruno Haible  <bruno@clisp.org>
46359
46360         Tests for module 'pipe2'.
46361         * modules/pipe2-tests: New file.
46362         * tests/test-pipe2.c: New file.
46363
46364         New module 'pipe2'.
46365         * lib/unistd.in.h (pipe2): New declaration.
46366         * lib/pipe2.c: New file.
46367         * m4/pipe2.m4: New file.
46368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46369         HAVE_PIPE2.
46370         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46371         * modules/pipe2: New file.
46372         * doc/glibc-functions/pipe2.texi: Mention the new module.
46373
46374 2009-08-22  Bruno Haible  <bruno@clisp.org>
46375
46376         Reference some new glibc functions.
46377         * doc/glibc-functions/accept4.texi: New file.
46378         * doc/glibc-functions/dup3.texi: New file.
46379         * doc/glibc-functions/mkostemp.texi: New file.
46380         * doc/glibc-functions/pipe2.texi: New file.
46381         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46382         (Glibc sys/socket.h): Refer to accept4.
46383         (Glibc unistd.h): Refer to dup3, pipe2.
46384         Reported by Eric Blake.
46385
46386 2009-08-22  Jim Meyering  <meyering@redhat.com>
46387             Bruno Haible  <bruno@clisp.org>
46388
46389         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46390         This makes it so packages using automake-1.11's silent-rules option
46391         can print e.g., a single "GEN    configmake.h" line, rather than
46392         the 30+ statements that perform the job.  If you want to see the
46393         actual commands, you can still run "make V=1".
46394         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46395         so that make output is abbreviated when those variables are defined
46396         appropriately.
46397         * modules/argz: Likewise.
46398         * modules/arpa_inet: Likewise.
46399         * modules/byteswap: Likewise.
46400         * modules/configmake: Likewise.
46401         * modules/dirent: Likewise.
46402         * modules/errno: Likewise.
46403         * modules/fcntl: Likewise.
46404         * modules/float: Likewise.
46405         * modules/fnmatch: Likewise.
46406         * modules/getopt-posix: Likewise.
46407         * modules/glob: Likewise.
46408         * modules/iconv_open: Likewise.
46409         * modules/inttypes: Likewise.
46410         * modules/localcharset: Likewise.
46411         * modules/locale: Likewise.
46412         * modules/math: Likewise.
46413         * modules/netdb: Likewise.
46414         * modules/netinet_in: Likewise.
46415         * modules/poll: Likewise.
46416         * modules/posix_spawnp-tests: Likewise.
46417         * modules/sched: Likewise.
46418         * modules/search: Likewise.
46419         * modules/selinux-h: Likewise.
46420         * modules/signal: Likewise.
46421         * modules/spawn: Likewise.
46422         * modules/stdarg: Likewise.
46423         * modules/stdbool: Likewise.
46424         * modules/stddef: Likewise.
46425         * modules/stdint: Likewise.
46426         * modules/stdio: Likewise.
46427         * modules/stdlib: Likewise.
46428         * modules/string: Likewise.
46429         * modules/strings: Likewise.
46430         * modules/sys_file: Likewise.
46431         * modules/sys_ioctl: Likewise.
46432         * modules/sys_select: Likewise.
46433         * modules/sys_socket: Likewise.
46434         * modules/sys_stat: Likewise.
46435         * modules/sys_time: Likewise.
46436         * modules/sys_times: Likewise.
46437         * modules/sys_utsname: Likewise.
46438         * modules/sys_wait: Likewise.
46439         * modules/sysexits: Likewise.
46440         * modules/time: Likewise.
46441         * modules/unistd: Likewise.
46442         * modules/wchar: Likewise.
46443         * modules/wctype: Likewise.
46444
46445 2009-08-22  Jim Meyering  <meyering@redhat.com>
46446
46447         announce-gen: detect write failure
46448         * build-aux/announce-gen: Add Coda at end.
46449         Remove equivalent-but-more-verbose block at top.
46450
46451 2009-08-19  Akim Demaille  <demaille@gostai.com>
46452
46453         bootstrap: --help to stdout.
46454         * bootstrap (usage): Don't send --help to stderr.
46455         Use a here doc instead of a long string.
46456
46457 2009-08-21  Eric Blake  <ebb9@byu.net>
46458
46459         test-popen-safer: split from test-popen
46460         * tests/test-popen.c (main): Move...
46461         * tests/test-popen.h: ...into new file.
46462         * tests/test-popen-safer2.c: New file.
46463         * modules/popen-tests (Files): Add test-popen.h.
46464         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46465         Suggested by Bruno Haible.
46466
46467         test-fcntl-safer: split from test-open
46468         * tests/test-open.c (main): Move...
46469         * tests/test-open.h: ...into new file.
46470         * tests/test-fcntl-safer.c: New file.
46471         * modules/open-tests (Files): Add test-open.h.
46472         * modules/fcntl-safer-tests: New file.
46473         Suggested by Bruno Haible.
46474
46475         test-fopen-safer: split from test-fopen
46476         * tests/test-fopen.c (main): Move...
46477         * tests/test-fopen.h: ...into new file.
46478         * tests/test-fopen-safer.c: New file.
46479         * modules/fopen-tests (Files): Add test-fopen.h.
46480         * modules/fopen-safer-tests: New file.
46481         Suggested by Bruno Haible.
46482
46483 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46484
46485         popen-safer: test O_CLOEXEC at run-time.
46486         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46487
46488 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46489
46490         fcntl: move more flags to the header
46491         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46492         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46493         * lib/fcntl.in.h: Do both things here.
46494
46495 2009-08-21  Jim Meyering  <meyering@redhat.com>
46496
46497         consistently remove $@-t before redirecting to it
46498         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46499         * modules/alloca-opt: Likewise.
46500         * modules/byteswap: Likewise.
46501         * modules/fnmatch: Likewise.
46502         * modules/getopt-posix: Likewise.
46503         * modules/glob: Likewise.
46504         * modules/poll: Likewise.
46505         * modules/posix_spawnp-tests: Likewise.
46506         * modules/sys_socket: Likewise.
46507         * modules/sysexits: Likewise.
46508
46509 2009-08-21  Eric Blake  <ebb9@byu.net>
46510
46511         popen: simplify access to original popen
46512         * lib/popen.c (rpl_popen): No need to worry about popen being a
46513         macro.
46514         Reported by Bruno Haible.
46515
46516 2009-08-20  Eric Blake  <ebb9@byu.net>
46517
46518         build: avoid some compiler warnings
46519         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46520         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46521         type.
46522         (new_exclude_segment, excluded_file_pattern_p)
46523         (excluded_file_name_p): Reduce scope.
46524         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46525         old-style declaration.
46526
46527 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46528
46529         * tests/test-exclude1.sh: Handle Windows EOL.
46530         * tests/test-exclude2.sh: Likewise.
46531         * tests/test-exclude3.sh: Likewise.
46532         * tests/test-exclude4.sh: Likewise.
46533         * tests/test-exclude5.sh: Likewise.
46534         * tests/test-exclude6.sh: Likewise.
46535         * tests/test-exclude7.sh: Likewise.
46536
46537 2009-08-19  Akim Demaille  <demaille@gostai.com>
46538
46539         bootstrap: find sha1sum when named gsha1sum.
46540         * bootstrap (find_tool): New.
46541         ($SHA1SUM): New.
46542         Use it.
46543
46544 2009-08-20  Jim Meyering  <meyering@redhat.com>
46545
46546         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46547         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46548         expression that converts "." in a file name to "\." in the resulting
46549         regexp.  Start with a dummy statement, so that prior shell variable
46550         definitions are expanded portably.  Reported by Simon Josefsson.
46551
46552 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46553
46554         Fix polling for writeability of a screen buffer.
46555         * lib/poll.c: Distinguish input and screen buffers for the
46556         Win32 implementation.
46557         * lib/select.c: Likewise.
46558
46559 2009-08-19  Eric Blake  <ebb9@byu.net>
46560
46561         popen-safer: prevent popen from clobbering std descriptors
46562         * modules/popen-safer: New file.
46563         * lib/popen-safer.c: Likewise.
46564         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46565         * lib/stdio--.h (popen): Provide override.
46566         * lib/stdio-safer.h (popen_safer): Provide declaration.
46567         * tests/test-popen.c (includes): Partially test this.
46568         * modules/popen-safer-tests: New file, for more tests.
46569         * tests/test-popen-safer.c: Likewise.
46570         * MODULES.html.sh (file stream based Input/Output): Mention it.
46571
46572         tests: test some of the *-safer modules
46573         * modules/fopen-safer (Depends-on): Add fopen.
46574         * modules/fcntl-safer (Depends-on): Add fcntl.
46575         * modules/stdlib-safer (Depends-on): Add stdlib.
46576         (configure.ac): Set indicator.
46577         * modules/unistd-safer (configure.ac): Likewise.
46578         * modules/tmpfile-safer (configure.ac): Likewise.
46579         (Depends-on): Add tmpfile.
46580         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46581         active.
46582         * tests/test-fopen.c (includes): Test safer versions when they are
46583         in use.
46584         * tests/test-open.c (includes): Likewise.
46585
46586         popen: fix cygwin 1.5 bug when stdin closed
46587         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46588         * modules/popen: New file.
46589         * modules/popen-tests: Likewise.
46590         * tests/test-popen.c: Likewise.
46591         * m4/popen.m4: Likewise.
46592         * lib/popen.c: Likewise.
46593         * lib/stdio.in.h (popen): New declaration.
46594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46595         * modules/stdio (Makefile.am): Likewise.
46596         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46597
46598 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46599
46600         maint.mk: give full control over update-copyright exclusions
46601         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46602         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46603         (update-copyright): Don't force inclusion of top-level
46604         ChangeLog.  Don't force exclusion of all COPYING files, but make
46605         them the default exclusion instead.
46606
46607 2009-08-16  Bruno Haible  <bruno@clisp.org>
46608
46609         Fix test failures on Solaris 10.
46610         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46611         tests when Solaris iconv() is used.
46612         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46613         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46614         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46615         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46616         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46617
46618 2009-08-16  Bruno Haible  <bruno@clisp.org>
46619
46620         Fix test failures on Solaris 10.
46621         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46622         'tr' program and pass it as first argument.
46623         * tests/test-pipe-filter-gi1.sh: Likewise.
46624         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46625         program as first argument.
46626         * tests/test-pipe-filter-gi1.c (main): Likewise.
46627
46628 2009-08-16  Eric Blake  <ebb9@byu.net>
46629
46630         fpurge: fix previous commits
46631         * modules/fpurge (Makefile.am): Make replacement conditional,
46632         partially reverting 2007-04-29 change; missed in previous
46633         attempt.
46634         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46635         is missing.
46636
46637 2009-08-16  Bruno Haible  <bruno@clisp.org>
46638
46639         Clarify fpurge's effect on the file position.
46640         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46641         * tests/test-fpurge.c (main): Make a second pass for checking the file
46642         position.
46643
46644 2009-08-16  Bruno Haible  <bruno@clisp.org>
46645
46646         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46647         declaration of fpurge is missing.
46648         * tests/test-fpurge.c (main): Check that the file has not more contents
46649         than expected. Close the file before removing it.
46650
46651 2009-08-15  Eric Blake  <ebb9@byu.net>
46652
46653         fpurge: don't wrap working cygwin implementation
46654         * lib/fpurge.c (fpurge): Fix comment typo.
46655         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46656         1.7 to avoid replacement.
46657         * tests/test-fpurge.c (main): Enhance test.
46658
46659 2009-08-15  Eric Blake  <ebb9@byu.net>
46660         and Jim Meyering  <meyering@redhat.com>
46661
46662         test-update-copyright: skip if perl is insufficient
46663         * tests/test-update-copyright.sh: Failure to run maintainer tool
46664         should not cause testsuite failure on cygwin 1.5.
46665
46666 2009-08-14  Eric Blake  <ebb9@byu.net>
46667
46668         doc: mention more functions added in cygwin 1.7.0
46669         * doc/posix-headers/limits.texi (limits.h): Update for recent
46670         cygwin additions.
46671         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46672         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46673         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46674         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46675         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46676
46677 2009-08-14  Eric Blake  <ebb9@byu.net>
46678
46679         maint.mk: simplify update-copyright rule
46680         * top/maint.mk (update-copyright-local): Delete, and document how
46681         to do it in cfg.mk instead.
46682         (update-copyright-exclude-regexp): Delete, and document how to do
46683         it in .x-update-copyright instead.
46684         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46685         exclude ChangeLog.
46686
46687 2009-08-14  Bruno Haible  <bruno@clisp.org>
46688
46689         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46690
46691 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46692
46693         maint.mk: support update-copyright-env
46694         * top/maint.mk (update-copyright-env): Define place-holder.
46695         (update-copyright): Expand $(update-copyright-env) before
46696         invoking update-copyright.
46697
46698 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46699
46700         update-copyright: implement forced reformatting
46701         * build-aux/update-copyright: Implement and document
46702         UPDATE_COPYRIGHT_FORCE.
46703         * tests/test-update-copyright.sh: Test it.
46704
46705 2009-08-14  Eric Blake  <ebb9@byu.net>
46706         and Bruno Haible  <bruno@clisp.org>
46707
46708         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46709         * tests/test-locale.c: Revert previous patch related to NULL.
46710         * tests/test-stdio.c: Likewise.
46711         * tests/test-stdlib.c: Likewise.
46712         * tests/test-string.c: Likewise.
46713         * tests/test-unistd.c: Likewise.
46714         * modules/time-tests (Depends-on): Add verify.
46715         * modules/wchar-tests (Depends-on): Likewise.
46716         * tests/test-time.c: Test for NULL compliance.
46717         * tests/test-wchar.c: Likewise.
46718         * modules/locale (Depends-on): Add stddef.
46719         * modules/stdio (Depends-on): Likewise.
46720         * modules/stdlib (Depends-on): Likewise.
46721         * modules/string (Depends-on): Likewise.
46722         * modules/time (Depends-on): Likewise.
46723         * modules/unistd (Depends-on): Likewise.
46724         * modules/wchar (Depends-on): Likewise.
46725         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46726         * lib/stdlib.in.h (includes): Likewise.
46727         * lib/string.in.h (includes): Likewise.
46728         * lib/time.in.h (includes): Likewise.
46729         * lib/unistd.in.h (includes): Likewise.
46730         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46731         replaced.
46732         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46733         * m4/stddef_h.m4: New file.
46734         * modules/stddef: Likewise.
46735         * lib/stddef.in.h: Likewise.
46736         * modules/stddef-tests: Likewise.
46737         * tests/test-stddef.c: Likewise.
46738         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46739         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46740         * doc/posix-headers/locale.texi (locale.h): Likewise.
46741         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46742         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46743         * doc/posix-headers/string.texi (string.h): Likewise.
46744         * doc/posix-headers/time.texi (time.h): Likewise.
46745         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46746         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46747
46748 2009-08-14  Eric Blake  <ebb9@byu.net>
46749
46750         doc: improve git diff of texinfo files
46751         * .gitattributes: Add rule for *.texi files, with hint on how to
46752         use it.
46753         Copied from m4, and based on a report by Bruno Haible.
46754
46755 2009-08-14  Bruno Haible  <bruno@clisp.org>
46756
46757         Disable multithread support by default on Cygwin 1.5.x for real.
46758         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46759
46760 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46761
46762         update-copyright: much ado about intervals
46763         * build-aux/update-copyright: Implement and document
46764         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46765         of copyright year intervals.
46766         Also, document UPDATE_COPYRIGHT_YEAR.
46767         * tests/test-update-copyright.sh: Test it.
46768
46769         update-copyright: convert 2-digit to 4-digit years
46770         * build-aux/update-copyright: Implement and document.
46771         * tests/test-update-copyright.sh: Update.
46772
46773 2009-08-14  Jim Meyering  <meyering@redhat.com>
46774
46775         test-exclude: avoid coreutils "make check" failure
46776         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46777         just as in test-argmatch.c.
46778
46779 2009-08-13  Eric Blake  <ebb9@byu.net>
46780
46781         test-dup2: fix bad assumption
46782         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46783         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46784
46785         test-version-etc: fix CRLF portability issue
46786         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46787         recognize \r.
46788         * tests/test-argp-version-etc-1.sh: Likewise.
46789
46790         getopt: update client modules
46791         * modules/argp (Depends-on): Use getopt-gnu.
46792         * modules/git-merge-changelog (Depends-on): Likewise.
46793         * modules/long-options (Depends-on): Likewise.
46794         * modules/xstrtol (Depends-on): 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.  Don't fail on CRLF differences.  Rewrite to use
46800         multiple -e instead of multiple sed forks, suggested by Eric Blake
46801         <ebb9@byu.net>.
46802         * tests/test-argp-version-etc-1.sh: Likewise.
46803
46804 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46805
46806         * tests/test-version-etc.sh: Don't fail on different
46807         project/version.
46808
46809 2009-08-12  Bruno Haible  <bruno@clisp.org>
46810
46811         Tests for modules 'getopt-posix', 'getopt-gnu'.
46812         * modules/getopt-posix-tests: New file.
46813         * tests/test-getopt.c: New file.
46814         * tests/test-getopt.h: New file.
46815         * tests/test-getopt_long.h: New file.
46816
46817         New modules 'getopt-posix', 'getopt-gnu'.
46818         * modules/getopt-gnu: New file, renamed from modules/getopt.
46819         * modules/getopt-posix: New file.
46820         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46821         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46822         (gl_GETOPT): Remove macro.
46823         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46824         Disable the test against BSD systems that declare optreset. Test
46825         against mingw bug. Test against lack of support of optional arguments
46826         on many platforms.
46827         * doc/glibc-headers/getopt.texi: Update module name and list of
46828         relevant platforms.
46829         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46830         'getopt-gnu' and more portability problems.
46831         * NEWS: Mention the changes.
46832
46833 2009-08-12  Bruno Haible  <bruno@clisp.org>
46834
46835         Ensure that optarg etc. get declared by <unistd.h>.
46836         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46837         AC_USE_SYSTEM_EXTENSIONS.
46838         * modules/getopt (Depends-on): Add 'extensions'.
46839
46840 2009-08-12  Bruno Haible  <bruno@clisp.org>
46841
46842         Avoid test link errors.
46843         * modules/pipe-filter-ii-tests (Makefile.am): Define
46844         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46845         * modules/pipe-filter-gi-tests (Makefile.am): Define
46846         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46847         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46848
46849 2009-08-12  Bruno Haible  <bruno@clisp.org>
46850
46851         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46852         gl_GETOPT_SUBSTITUTE before.
46853         (gl_GETOPT): Use it.
46854         * m4/argp.m4 (gl_ARGP): Update.
46855         Reported by Sergey Poznyakoff.
46856
46857         * m4/getopt.m4: Reorder macros.
46858         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46859         (gl_GETOPT_SUBSTITUTE): Remove macro.
46860
46861 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46862
46863         Minor improvement in gitlog-to-changelog
46864
46865         * build-aux/gitlog-to-changelog: New option `--format' makes
46866         output format string configurable.
46867
46868 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46869
46870         Optimize exclude: use hash tables for non-wildcard patterns.
46871
46872         * lib/exclude.c: Include hash.h and mbuiter.h
46873         (struct exclude_pattern, exclude_segment): New data types.
46874         (struct exclude): Rewrite.
46875         (fnmatch_pattern_has_wildcards): New function.
46876         (new_exclude_segment, free_exclude_segment): New functions.
46877         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46878         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46879         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46880         * modules/exclude: Depend on hash and mbuiter.
46881
46882         * modules/exclude-tests: New file.
46883         * tests/test-exclude.c: New file.
46884         * tests/test-exclude1.sh: New file.
46885         * tests/test-exclude2.sh: New file.
46886         * tests/test-exclude3.sh: New file.
46887         * tests/test-exclude4.sh: New file.
46888         * tests/test-exclude5.sh: New file.
46889         * tests/test-exclude6.sh: New file.
46890         * tests/test-exclude7.sh: New file.
46891
46892 2009-08-12  Bruno Haible  <bruno@clisp.org>
46893
46894         Ensure that getopt() gets declared by <unistd.h>.
46895         * lib/unistd.in.h: Conditionally include getopt.h.
46896         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46897         Set GNULIB_UNISTD_H_GETOPT.
46898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46899         GNULIB_UNISTD_H_GETOPT.
46900         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46901
46902 2009-08-12  Bruno Haible  <bruno@clisp.org>
46903
46904         Clarify logic.
46905         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46906         gl_replace_getopt instead of GETOPT_H.
46907
46908 2009-08-12  Bruno Haible  <bruno@clisp.org>
46909
46910         * m4/getopt.m4: Add comments.
46911
46912 2009-08-12  Bruno Haible  <bruno@clisp.org>
46913
46914         Disable multithread support by default on Cygwin 1.5.x.
46915         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46916         set gl_use_threads=no if not specified otherwise.
46917
46918 2009-08-11  Bruno Haible  <bruno@clisp.org>
46919
46920         Avoid compilation error on NetBSD 5.0.
46921         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46922         * tests/test-stdio.c: Likewise.
46923         * tests/test-stdlib.c: Likewise.
46924         * tests/test-string.c: Likewise.
46925         * tests/test-unistd.c: Likewise.
46926         Reported by Greg Troxel <gdt@ir.bbn.com>
46927         at <https://savannah.gnu.org/support/?106973>.
46928
46929 2009-08-11  Bruno Haible  <bruno@clisp.org>
46930
46931         * modules/dup2-tests (Depends-on): Remove close.
46932
46933         Undo 2009-07-19 commit.
46934         * modules/acl-tests (Depends-on): Remove close.
46935         * modules/binary-io-tests (Depends-on): Likewise.
46936         * modules/closein-tests (Depends-on): Likewise.
46937         * modules/flock-tests (Depends-on): Likewise.
46938         * modules/fsync-tests (Depends-on): Likewise.
46939         * modules/lseek-tests (Depends-on): Likewise.
46940         * modules/pipe-tests (Depends-on): Likewise.
46941         * modules/posix_spawn-tests (Depends-on): Likewise.
46942         * modules/posix_spawnp-tests (Depends-on): Likewise.
46943         * modules/stat-time-tests (Depends-on): Likewise.
46944         * modules/yesno-tests (Depends-on): Likewise.
46945
46946 2009-08-10  Bruno Haible  <bruno@clisp.org>
46947
46948         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46949
46950 2009-08-10  Bruno Haible  <bruno@clisp.org>
46951
46952         Fix a gcc warning.
46953         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46954
46955 2009-08-10  Bruno Haible  <bruno@clisp.org>
46956
46957         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46958         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46959         not only the first time.
46960         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46961         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46962         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46963         is 1, not only the the first time.
46964
46965 2009-08-10  Bruno Haible  <bruno@clisp.org>
46966
46967         Make it possible to use module 'gethostname' without module 'close'.
46968         * lib/unistd.in.h (close): Evoke a link error only if
46969         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46971         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46972         * modules/unistd (Makefile.am): Substitute
46973         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46974         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46975         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46976         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46977         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46978         * modules/sys_ioctl (Makefile.am): Substitute
46979         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46980         * modules/socket (configure.ac): On native Windows, set
46981         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46982         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46983         Reported by Sam Steingold <sds@gnu.org>.
46984
46985 2009-08-10  Bruno Haible  <bruno@clisp.org>
46986
46987         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46988         * modules/ioctl (configure.ac): Likewise.
46989
46990 2009-08-10  Bruno Haible  <bruno@clisp.org>
46991
46992         Avoid collision between gnulib wrapper and libintl wrapper.
46993         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46994         already defined in intl/printf.c.
46995         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46996         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46997
46998 2009-08-09  Bruno Haible  <bruno@clisp.org>
46999
47000         Make <sys/select.h> really self-contained, also on Solaris 10.
47001         * lib/sys_select.in.h: Include <string.h>.
47002         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47003         Solaris 10 problem.
47004         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47005         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47006         Reported by Jim Meyering.
47007
47008 2009-08-09  Bruno Haible  <bruno@clisp.org>
47009
47010         Avoid warnings from 'aclocal' that are due to a use of macro name
47011         AM_XGETTEXT_OPTION that is not defined in automake.
47012         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47013         automake.
47014         * modules/error (configure.ac): Likewise.
47015         * modules/propername (configure.ac): Likewise.
47016         * modules/vasprintf (configure.ac): Likewise.
47017         * modules/verror (configure.ac): Likewise.
47018         * modules/xprintf (configure.ac): Likewise.
47019         * modules/xvasprintf (configure.ac): Likewise.
47020
47021 2009-08-08  Bruno Haible  <bruno@clisp.org>
47022
47023         Avoid compilation error in C++ mode.
47024         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47025         Reported by Sam Steingold <sds@gnu.org>.
47026
47027 2009-08-08  Bruno Haible  <bruno@clisp.org>
47028
47029         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47030         for the various Unix platforms.
47031         * doc/posix-headers/limits.texi: Update platforms list regarding
47032         HOST_NAME_MAX.
47033         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47034
47035 2009-08-07  Jim Meyering  <meyering@redhat.com>
47036
47037         selinux-at: fix typo in a comment
47038         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47039         Spotted by Paolo Bonzini.
47040
47041         selinux-at: remove redundant m4 code, add documentation
47042         * modules/selinux-at (configure.ac): Remove redundant code.
47043         LIB_SELINUX is already set via the dependent module, selinux-h.
47044         (Include): Add quotes around selinux-at.h.
47045         * lib/selinux-at.h: Add documentation.
47046         Reported by Bruno Haible in
47047         http://marc.info/?l=gnulib-bug&m=124958988300749
47048
47049 2009-08-07  Bruno Haible  <bruno@clisp.org>
47050
47051         Avoid link error on MacOS X 10.3 and 10.4.
47052         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47053         on non-ELF systems.
47054         * lib/argp-pv.c (argp_program_version): Likewise.
47055         Reported by Simon Josefsson.
47056
47057 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47058
47059         * tests/test-version-etc.sh: Use $EXEEXT.
47060
47061 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47062
47063         update-copyright: update documentation to point to maint.mk
47064         * build-aux/update-copyright: Here.
47065
47066 2009-08-06  Jim Meyering  <meyering@redhat.com>
47067
47068         maint.mk: support update-copyright-local
47069         * top/maint.mk (update-copyright-local): Define place-holder.
47070         (update-copyright): Depend on $(update-copyright-local).
47071
47072 2009-08-06  Jim Meyering  <meyering@redhat.com>
47073
47074         selinux-at: new module
47075         Initially written for coreutils, this module will soon be
47076         used by findutils, too.
47077         * MODULES.html.sh [Misc]: Add selinux-at.
47078         * lib/selinux-at.h: New file, from coreutils.
47079         * lib/selinux-at.c: Likewise.
47080         * modules/selinux-at: Likewise.
47081         (License): Change from LGPL to GPL, since it depends
47082         on the GPL'd openat module.
47083
47084         doc: update README
47085         * README: Remove references to cogito.
47086         Remove cvs-repo-updating instructions from 2007.
47087         Don't imply that CVS is better if you have limited disk space.
47088
47089 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47090
47091         update-copyright: support C-style comments
47092         * build-aux/update-copyright: Implement and document.
47093         * tests/test-update-copyright.sh: Test.
47094
47095 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47096
47097         update-copyright: support omitted "(C)"
47098         * build-aux/update-copyright: Implement and document.  Also,
47099         allow variable whitespace before "(C)".
47100         * tests/test-update-copyright.sh: Test.
47101
47102 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47103
47104         update-copyright: don't trip on non-FSF copyright statements
47105         * build-aux/update-copyright: Fix so that the first correctly
47106         formatted FSF copyright statement is recognized no matter what
47107         appears before it.  Update documentation.
47108         * tests/test-update-copyright.sh: Test that.
47109
47110 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47111
47112         update-copyright: clean up code a little
47113         * build-aux/update-copyright: Append "_re" to the name of any
47114         variable holding a regular expression.
47115         Replace "old" and "new" with "stmt" in variable names.
47116         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47117         handled correctly.
47118         Format code more consistently.
47119
47120 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47121
47122         update-copyright-tests: improve portability
47123         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47124         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47125
47126 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47127
47128         update-copyright: support @copyright{} and &copy;
47129         * build-aux/update-copyright: Implement and document.
47130         * tests/test-update-copyright.sh: Test.
47131
47132 2009-08-04  Jim Meyering  <meyering@redhat.com>
47133
47134         update-copyright-tests: correctly test EOL=\r\n handling
47135         * tests/test-update-copyright.sh: Put \r at the end of some lines
47136         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47137
47138         maint.mk: make update-copyright exclusion list more configurable
47139         * top/maint.mk (update-copyright): Default to excluding COPYING,
47140         but allow an override, in case someone does want to update that file.
47141
47142         maint.mk: don't update copyright date in COPYING
47143         * top/maint.mk (update-copyright): Exclude COPYING.
47144
47145         maint.mk: add a copyright-updating rule
47146         * top/maint.mk (update-copyright): New rule.
47147         Derived from coreutils/Makefile.am.
47148
47149         update-copyright: rename some variables
47150         * build-aux/update-copyright: Rename a few variables for clarity.
47151         Tweak syntax.  List Joel E. Denny as coauthor.
47152
47153 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47154
47155         update-copyright: fix bug for 2-digit last year and add tests
47156         * build-aux/update-copyright: Fix bug.
47157         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47158         specified.
47159         * modules/update-copyright-tests: New
47160         * tests/test-update-copyright.sh: New.
47161
47162 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47163
47164         update-copyright: handle leading tabs in line prefix
47165         * build-aux/update-copyright: Count leading tabs as 8 spaces
47166         when computing margin.  This helps with the formatting of
47167         ChangeLogs, for example.
47168         Fix documentation a little.
47169
47170 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47171
47172         update-copyright: support EOL=\r\n
47173         * build-aux/update-copyright: Implement that.
47174
47175 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47176
47177         update-copyright: automatically format copyright statements
47178         * build-aux/update-copyright: Implement that.
47179         Also, be a little more predictable and safer by always failing
47180         when the full copyright format is not perfectly recognized as an
47181         unbroken whole.  Discussed at
47182         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47183         Rewrite documentation.
47184
47185 2009-08-03  Bruno Haible  <bruno@clisp.org>
47186
47187         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47188
47189 2009-08-02  Bruno Haible  <bruno@clisp.org>
47190
47191         Tests for module 'uname'.
47192         * modules/uname-tests: New file.
47193         * tests/test-uname.c: New file.
47194
47195         New module 'uname'.
47196         * lib/uname.c: New file.
47197         * m4/uname.m4: New file.
47198         * modules/uname: New file.
47199         * doc/posix-functions/uname.texi: Mention the new module.
47200
47201 2009-08-02  Bruno Haible  <bruno@clisp.org>
47202
47203         Tests for module 'sys_utsname'.
47204         * modules/sys_utsname-tests: New file.
47205         * tests/test-sys_utsname.c: New file.
47206
47207         New module 'sys_utsname'.
47208         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47209         * m4/sys_utsname_h.m4: New file.
47210         * modules/sys_utsname: New file.
47211         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47212
47213 2009-08-02  Bruno Haible  <bruno@clisp.org>
47214
47215         Implicitly initialize the sockets library.
47216         * lib/gethostname.c: Include sockets.h.
47217         (rpl_gethostname): Invoke gl_sockets_startup.
47218         * lib/socket.c: Include sockets.h.
47219         (rpl_socket): Invoke gl_sockets_startup.
47220         * modules/gethostname (Depends-on): Add sockets.
47221         * modules/socket (Depends-on): Likewise.
47222         * tests/test-poll.c: Don't include sockets.h.
47223         (main): Don't invoke gl_sockets_startup.
47224         * tests/test-select.c: Don't include sockets.h.
47225         (main): Don't invoke gl_sockets_startup.
47226
47227 2009-08-02  Bruno Haible  <bruno@clisp.org>
47228
47229         Allow multiple calls to gl_sockets_startup.
47230         * lib/sockets.c (initialized_sockets_version): New variable.
47231         (gl_sockets_startup): Do nothing if already called for this or a higher
47232         version.
47233         (gl_sockets_cleanup): Reset initialized_sockets_version.
47234
47235 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47236
47237         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47238         different project/version.
47239
47240 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47241             Bruno Haible  <bruno@clisp.org>
47242
47243         Tests for module 'pipe-filter-gi'.
47244         * modules/pipe-filter-gi-tests: New file.
47245         * tests/test-pipe-filter-gi1.sh: New file.
47246         * tests/test-pipe-filter-gi1.c: New file.
47247         * tests/test-pipe-filter-gi2.sh: New file.
47248         * tests/test-pipe-filter-gi2-main.c: New file.
47249         * tests/test-pipe-filter-gi2-child.c: New file.
47250
47251         New module 'pipe-filter-gi'.
47252         * lib/pipe-filter-gi.c: New file.
47253         * modules/pipe-filter-gi: New file.
47254
47255 2009-08-02  Bruno Haible  <bruno@clisp.org>
47256             Paolo Bonzini  <bonzini@gnu.org>
47257
47258         Tests for module 'pipe-filter-ii'.
47259         * modules/pipe-filter-ii-tests: New file.
47260         * tests/test-pipe-filter-ii1.sh: New file.
47261         * tests/test-pipe-filter-ii1.c: New file.
47262         * tests/test-pipe-filter-ii2.sh: New file.
47263         * tests/test-pipe-filter-ii2-main.c: New file.
47264         * tests/test-pipe-filter-ii2-child.c: New file.
47265
47266         New module 'pipe-filter-ii'.
47267         * lib/pipe-filter.h: New file.
47268         * lib/pipe-filter-ii.c: New file.
47269         * lib/pipe-filter-aux.h: New file.
47270         * modules/pipe-filter-ii: New file.
47271
47272 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47273
47274         * lib/gc-libgcrypt.c: Change copyright to FSF.
47275         * lib/gc-gnulib.c: Likewise.
47276
47277 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47278
47279         * lib/gethostname.c: Include limits.h.
47280
47281 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47282             Bruno Haible  <bruno@clisp.org>
47283
47284         Ensure HOST_NAME_MAX as part of the gethostname module.
47285         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47286         define also HOST_NAME_MAX.
47287         * tests/test-gethostname.c: Include <limits.h>.
47288         (main): Check also HOST_NAME_MAX.
47289         * doc/posix-headers/limits.texi: Document the mingw problem.
47290
47291 2009-08-02  Bruno Haible  <bruno@clisp.org>
47292
47293         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47294         Add comments.
47295
47296 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47297
47298         * lib/gethostname.c: Add Windows wrapper.
47299         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47300         * modules/gethostname: Depend on sys_socket & errno, for also
47301         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47302         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47303
47304 2009-07-31  Jim Meyering  <meyering@redhat.com>
47305
47306         getloadavg: fix symbol name in comment
47307         * lib/getloadavg.c: Correct a typo I introduced when adding
47308         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47309         Matt Kraai spotted the problem.
47310
47311 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47312
47313         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47314         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47315         code also if ! defined N_NAME_POINTER.
47316         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47317         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47318         but the n_name member is a 12-byte array.
47319
47320 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47321
47322         update-copyright: generalize comment handling
47323         * build-aux/update-copyright: Handle copyright statements
47324         within more comment styles.
47325         Document usage.
47326         Report any file with an external copyright holder or parse failure.
47327
47328 2009-07-29  Jim Meyering  <meyering@redhat.com>
47329
47330         mktime: correct setting of REPLACE_MKTIME
47331         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47332
47333         update-copyright: new module
47334         * modules/update-copyright: New file.
47335         * build-aux/update-copyright: New file.
47336         * MODULES.html.sh (maint+release support): Add update-copyright.
47337
47338 2009-07-27  Bruno Haible  <bruno@clisp.org>
47339
47340         Fix compilation error when <ctime> is used and mktime is replaced.
47341         * lib/time.in.h (mktime): New declaration.
47342         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47343         REPLACE_MKTIME instead of defining mktime in config.h.
47344         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47345         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47346         Reported by Ross McFarland <rwmcfa1@neces.com>.
47347
47348 2009-07-27  Bruno Haible  <bruno@clisp.org>
47349
47350         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47351         Reported by Matt Kraai <mkraai@beckman.com>.
47352
47353 2009-07-25  Jim Meyering  <meyering@redhat.com>
47354
47355         maint.mk: avoid warnings about missing files
47356         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47357         diagnostic when .prev-version does not exist.
47358         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47359         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47360         nonexistent cfg.mk.
47361         Suggestions from Simon Josefsson.
47362
47363 2009-07-25  Bruno Haible  <bruno@clisp.org>
47364
47365         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47366         defined as macros. Needed on QNX 6.4.1.
47367         Reported by Matt Kraai <mkraai@beckman.com>.
47368
47369 2009-07-23  Jim Meyering  <meyering@redhat.com>
47370
47371         maint.mk: invoke "make dist" with a working value of XZ_OPT
47372         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47373
47374 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47375
47376         Make fseeko.c compile on QNX.
47377         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47378
47379 2009-07-22  Peter Simons  <simons@cryp.to>
47380
47381         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47382         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47383         * lib/md4.h: Likewise.
47384         * lib/md5.h: Likewise.
47385         * lib/sha1.h: Likewise.
47386         * lib/sha256.h: Likewise.
47387         * lib/sha512.h: Likewise.
47388
47389         tests-sha1: don't assign literal string to 'char *' variable
47390         * tests/test-sha1.c (main): Declare locals with "const" to match
47391         attributes of the right hand side.
47392
47393 2009-07-21  Eric Blake  <ebb9@byu.net>
47394
47395         dup2: fix more mingw problems
47396         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47397         fd to itself.
47398         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47399         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47400         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47401         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47402         care of mingw bugs.
47403
47404 2009-07-21  Jim Meyering  <meyering@redhat.com>
47405
47406         vc-list-files: avoid failure when /bin/sh is dash
47407         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47408         On some Debian based systems, /bin/sh is a symlink to dash, and running
47409         this command would omit the "/" following each 'tests' prefix:
47410           dash -x build-aux/vc-list-files -C . tests
47411         That is because bash and dash work differently:
47412           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47413           bash ok
47414           dash odd
47415
47416 2009-07-21  Eric Blake  <ebb9@byu.net>
47417
47418         dup2-tests: test previous patch
47419         * modules/dup2-tests: New file.
47420         * tests/test-dup2.c: Likewise.
47421         * tests/test-open.c (main): Avoid unspecified behavior.
47422         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47423         test.
47424
47425         dup2: work around mingw and cygwin 1.5 bug
47426         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47428         * modules/unistd (Makefile.am): Substitute it.
47429         * lib/unistd.in.h (dup2): Declare the replacement.
47430         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47431         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47432         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47433         * modules/execute (Depends-on): Add dup2.
47434         * modules/fseterr (Depends-on): Likewise.
47435         * modules/pipe (Depends-on): Likewise.
47436         * modules/posix_spawn-internal (Depends-on): Likewise.
47437
47438 2009-07-21  Bruno Haible  <bruno@clisp.org>
47439
47440         * modules/.gitattributes: New file.
47441
47442 2009-07-20  Bruno Haible  <bruno@clisp.org>
47443
47444         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47445         (main): Use it.
47446
47447 2009-07-20  Eric Blake  <ebb9@byu.net>
47448
47449         test-pipe: make a bit more robust.
47450         * tests/test-pipe.c (myerr): Allow error messages regardless of
47451         what we do to stderr.
47452         (test_pipe): Rearrange to avoid deadlock.
47453         (child_main): Try a larger read, to ensure we avoided deadlock.
47454         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47455         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47456         if misused.
47457
47458 2009-07-19  Jim Meyering  <meyering@redhat.com>
47459
47460         fts: avoid false-positive cycle-detection
47461         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47462         for each new command line argument.
47463
47464 2009-07-19  Bruno Haible  <bruno@clisp.org>
47465
47466         Fix build error on mingw with the modules sys_select and unistd.
47467         * modules/acl-tests (Depends-on): Add close.
47468         * modules/binary-io-tests (Depends-on): Likewise.
47469         * modules/closein-tests (Depends-on): Likewise.
47470         * modules/flock-tests (Depends-on): Likewise.
47471         * modules/fsync-tests (Depends-on): Likewise.
47472         * modules/lseek-tests (Depends-on): Likewise.
47473         * modules/pipe-tests (Depends-on): Likewise.
47474         * modules/posix_spawn-tests (Depends-on): Likewise.
47475         * modules/posix_spawnp-tests (Depends-on): Likewise.
47476         * modules/stat-time-tests (Depends-on): Likewise.
47477         * modules/yesno-tests (Depends-on): Likewise.
47478
47479 2009-07-19  Bruno Haible  <bruno@clisp.org>
47480
47481         Unify conditionals.
47482         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47483         macros, not at the compiler macros.
47484         * lib/pipe.c: Likewise.
47485         * lib/execute.c: Likewise.
47486         * lib/spawni.c: Likewise.
47487
47488 2009-07-19  Bruno Haible  <bruno@clisp.org>
47489
47490         Fix handling of closed stdin/stdout/stderr on mingw.
47491         * lib/w32spawn.h: Include unistd.h.
47492         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47493         file descriptor with O_NOINHERIT flag.
47494         (fd_safer_noinherit): New function, based on fd-safer.c.
47495         (dup_safer_noinherit): New function, based on dup-safer.c.
47496         (undup_safer_noinherit): New function.
47497         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47498         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47499         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47500         instead of fd_safer.
47501         * tests/test-pipe.c: Include <windows.h>.
47502         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47503         result.
47504
47505         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47506         from main.
47507         (test_pipe): Pass an extra argument for disambiguation.
47508         (main): Invoke parent_main or child_main.
47509
47510         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47511         consistently.
47512
47513 2009-07-18  Eric Blake  <ebb9@byu.net>
47514
47515         test-pipe: fix mingw build
47516         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47517
47518 2009-07-18  Bruno Haible  <bruno@clisp.org>
47519
47520         * modules/pipe-tests (Makefile.am): Fix typo.
47521
47522 2009-07-18  Eric Blake  <ebb9@byu.net>
47523
47524         error: fix mingw build
47525         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47526         Reported by Bruno Haible.
47527
47528         error: avoid undefined use of stdout
47529         * lib/error.c (error, error_at_line): Check that fd 1 is open
47530         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47531         is handling faults and the close_stdout module wants to report the
47532         detection of closed stdout as an error.
47533
47534 2009-07-17  Eric Blake  <ebb9@byu.net>
47535
47536         pipe: be robust in face of closed fds
47537         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47538         should cause child to misbehave.
47539         * modules/pipe-tests: New module.
47540         * tests/test-pipe.c: New file.
47541         * tests/test-pipe.sh: New file.
47542         Reported by Akim Demaille.
47543
47544 2009-07-14  Bruno Haible  <bruno@clisp.org>
47545
47546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47547         Reported by anonymous kc.
47548
47549 2009-07-07  Jim Meyering  <meyering@redhat.com>
47550
47551         maint.mk: don't look for translatable strings in *.m4 or *.mk
47552         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47553         when searching for translatable strings.
47554
47555 2009-07-05  Jim Meyering  <meyering@redhat.com>
47556
47557         remove superfluous parentheses in STREQ definition
47558         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47559         * lib/getugroups.c (STREQ): Likewise.
47560         * lib/fnmatch.c (STREQ): Likewise.
47561         Spotted by Bruno Haible.
47562
47563 2009-07-04  Jim Meyering  <meyering@redhat.com>
47564
47565         argv-iter: new module
47566         * MODULES.html.sh: Add argv-iter.
47567         * lib/argv-iter.c, lib/argv-iter.h: New files.
47568         * modules/argv-iter: New file.
47569         * modules/argv-iter-tests: New file.
47570         * tests/test-argv-iter.c: Test it.
47571
47572 2009-07-04  Bruno Haible  <bruno@clisp.org>
47573
47574         Fix assertion.
47575         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47576         contains more exact copies of a given entry than file2, leave the extra
47577         copies unpaired rather than aborting.
47578         Reported by Eric Blake.
47579
47580 2009-07-02  Bruno Haible  <bruno@clisp.org>
47581
47582         Speedup git-merge-changelog for git cherry-pick.
47583         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47584         (entries_mapping_get): New function, extracted from compute_mapping.
47585         (entries_mapping_reverse_get): New function.
47586         (compute_mapping): Add a 'full' argument. Return the result in a
47587         'struct entries_mapping'.
47588         (main): Update. Access the mappings through entries_mapping_get.
47589         Reported by Eric Blake.
47590
47591 2009-07-02  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47594         best_i.
47595
47596 2009-07-02  Bruno Haible  <bruno@clisp.org>
47597
47598         Speed up approximate search for matching ChangeLog entries.
47599         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47600         argument. Call fstrcmp_bounded instead of fstrcmp.
47601         (compute_mapping, try_split_merged_entry, main): Update callers.
47602
47603 2009-07-02  Bruno Haible  <bruno@clisp.org>
47604
47605         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47606
47607 2009-06-30  Bruno Haible  <bruno@clisp.org>
47608
47609         Reduce the number of uc_is_cased calls.
47610         * lib/unicase.h (casing_suffix_context_t): Add
47611         'first_char_except_ignorable' field.
47612         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47613         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47614         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47615         Update initializer.
47616         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47617         case-ignorable characters.
47618         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47619         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47620         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47621         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47622         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47623
47624 2009-06-30  Bruno Haible  <bruno@clisp.org>
47625
47626         Tests for module 'unicase/ignorable'.
47627         * modules/unicase/ignorable-tests: New file.
47628         * tests/unicase/test-ignorable.c: New file, generated by
47629         gen-uni-tables.
47630
47631         Tests for module 'unicase/cased'.
47632         * modules/unicase/cased-tests: New file.
47633         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47634         * tests/unicase/test-predicate-part1.h: New file, derived from
47635         tests/unictype/test-predicate-part1.h.
47636         * tests/unicase/test-predicate-part2.h: New file, same as
47637         tests/unictype/test-predicate-part2.h.
47638
47639         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47640         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47641         (output_casing_properties): New function.
47642         (main): Call it.
47643         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47644         * lib/unicase/cased.c: Include unictype/bitmap.h.
47645         (uc_is_cased): Define through a bitmap lookup.
47646         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47647         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47648         (uc_is_case_ignorable): Define through a bitmap lookup.
47649         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47650         lib/unictype/bitmap.h.
47651         (Depends-on): Add inline. Clean up.
47652         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47653         lib/unictype/bitmap.h.
47654         (Depends-on): Add inline. Clean up.
47655         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47656         recognition.
47657         * tests/unicase/test-u16-tolower.c (main): Likewise.
47658         * tests/unicase/test-u32-tolower.c (main): Likewise.
47659
47660 2009-06-30  Bruno Haible  <bruno@clisp.org>
47661
47662         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47663         * lib/unicase/u16-casemap.c: Likewise.
47664         * lib/unicase/u32-casemap.c: Likewise.
47665
47666 2009-06-29  Bruno Haible  <bruno@clisp.org>
47667
47668         Define u32_casefold as a wrapper around u32_ct_casefold.
47669         * lib/unicase/u32-casefold.c: Update.
47670         * modules/unicase/u32-casefold (Depends-on): Add
47671         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47672         unicase/empty-suffix-context. Clean up.
47673
47674         Define u16_casefold as a wrapper around u16_ct_casefold.
47675         * lib/unicase/u16-casefold.c: Update.
47676         * modules/unicase/u16-casefold (Depends-on): Add
47677         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47678         unicase/empty-suffix-context. Clean up.
47679
47680         Define u8_casefold as a wrapper around u8_ct_casefold.
47681         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47682         * lib/unicase/u8-casefold.c: Update.
47683         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47684         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47685
47686         Define u32_totitle as a wrapper around u32_ct_totitle.
47687         * lib/unicase/u32-totitle.c: Update.
47688         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47689         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47690
47691         Define u16_totitle as a wrapper around u16_ct_totitle.
47692         * lib/unicase/u16-totitle.c: Update.
47693         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47694         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47695
47696         Define u8_totitle as a wrapper around u8_ct_totitle.
47697         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47698         functions.
47699         (FUNC): Delegate to U_CT_TOTITLE.
47700         * lib/unicase/u8-totitle.c: Update.
47701         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47702         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47703
47704         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47705         invocation.
47706         * modules/unicase/u32-tolower (Depends-on): Add
47707         unicase/empty-prefix-context, unicase/empty-suffix-context.
47708
47709         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47710         invocation.
47711         * modules/unicase/u16-tolower (Depends-on): Add
47712         unicase/empty-prefix-context, unicase/empty-suffix-context.
47713
47714         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47715         * modules/unicase/u8-tolower (Depends-on): Add
47716         unicase/empty-prefix-context, unicase/empty-suffix-context.
47717
47718         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47719         invocation.
47720         * modules/unicase/u32-toupper (Depends-on): Add
47721         unicase/empty-prefix-context, unicase/empty-suffix-context.
47722
47723         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47724         invocation.
47725         * modules/unicase/u16-toupper (Depends-on): Add
47726         unicase/empty-prefix-context, unicase/empty-suffix-context.
47727
47728         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47729         * modules/unicase/u8-toupper (Depends-on): Add
47730         unicase/empty-prefix-context, unicase/empty-suffix-context.
47731
47732         New module 'unicase/u32-ct-casefold'.
47733         * lib/unicase/u32-ct-casefold.c: New file.
47734         * modules/unicase/u32-ct-casefold: New file.
47735
47736         New module 'unicase/u16-ct-casefold'.
47737         * lib/unicase/u16-ct-casefold.c: New file.
47738         * modules/unicase/u16-ct-casefold: New file.
47739
47740         New module 'unicase/u8-ct-casefold'.
47741         * lib/unicase/u8-ct-casefold.c: New file.
47742         * lib/unicase/u-ct-casefold.h: New file, derived from
47743         lib/unicase/u-casefold.h.
47744         * modules/unicase/u8-ct-casefold: New file.
47745
47746         New module 'unicase/u32-ct-totitle'.
47747         * lib/unicase/u32-ct-totitle.c: New file.
47748         * modules/unicase/u32-ct-totitle: New file.
47749
47750         New module 'unicase/u16-ct-totitle'.
47751         * lib/unicase/u16-ct-totitle.c: New file.
47752         * modules/unicase/u16-ct-totitle: New file.
47753
47754         New module 'unicase/u8-ct-totitle'.
47755         * lib/unicase/u8-ct-totitle.c: New file.
47756         * lib/unicase/u-ct-totitle.h: New file, derived from
47757         lib/unicase/u-totitle.h.
47758         * modules/unicase/u8-ct-totitle: New file.
47759
47760         New module 'unicase/u32-ct-tolower'.
47761         * lib/unicase/u32-ct-tolower.c: New file.
47762         * modules/unicase/u32-ct-tolower: New file.
47763
47764         New module 'unicase/u16-ct-tolower'.
47765         * lib/unicase/u16-ct-tolower.c: New file.
47766         * modules/unicase/u16-ct-tolower: New file.
47767
47768         New module 'unicase/u8-ct-tolower'.
47769         * lib/unicase/u8-ct-tolower.c: New file.
47770         * modules/unicase/u8-ct-tolower: New file.
47771
47772         New module 'unicase/u32-ct-toupper'.
47773         * lib/unicase/u32-ct-toupper.c: New file.
47774         * modules/unicase/u32-ct-toupper: New file.
47775
47776         New module 'unicase/u16-ct-toupper'.
47777         * lib/unicase/u16-ct-toupper.c: New file.
47778         * modules/unicase/u16-ct-toupper: New file.
47779
47780         New module 'unicase/u8-ct-toupper'.
47781         * lib/unicase/u8-ct-toupper.c: New file.
47782         * modules/unicase/u8-ct-toupper: New file.
47783
47784         Add context arguments to u*_casemap functions.
47785         * lib/unicase/unicasemap.h: Include unicase.h.
47786         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47787         suffix_context arguments.
47788         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47789         functions.
47790         (FUNC): Add prefix_context and suffix_context arguments. Use
47791         uc_is_cased and uc_is_case_ignorable.
47792         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47793         * lib/unicase/u16-casemap.c: Likewise.
47794         * lib/unicase/u32-casemap.c: Likewise.
47795         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47796         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47797         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47798         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47799         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47800         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47801
47802         New module 'unicase/u32-suffix-context'.
47803         * lib/unicase/u32-suffix-context.c: New file.
47804         * modules/unicase/u32-suffix-context: New file.
47805
47806         New module 'unicase/u16-suffix-context'.
47807         * lib/unicase/u16-suffix-context.c: New file.
47808         * modules/unicase/u16-suffix-context: New file.
47809
47810         New module 'unicase/u8-suffix-context'.
47811         * lib/unicase/u8-suffix-context.c: New file.
47812         * lib/unicase/u-suffix-context.h: New file.
47813         * modules/unicase/u8-suffix-context: New file.
47814
47815         New module 'unicase/empty-suffix-context'.
47816         * lib/unicase/empty-suffix-context.c: New file.
47817         * modules/unicase/empty-suffix-context: New file.
47818
47819         New module 'unicase/u32-prefix-context'.
47820         * lib/unicase/u32-prefix-context.c: New file.
47821         * modules/unicase/u32-prefix-context: New file.
47822
47823         New module 'unicase/u16-prefix-context'.
47824         * lib/unicase/u16-prefix-context.c: New file.
47825         * modules/unicase/u16-prefix-context: New file.
47826
47827         New module 'unicase/u8-prefix-context'.
47828         * lib/unicase/u8-prefix-context.c: New file.
47829         * lib/unicase/u-prefix-context.h: New file.
47830         * lib/unicase/context.h: New file.
47831         * modules/unicase/u8-prefix-context: New file.
47832
47833         New module 'unicase/empty-prefix-context'.
47834         * lib/unicase/empty-prefix-context.c: New file.
47835         * modules/unicase/empty-prefix-context: New file.
47836
47837         New module 'unicase/ignorable'.
47838         * lib/unicase/ignorable.c: New file.
47839         * modules/unicase/ignorable: New file.
47840
47841         New module 'unicase/cased'.
47842         * lib/unicase/caseprop.h: New file.
47843         * lib/unicase/cased.c: New file.
47844         * modules/unicase/cased: New file.
47845
47846         New functions for case mapping of substrings.
47847         * lib/unicase.h (casing_prefix_context_t): New type.
47848         (unicase_empty_prefix_context): New variable.
47849         (u8_casing_prefix_context, u16_casing_prefix_context,
47850         u32_casing_prefix_context, u8_casing_prefixes_context,
47851         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47852         declarations.
47853         (casing_suffix_context_t): New type.
47854         (unicase_empty_suffix_context): New variable.
47855         (u8_casing_suffix_context, u16_casing_suffix_context,
47856         u32_casing_suffix_context, u8_casing_suffixes_context,
47857         u16_casing_suffixes_context, u32_casing_suffixes_context,
47858         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47859         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47860         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47861         declarations.
47862
47863 2009-06-28  Jim Meyering  <meyering@redhat.com>
47864
47865         boostrap: indent only with spaces
47866         * build-aux/bootstrap: Indent only with spaces, never TABs.
47867
47868         bootstrap: split long lines
47869         * build-aux/bootstrap: Keep line length < 80.
47870
47871         bootstrap: sync from coreutils
47872         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47873         just as autoreconf does.  Verify a list of prerequisite
47874         package-name,version-number pairs if defined in bootstrap.conf.
47875         Refer to README-prereq, if prerequisites are not satisfied.
47876
47877 2009-06-27  Eric Blake  <ebb9@byu.net>
47878
47879         tests: add test for bogus NULL definition
47880         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47881         * tests/test-stdlib.c: Likewise.
47882         * tests/test-string.c: Likewise.
47883         * tests/test-locale.c: Likewise.
47884         * tests/test-unistd.c: Likewise.
47885         * modules/stdio-tests (Depends-on): Add verify.
47886         * modules/stdlib-tests (Depends-on): Likewise.
47887         * modules/string-tests (Depends-on): Likewise.
47888         * modules/locale-tests (Depends-on): Likewise.
47889         * modules/unistd-tests (Depends-on): Likewise.
47890
47891 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47892
47893         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47894         self-explaining comment.
47895         * m4/selinux-selinux-h: Update serial.
47896         (gl_LIBSELINUX): New macro, adding a warning for missing development
47897         packages to code extracted from...
47898         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47899         Add warning for missing development packages here, too.
47900
47901 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47902
47903         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47904
47905 2009-06-25  Eric Blake  <ebb9@byu.net>
47906
47907         version-etc: fix regression
47908         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47909         gcc.
47910         (version_etc): Use it, to catch bugs with trailing NULL.
47911         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47912         (version_etc_va): Fix logic bug.
47913         * modules/version-etc-tests: Add test.
47914         * tests/test-version-etc.c: New file.
47915         * tests/test-version-etc.sh: Likewise.
47916
47917 2009-06-25  Sam Steingold  <sds@gnu.org>
47918
47919         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47920         mbtowc declaration.
47921
47922 2009-06-25  Eric Blake  <ebb9@byu.net>
47923
47924         fpurge: migrate into <stdio.h>
47925         * lib/fpurge.h: Delete...
47926         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47927         * lib/fpurge.c (fpurge): Change declaring header.
47928         * modules/fpurge (Files): Drop deleted file.
47929         (Depends-on): Add stdio.
47930         (configure.ac): Set witness.
47931         * modules/stdio (Makefile.am): Support fpurge macros.
47932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47933         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47934         * lib/fflush.c: Update client.
47935         * tests/test-fpurge.c: Likewise.
47936         * NEWS: Mention the change.
47937
47938 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47939
47940         * lib/argp-version-etc.c (program_authors): Add const
47941         qualifier.
47942         * lib/version-etc.c: Fix typos in the comments.
47943         * modules/argp-version-etc: Depends on version-etc.
47944
47945 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47946
47947         argp-version-etc: new module.
47948
47949         * lib/argp-version-etc.c: New file.
47950         * lib/argp-version-etc.h: New file.
47951         * modules/argp-version-etc: New file.
47952         * modules/argp-version-etc-tests: New file.
47953         * tests/test-argp-version-etc.c: New test.
47954         * tests/test-argp-version-etc-1.sh: New test.
47955
47956 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47957
47958         Provide additional interfaces and documentation for version-etc
47959         module.
47960
47961         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47962         interfaces.
47963         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47964         prototypes.
47965
47966 2009-06-24  Bruno Haible  <bruno@clisp.org>
47967
47968         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47969         HAVE_LIB${NAME} macro.
47970         Reported by Sam Steingold <sds@gnu.org>.
47971
47972 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47973
47974         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47975         needed.
47976
47977 2009-06-21  Bruno Haible  <bruno@clisp.org>
47978
47979         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47980         work.
47981         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47982         together with LIB${NAME}, LTLIB${NAME}.
47983         Reported by Sam Steingold <sds@gnu.org>.
47984
47985 2009-06-20  Jim Meyering  <meyering@redhat.com>
47986
47987         tests: make sc_require_test_exit_idiom more generic
47988         * top/maint.mk (Exit_witness_file): New overridable variable.
47989         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47990         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47991
47992 2009-06-19  Jim Meyering  <meyering@redhat.com>
47993
47994         hash: reverse order of src/dst parameters in an internal interface
47995         * lib/hash.c (transfer_entries): Reverse order of parameters to
47996         put DST before SRC.  Adjust callers.
47997
47998         tests: test-hash: avoid wholesale duplication
47999         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48000         Instead, use a loop and add a single conditional.
48001
48002         tests: test-hash: allow seed selection via a command line argument
48003         * tests/test-hash.c (get_seed): New function.
48004         (main): Use it.
48005
48006 2009-06-19  Eric Blake  <ebb9@byu.net>
48007
48008         hash: avoid memory leak on allocation failure
48009         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48010         failure.  Factor repeated algorithm...
48011         (transfer_entries): ...into new helper routine.
48012         (hash_delete): React to hash_rehash return value.
48013
48014         hash: reduce memory pressure in hash_rehash no-op case
48015         * lib/hash.c (next_prime): Avoid overflow.
48016         (hash_initialize): Factor bucket size computation...
48017         (compute_bucket_size): ...into new helper function.
48018         (hash_rehash): Use new function and open coding to reduce memory
48019         pressure, and avoid a memory leak in USE_OBSTACK code.
48020         Reported by Jim Meyering.
48021
48022 2009-06-18  Eric Blake  <ebb9@byu.net>
48023
48024         hash: make rotation more obvious
48025         * modules/hash (Depends-on): Add bitrotate and stdint.
48026         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48027         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48028         (SIZE_MAX): Rely on headers for definition.
48029         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48030         (raw_hasher): Use rotr_sz.
48031         Suggested by Jim Meyering.
48032
48033         hash: fix memory leak in last patch
48034         * lib/hash.c (hash_rehash): Avoid memory leak.
48035
48036         hash: avoid no-op rehashing
48037         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48038
48039         hash: provide default callback functions
48040         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48041         (hash_initialize): Use them as defaults.
48042         * tests/test-hash.c (main): Test this.
48043
48044         hash: minor optimization
48045         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48046         when possible.
48047         (hash_initialize): Document this promise.
48048         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48049         * tests/test-hash.c (hash_compare_strings): Test this.
48050
48051 2009-06-18  Bruno Haible  <bruno@clisp.org>
48052
48053         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48054         going to be replaced anyway.
48055
48056 2009-06-18  Bruno Haible  <bruno@clisp.org>
48057
48058         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48059         in one place.
48060         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48061         be replaced anyway.
48062
48063 2009-06-18  Eric Blake  <ebb9@byu.net>
48064
48065         hash: check for resize before insertion
48066         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48067         threshold before insertion, so that a pathological hash_rehash
48068         that fills every bucket can still trigger another rehash.
48069
48070 2009-06-18  Jim Meyering  <meyering@redhat.com>
48071
48072         hash-tests: add a loop around the small tests
48073         * tests/test-hash.c (main): Repeat small tests with selected
48074         small initial table sizes.
48075
48076 2009-06-17  Eric Blake  <ebb9@byu.net>
48077
48078         hash: minor cleanups
48079         * lib/hash.h (hash_entry): Make opaque, by moving...
48080         * lib/hash.c (hash_entry): ...here.
48081         (hash_insert): Clarify restrictions on what can be inserted.
48082         (hash_get_next): Clarify when it is safe to remove an element
48083         during traversal.
48084         (check_tuning): Skip verification when tuning is known safe.
48085         (hash_initialize): Clarify restrictions on tuning.
48086
48087 2009-06-17  Jim Meyering  <jim@meyering.net>
48088         and Eric Blake  <ebb9@byu.net>
48089
48090         hash-tests: new module
48091         * modules/hash-tests: New file.
48092         * tests/test-hash.c: New file.
48093
48094 2009-06-17  Eric Blake  <ebb9@byu.net>
48095
48096         strstr-simple: document new module
48097         * MODULES.html.sh: Document new module.
48098
48099         strstr, strcasestr: replace on platforms with broken memchr
48100         * modules/strstr: Split into...
48101         * modules/strstr-simple: ...new module that does not care about
48102         performance, but does care about glibc bug.
48103         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48104         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48105         if platform memchr is broken, per Debian bug 521737.
48106         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48107         memchr.
48108         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48109         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48110         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48111         * modules/mountlist (Depends-on): Add strstr-simple.
48112         * modules/gen-uni-tables (Depends-on): Likewise.
48113         * modules/argz (Depends-on): Add strstr.
48114
48115 2009-06-17  Bruno Haible  <bruno@clisp.org>
48116
48117         * modules/posix_spawn-internal (Depends-on): Add errno.
48118
48119 2009-06-17  Bruno Haible  <bruno@clisp.org>
48120
48121         Define missing ESTALE on Interix 3.5.
48122         * lib/errno.in.h (ESTALE): Assign a value if missing.
48123         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48124         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48125         missing.
48126         * doc/posix-headers/errno.texi: Mention the Interix bug.
48127         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48128
48129 2009-06-15  Eric Blake  <ebb9@byu.net>
48130
48131         memchr, memchr2: add valgrind exception
48132         * lib/memchr.valgrind: New file.
48133         * lib/memchr2.valgrind: New file.
48134         * modules/memchr (Files): Distribute valgrind file.
48135         * modules/memchr2 (Files): Likewise.
48136
48137         docs: memchr is no longer obsolete
48138         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48139         * lib/string.in.h (memchr): Simplify logic.
48140
48141 2009-06-14  Jim Meyering  <meyering@redhat.com>
48142
48143         link-follow: fix the "checking..." message to not mention trailing slash
48144         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48145         never considered trailing slashes.
48146
48147 2009-06-14  Bruno Haible  <bruno@clisp.org>
48148
48149         * m4/memchr.m4: Mention also the bug on IA-64.
48150         * doc/posix-functions/memchr.texi: Likewise.
48151
48152 2009-06-12  Eric Blake  <ebb9@byu.net>
48153
48154         memchr: detect broken x86_64 and alpha implementations
48155         * modules/memchr-tests (Depends-on): Move mmap detection...
48156         * modules/memchr (Depends-on): ...here.
48157         (configure.ac): Set indicator.
48158         * lib/string.in.h (memchr): Declare replacement.
48159         * modules/string (Makefile.am): Trigger replacement.
48160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48161         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48162         bugs.
48163         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48164         * modules/getpagesize (License): Relax license.
48165
48166 2009-06-11  Bruno Haible  <bruno@clisp.org>
48167
48168         * lib/idpriv.h: Add more references.
48169
48170 2009-06-08  Bruno Haible  <bruno@clisp.org>
48171
48172         Tests for module 'idpriv-droptemp'.
48173         * modules/idpriv-droptemp-tests: New file.
48174         * tests/test-idpriv-droptemp.sh: New file.
48175         * tests/test-idpriv-droptemp.su.sh: New file.
48176         * tests/test-idpriv-droptemp.c: New file.
48177
48178         New module 'idpriv-droptemp'.
48179         * lib/idpriv-droptemp.c: New file.
48180         * modules/idpriv-droptemp: New file.
48181
48182 2009-06-08  Bruno Haible  <bruno@clisp.org>
48183
48184         Tests for module 'idpriv-drop'.
48185         * modules/idpriv-drop-tests: New file.
48186         * tests/test-idpriv-drop.sh: New file.
48187         * tests/test-idpriv-drop.su.sh: New file.
48188         * tests/test-idpriv-drop.c: New file.
48189
48190         New module 'idpriv-drop'.
48191         * lib/idpriv.h: New file.
48192         * lib-idpriv-drop.c: New file.
48193         * m4/idpriv.m4: New file.
48194         * modules/idpriv-drop: New file.
48195
48196 2009-06-08  Bruno Haible  <bruno@clisp.org>
48197
48198         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48199         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48200         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48201         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48202         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48203         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48204         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48205
48206 2009-06-08  Eric Blake  <ebb9@byu.net>
48207
48208         test-strstr: use memory fence, when possible
48209         * tests/test-strstr.c (main): Use memory fence, in order to be
48210         more likely to trigger Debian bug 521737.
48211         * modules/strstr-tests (Files): Pull in additional files.
48212
48213         memchr: no longer obsolete, for wider field testing
48214         * modules/memchr (Status, Notice): Delete, this module is no
48215         longer obsolete.
48216         * modules/vasnprintf (Depends-on): Add memchr.
48217
48218 2009-06-07  Jim Meyering  <meyering@redhat.com>
48219
48220         hash: declare some functions with the warn_unused_result attribute
48221         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48222
48223 2009-06-07  Bruno Haible  <bruno@clisp.org>
48224
48225         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48226         Reported by Eric Blake.
48227
48228 2009-06-06  Eric Blake  <ebb9@byu.net>
48229
48230         test-alignof: fix typo with long double
48231         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48232         compiler error.
48233
48234 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48235
48236         Escape non-texinfo { and }s.
48237         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48238         markup error.
48239
48240 2009-06-04  Jim Meyering  <meyering@redhat.com>
48241
48242         gitlog-to-changelog: don't infloop on an empty commit log
48243         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48244         Reported by Boris Petersen <transacid@centerim.org>.
48245
48246 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48247
48248         version-etc: extend for packagers
48249         Add three new configure options, intended for packagers:
48250           --with-packager="packager name"
48251           --with-packager-version="packager-specific version"
48252           --with-packager-bug-reports="packager bug reporting"
48253         An example with coreutils:
48254           $ ./configure \
48255             --with-packager=Gentoo \
48256             --with-packager-bug-report=http://bugs.gentoo.org/ \
48257             --with-packager-version="patchset 1.6"
48258           $ ./src/ls --version | head -n2
48259           ls (GNU coreutils) 7.1-dirty
48260           Packaged by Gentoo (patchset 1.6)
48261         Note that the bug reporting info via --help doesn't show up because
48262         coreutils uses its own custom emit_bug_reporting_address() implementation
48263         in src/system.h.  If it didn't, it'd look like:
48264           $ ./src/ls --help | tail -n4
48265           Report bugs to <bug-coreutils@gnu.org>.
48266           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48267           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48268           General help using GNU software: <http://www.gnu.org/gethelp/>.
48269         * lib/version-etc.c: Print new information, if provided.
48270         * m4/version-etc.m4: New file.
48271         * modules/version-etc (Files): Add m4/version-etc.m4.
48272         (configure.ac): Add gl_VERSION_ETC.
48273
48274 2009-05-31  Bruno Haible  <bruno@clisp.org>
48275
48276         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48277         and 'int64_t'.
48278         * modules/alignof-tests (Dependencies): Add stdint.
48279         Reported by Eric Blake.
48280
48281 2009-05-31  Bruno Haible  <bruno@clisp.org>
48282
48283         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48284         restriction due to compiler bugs.
48285         Reported by Eric Blake.
48286
48287 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48288             Bruno Haible  <bruno@clisp.org>
48289
48290         Fix test-alignof failure.
48291         * lib/alignof.h (alignof_slot): New macro.
48292         (alignof_type): New macro, with the same semantics as the previous
48293         'alignof'.
48294         (alignof): Alias to alignof_slot.
48295         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48296         check that the results are usable as constant expressions.
48297
48298 2009-05-31  Bruno Haible  <bruno@clisp.org>
48299
48300         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48301         * tests/test-memchr.c (main): Check that memchr does not read past the
48302         first occurrence of the byte.
48303         * tests/test-strstr.c (main): Update comment.
48304         Suggested by Eric Blake.
48305
48306 2009-05-30  Bruno Haible  <bruno@clisp.org>
48307
48308         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48309         detail how to use dumpbin.
48310         Reported by David Byron <dbyron@dbyron.com>.
48311
48312 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48313
48314         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48315
48316 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48317
48318         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48319
48320 2009-05-28  Bruno Haible  <bruno@clisp.org>
48321
48322         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48323         build-aux/ files.
48324
48325 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48326
48327         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48328
48329 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48330
48331         * gnulib-tool (sed_transform_main_lib_file)
48332         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48333         regexps.
48334
48335 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48336
48337         * tests/test-strstr.c: Add another self-test.
48338         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48339         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48340
48341 2009-05-23  Bruno Haible  <bruno@clisp.org>
48342
48343         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48344         change.
48345
48346 2009-05-21  Bruno Haible  <bruno@clisp.org>
48347
48348         Simplify use of mode_t varargs.
48349         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48350         uses 'mode_t' or 'int'.
48351         * lib/openat.c (openat): Likewise.
48352         * lib/open-safer.c (open_safer): Likewise.
48353         * m4/mode_t.m4: New file.
48354         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48355         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48356         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48357         * modules/open (Files): Add m4/mode_t.m4.
48358         * modules/openat (Files): Likewise.
48359         * modules/fcntl-safer (Files): Likewise.
48360         Suggested by Eric Blake.
48361
48362 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48363
48364         * doc/glibc-functions/fallocate.texi: New file.
48365         * doc/gnulib.texi: Include it.
48366
48367 2009-05-21  Eric Blake  <ebb9@byu.net>
48368             Bruno Haible  <bruno@clisp.org>
48369
48370         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48371         invocations.
48372         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48373
48374 2009-05-21  Eric Blake  <ebb9@byu.net>
48375             Bruno Haible  <bruno@clisp.org>
48376
48377         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48378         include_next. Fix of 2008-11-20 commit.
48379         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48380         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48381         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48382         NEXT_MATH_H.
48383         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48384         instead of NEXT_MATH_H.
48385
48386 2009-05-21  Bruno Haible  <bruno@clisp.org>
48387
48388         Avoid redefinition warnings for SIZE_MAX.
48389         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48390         Reported by Simon Josefsson.
48391
48392 2009-05-21  Bruno Haible  <bruno@clisp.org>
48393
48394         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48395         AC_CACHE_VAL.
48396
48397 2009-05-20  Bruno Haible  <bruno@clisp.org>
48398
48399         Make zeroptr.h work on mingw.
48400         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48401         mprotect.
48402         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48403         * modules/memchr2-tests (configure.ac): Likewise.
48404         * modules/memcmp-tests (configure.ac): Likewise.
48405         * modules/memmem-tests (configure.ac): Likewise.
48406         * modules/memrchr-tests (configure.ac): Likewise.
48407         Reported by Simon Josefsson.
48408
48409 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48410
48411         * tests/test-glob.c: Include string.h for strcmp prototype.
48412
48413 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48414
48415         * modules/getdelim (Depends-on): Add explicit stdint, although it
48416         was implicitly already pulled in via realloc-posix.
48417         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48418
48419 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48420
48421         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48422         G. Christensen" <tgc@jupiterrise.com>.
48423         * m4/sys_socket_h.m4: Check for sa_family_t.
48424         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48425         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48426         * tests/test-sys_socket.c: Check that sa_family_t works.
48427
48428 2009-05-18  Eric Blake  <ebb9@byu.net>
48429
48430         maint.mk: allow gnulib_dir in VPATH build
48431         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48432
48433 2009-05-15  Jim Meyering  <meyering@redhat.com>
48434
48435         maint.mk: Give gnulib_dir a default definition.
48436         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48437         Thus, most packages no longer need to specify this variable in cfg.mk
48438
48439 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48440
48441         rename.m4: fix typos that would make non-mingw cross-configure fail
48442         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48443
48444 2009-05-13  Eric Blake  <ebb9@byu.net>
48445
48446         mmap-anon: avoid out-of-order autoconf expansion
48447         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48448         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48449         * modules/memchr-tests (Depends-on): Add extensions.
48450         * modules/memchr2-tests (Depends-on): Add extensions.
48451         * modules/memcmp-tests (Depends-on): Add extensions.
48452         * modules/memmem-tests (Depends-on): Add extensions.
48453         * modules/memrchr-tests (Depends-on): Add extensions.
48454
48455 2009-05-13  Bruno Haible  <bruno@clisp.org>
48456
48457         Make some tests ISO C 99 compliant.
48458         * tests/zerosize-ptr.h: New file.
48459         * tests/test-memchr.c: Include zerosize-ptr.h.
48460         (main): Use a zero-size object pointer instead of NULL.
48461         * tests/test-memchr2.c: Include zerosize-ptr.h.
48462         (main): Use a zero-size object pointer instead of NULL.
48463         * tests/test-memcmp.c: Include zerosize-ptr.h.
48464         (main): Use a zero-size object pointer instead of NULL.
48465         * tests/test-memmem.c: Include zerosize-ptr.h.
48466         (main): Use a zero-size object pointer instead of NULL.
48467         * tests/test-memrchr.c: Include zerosize-ptr.h.
48468         (main): Use a zero-size object pointer instead of NULL.
48469         * modules/memchr-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/memchr2-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/memcmp-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         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48482         m4/mmap-anon.m4.
48483         (Depends-on): Add getpagesize.
48484         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48485         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48486         m4/mmap-anon.m4.
48487         (Depends-on): Add getpagesize.
48488         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48489
48490 2009-05-12  Bruno Haible  <bruno@clisp.org>
48491
48492         Tests for module 'alignof'.
48493         * modules/alignof-tests: New file.
48494         * tests/test-alignof.c: New file.
48495
48496 2009-05-12  Bruno Haible  <bruno@clisp.org>
48497
48498         Fix alignof macro.
48499         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48500         vendor compilers that are always correct.
48501
48502 2009-05-12  Bruno Haible  <bruno@clisp.org>
48503
48504         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48505         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48506         not whether its fully works.
48507
48508 2009-05-12  Bruno Haible  <bruno@clisp.org>
48509
48510         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48511
48512 2009-05-12  Jim Meyering  <meyering@redhat.com>
48513
48514         * top/maint.mk: Adjust backslash alignment.
48515
48516 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48517
48518         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48519
48520 2009-05-11  Eric Blake  <ebb9@byu.net>
48521
48522         argp: avoid undefined behavior
48523         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48524         macros.
48525
48526 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48527
48528         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48529         user.name to prevent git commit from complaining.
48530
48531 2009-05-10  Bruno Haible  <bruno@clisp.org>
48532
48533         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48534         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48535         it rewrites every file name only once.
48536         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48537
48538 2009-05-08  Bruno Haible  <bruno@clisp.org>
48539
48540         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48541         instead of 'max'.
48542
48543 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48544
48545         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48546         sockaddr_storage test.
48547
48548 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48549
48550         * modules/sys_socket (Makefile.am): Substitute
48551         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48552         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48553         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48554         * tests/test-sys_socket.c: Check sockaddr_storage.
48555
48556 2009-05-08  Bruno Haible  <bruno@clisp.org>
48557
48558         New module 'alignof'.
48559         * lib/alignof.h: New file.
48560         * modules/alignof: New file.
48561
48562 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48563             Bruno Haible  <bruno@clisp.org>
48564
48565         Fix test-file-has-acl on FreeBSD.
48566         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48567         mask is implicitly added.
48568         * tests/test-file-has-acl.c: Include <signal.h>.
48569         (main): Terminate the test after 5 seconds.
48570         * modules/acl-tests (configure.ac): Check for alarm function.
48571
48572 2009-05-04  Bruno Haible  <bruno@clisp.org>
48573
48574         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48575         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48576         * modules/errno (configure.ac): Drop AC_REQUIRE.
48577         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48578         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48579
48580 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48581
48582         * modules/glob-tests: New module.
48583         * tests/test-glob.c: Add.
48584
48585 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48586
48587         * modules/fnmatch-tests: New module.
48588         * tests/test-fnmatch.c: Add.
48589
48590 2009-05-04  Eric Blake  <ebb9@byu.net>
48591
48592         maint: make the new no-submodule-changes rule VPATH-safe
48593         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48594
48595 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48596             Bruno Haible  <bruno@clisp.org>
48597
48598         acl: Fix infinite loop on FreeBSD.
48599         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48600         of return value from acl_get_entry.
48601         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48602         Likewise.
48603
48604 2009-05-03  Bruno Haible  <bruno@clisp.org>
48605
48606         * lib/acl-internal.h (acl_entries): Clarify return value.
48607         * lib/acl_entries.c (acl_entries): Likewise.
48608
48609 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48610
48611         Bug fix in acl module.
48612         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48613
48614 2009-05-03  Bruno Haible  <bruno@clisp.org>
48615
48616         Create gperf-generated file in the source dir, not in the build dir.
48617         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48618         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48619         * modules/unicase/locale-language (unicase/locale-languages.h):
48620         Likewise.
48621         * modules/unicase/special-casing (unicase/special-casing-table.h):
48622         Likewise.
48623         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48624         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48625         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48626         Reported by Ralf Wildenhues.
48627
48628 2009-05-03  Bruno Haible  <bruno@clisp.org>
48629
48630         * modules/fnmatch (Description, configure.ac): Taken from
48631         fnmatch-posix.
48632         * modules/fnmatch-posix: Turn into a symbolic reference to the
48633         'fnmatch' module, and deprecate.
48634         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48635
48636 2009-05-03  Bruno Haible  <bruno@clisp.org>
48637
48638         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48639         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48640         Reported by Ralf Wildenhues.
48641
48642 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48643
48644         * m4/fnmatch.m4: Fix fnmatch re-define.
48645
48646 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48647
48648         priv-set: new module and tests; adapt write-any-file
48649         * lib/priv-set.c: New file.
48650         * lib/priv-set.h: New file.
48651         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48652         * lib/write-any-file.c: Simplify by using priv-set module.
48653         * m4/priv-set.m4: New file.
48654         * modules/priv-set: New file.
48655         * modules/unlinkdir: Add dependency on priv-set module.
48656         * modules/write-any-file: Likewise.
48657
48658         Tests for module 'priv-set'.
48659         * modules/priv-set-tests: New file.
48660         * tests/test-priv-set.c: New file.
48661
48662 2009-05-03  Jim Meyering  <meyering@redhat.com>
48663             Bruno Haible  <bruno@clisp.org>
48664
48665         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48666         use the converted UTF-8 variant of the name instead.
48667
48668 2009-05-03  Jim Meyering  <meyering@redhat.com>
48669
48670         tests: tighten some getdate tests
48671         * tests/test-getdate.c (main): Tighten tests: require equality,
48672         not just greater than.  Set TZ envvar to UTC0.
48673
48674 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48675
48676         getdate: correctly interpret "next monday" when run on a Monday
48677         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48678         that e.g., "next tues" (when run on a tuesday) results in a date
48679         that is one week in the future, and not today's date.
48680         I.e., add a week when the wday is the same as the current one.
48681         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48682         and earlier by Martin Bernreuther and Jan Minář.
48683         * tests/test-getdate.c (main): Check that "next DAY" is always in
48684         the future and that "last DAY" is always in the past.
48685
48686 2009-05-02  Jim Meyering  <meyering@redhat.com>
48687
48688         build: ensure that a release build fails when a submodule is unclean
48689         * top/maint.mk (no-submodule-changes): New rule.
48690         (alpha beta major): Depend on it.
48691
48692 2009-05-02  Bruno Haible  <bruno@clisp.org>
48693
48694         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48695         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48696         shell variable gl_fnmatch_required to detect which variant is
48697         requested.
48698         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48699         gl_FUNC_FNMATCH_POSIX.
48700         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48701         exclude fnmatch-posix.
48702
48703 2009-05-02  Bruno Haible  <bruno@clisp.org>
48704
48705         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48706         * modules/mbsrtowcs (License): Change to LGPLv2+.
48707         * modules/strnlen1 (License): Likewise.
48708         Reported by Simon Josefsson.
48709
48710 2009-05-02  Bruno Haible  <bruno@clisp.org>
48711
48712         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48713         "cross".
48714         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48715         gnulib-tool was called with option --source-base=lib.
48716
48717 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48718
48719         Use automake *-local hooks without commands, for extensibility.
48720         * modules/localcharset (Makefile.am): Rename install-exec-local
48721         rule to install-exec-localcharset, and make it a prerequisite of
48722         install-exec-local.  Likewise, rename the uninstall-local rule to
48723         uninstall-localcharset, and make it a prerequisite of the former.
48724
48725 2009-05-01  Bruno Haible  <bruno@clisp.org>
48726
48727         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48728         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48729         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48730         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48731         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48732         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48733         m4/locale-zh.m4, m4/codeset.m4.
48734
48735         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48736         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48737         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48738         m4/locale-zh.m4.
48739
48740         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48741         REPLACE_WCRTOMB if mbstate_t must be replaced.
48742         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48743         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48744
48745 2009-05-01  Bruno Haible  <bruno@clisp.org>
48746
48747         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48748         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48749         dngettext, dcngettext, textdomain, bindtextdomain,
48750         bind_textdomain_codeset): Undefine before redefining.
48751
48752 2009-04-30  Bruno Haible  <bruno@clisp.org>
48753
48754         Fix bug introduced on 2009-04-25.
48755         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48756         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48757         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48758         is defined.
48759         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48760         is defined.
48761         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48762         is defined.
48763         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48764
48765 2009-04-28  Bruno Haible  <bruno@clisp.org>
48766
48767         Comment tweaks.
48768         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48769         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48770         * lib/unicase.h (u*_casexfrm): Likewise.
48771         Reported by Paolo Bonzini.
48772
48773 2009-04-28  Bruno Haible  <bruno@clisp.org>
48774
48775         Fix a compilation error.
48776         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48777         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48778         Reported by Jim Meyering.
48779
48780 2009-04-27  Bruno Haible  <bruno@clisp.org>
48781
48782         New module 'libunistring'.
48783         * modules/libunistring: New file.
48784         * m4/libunistring.m4: New file.
48785         * MODULES.html.sh (Unicode string functions): Add it.
48786
48787 2009-04-27  Eric Blake  <ebb9@byu.net>
48788
48789         maint.mk: allow package-specific header to provide <config.h>
48790         * top/maint.mk (sc_require_config_h): New variable.
48791         (sc_require_config_h, sc_require_config_h_first): Use it.
48792
48793 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48794
48795         * top/maint.mk (sc_avoid_if_before_free): Except
48796         useless-if-before-free script.
48797
48798 2009-04-27  Eric Blake  <ebb9@byu.net>
48799
48800         maintainer-makefile: depend on all required helper scripts
48801         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48802         useless-if-before-free.
48803         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48804         version, rather than assuming gnulib checkout is available.
48805         Reported by Simen Josefsson.
48806
48807 2009-04-26  Bruno Haible  <bruno@clisp.org>
48808
48809         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48810         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48811         "../" or "..".
48812
48813 2009-04-26  Bruno Haible  <bruno@clisp.org>
48814
48815         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48816         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48817         AC_LIB_HAVE_LINKFLAGS.
48818
48819 2009-04-26  Bruno Haible  <bruno@clisp.org>
48820
48821         Simplify calling convention of u*_conv_from_encoding.
48822         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48823         u32_conv_from_encoding): Expect a resultbuf argument and return the
48824         result directly as a pointer.
48825         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48826         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48827         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48828         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48829         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48830         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48831         Update.
48832         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48833         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48834         * lib/vasnprintf.c (VASNPRINTF): Update.
48835         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48836         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48837         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48838         * NEWS: Mention the change.
48839
48840 2009-04-26  Bruno Haible  <bruno@clisp.org>
48841
48842         Simplify calling convention of u*_conv_to_encoding.
48843         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48844         u32_conv_to_encoding): Expect a resultbuf argument and return the
48845         result directly as a pointer.
48846         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48847         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48848         freeing scaled_offsets if mem_iconveha failed.
48849         * lib/unicase/u-casexfrm.h (FUNC): Update.
48850         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48851         * lib/vasnprintf.c (VASNPRINTF): Update.
48852         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48853         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48854         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48855         * NEWS: Mention the change.
48856
48857 2009-04-26  Bruno Haible  <bruno@clisp.org>
48858
48859         Avoid test failures on AIX and OSF/1.
48860         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48861         malloc(0).
48862         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48863         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48864         Likewise.
48865         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48866         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48867         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48868         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48869         * doc/posix-functions/malloc.texi: Document the portability problem
48870         related to malloc(0).
48871
48872 2009-04-26  Bruno Haible  <bruno@clisp.org>
48873
48874         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48875         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48876         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48877
48878 2009-04-25  Bruno Haible  <bruno@clisp.org>
48879
48880         Avoid link error when creating a namespace clean library.
48881         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48882         as macro with arguments if already defined as an alias.
48883         * lib/signbitf.c (gl_signbitf): Don't undefine.
48884         * lib/signbitd.c (gl_signbitd): Don't undefine.
48885         * lib/signbitl.c (gl_signbitl): Don't undefine.
48886
48887 2009-04-25  Jim Meyering  <meyering@redhat.com>
48888
48889         vc-list-files: fix another quoting bug
48890         * build-aux/vc-list-files: Avoid sed backslash expansion
48891         of pathological directory names.
48892
48893 2009-04-25  Eric Blake  <ebb9@byu.net>
48894
48895         vc-list-files: fix shell quoting error
48896         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48897         timestamp.
48898
48899 2009-04-25  Jim Meyering  <meyering@redhat.com>
48900
48901         vc-list-files: restore lost functionality with subdir argument
48902         * build-aux/vc-list-files: When given a non-"." sub-directory
48903         argument, substitute the $dir/ prefix back onto each resulting name.
48904         Otherwise, coreutils' root_tests check would fail.
48905
48906 2009-04-24  Eric Blake  <ebb9@byu.net>
48907
48908         vc-list-files: ignore git symlinks
48909         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48910         than ls-files, to ignore git symlinks.
48911
48912         maint.mk: import improvements from m4
48913         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48914         (move_if_change): Delete unused macro.
48915         (news-date-check, vc-diff-check): Support VPATH builds.
48916         (announcement): Likewise.  Split --bootstrap-tools list...
48917         (boostrap-tools): ...into separate list, which can be overridden
48918         in cfg.mk.
48919         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48920         requiring dependency on useless-if-before-free module.
48921         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48922         Support VPATH builds.
48923
48924 2009-04-24  Jim Meyering  <meyering@redhat.com>
48925
48926         maint.mk: remove coreutils-specific rules and variables
48927         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48928         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48929         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48930
48931         maint.mk: remove obsolete rule
48932         * top/maint.mk (rel-check): Remove rule.
48933         (WGET, WGETFLAGS): Remove now-unused variables.
48934
48935 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48936
48937         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48938         consistency.
48939
48940         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48941         '$(PATH_SEPARATOR)' instead of ':'.
48942
48943 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48944
48945         * lib/getopt1.c (main): Use 'const' for static array.
48946
48947 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48948
48949         * top/maint.mk: Sync with coreutils.
48950         * NEWS: Explain incompatibilities.
48951
48952 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48953             Bruno Haible  <bruno@clisp.org>
48954
48955         Fix cross-compilation results.
48956         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48957         statement, as third argument of AC_TRY_RUN.
48958         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48959         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48960         Likewise.
48961         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48962         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48963         Likewise.
48964         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48965         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48966         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48967
48968 2009-04-20  Bruno Haible  <bruno@clisp.org>
48969
48970         Avoid test failure on mingw.
48971         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48972
48973 2009-04-20  Bruno Haible  <bruno@clisp.org>
48974
48975         Avoid compilation error on mingw.
48976         * modules/localename-tests (Depends-on): Add locale.
48977
48978 2009-04-19  Bruno Haible  <bruno@clisp.org>
48979
48980         Support for building a shared library on Windows platforms.
48981         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48982         (main): Test the presence of UNINORM_NFC here.
48983         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48984         (main): Test the presence of UNINORM_NFD here.
48985         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48986         (main): Test the presence of UNINORM_NFKC here.
48987         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48988         (main): Test the presence of UNINORM_NFKD here.
48989
48990 2009-04-19  Bruno Haible  <bruno@clisp.org>
48991
48992         Avoid a compiler warning.
48993         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48994         Change type of variable 'sequence'.
48995
48996 2009-04-19  Bruno Haible  <bruno@clisp.org>
48997
48998         * modules/configmake (Makefile.am): When the contents of configmake.h
48999         does not change, arrange to preserve its modification time.
49000
49001 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49002
49003         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49004         gettext domain.
49005
49006 2009-04-16  Jim Meyering  <meyering@redhat.com>
49007
49008         useless-if-before-free: improve conversion code
49009         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49010         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49011
49012 2009-04-14  Bruno Haible  <bruno@clisp.org>
49013
49014         * modules/fcntl (Depends-on): Add extensions.
49015         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49016
49017 2009-04-12  Ben Pfaff  <blp@gnu.org>
49018
49019         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49020         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49021
49022 2009-03-20  Ben Pfaff  <blp@gnu.org>
49023
49024         Make rename replace existing destinations on Windows.
49025         * m4/rename.m4: Add test for Mingw.
49026         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49027         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49028         * doc/posix-functions/rename.texi: Document.
49029
49030 2009-04-10  Bruno Haible  <bruno@clisp.org>
49031
49032         New include file "iconveh.h".
49033         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49034         * lib/striconveh.h: Include it.
49035         (enum iconv_ilseq_handler): Remove definition.
49036         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49037         striconveh.h.
49038         * lib/striconveha.c: Include striconveh.h.
49039         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49040         * modules/striconveh (Files): Add lib/iconveh.h.
49041         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49042         lib/striconveh.h.
49043
49044 2009-04-10  Bruno Haible  <bruno@clisp.org>
49045
49046         * lib/uniconv.h: Update comment.
49047
49048 2009-04-10  Bruno Haible  <bruno@clisp.org>
49049
49050         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49051         always.
49052         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49053         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49054         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49055         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49056         "unistring-notinline.h", so that the function gets defined always.
49057         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49058         * lib/unistr/u8-uctomb.c: Likewise.
49059         * lib/unistr/u16-mbtouc.c: Likewise.
49060         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49061         * lib/unistr/u16-uctomb.c: Likewise.
49062         * lib/unistr/u32-mbtouc.c: Likewise.
49063         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49064         * lib/unistr/u32-uctomb.c: Likewise.
49065
49066 2009-04-10  Bruno Haible  <bruno@clisp.org>
49067
49068         Mark 'utime' obsolete.
49069         * modules/utime (Status, Notice): New sections.
49070         Suggested by Jim Meyering.
49071
49072         Fix cross-compile guess for utime test.
49073         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49074         autoconf.
49075         * doc/posix-functions/utime.texi: Give more precisions.
49076         Reported by Jan <ipif@ymail.com>.
49077
49078 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49079
49080         filevercmp: correct today's change
49081         * lib/filevercmp.c: Also handle coreutils' test inputs.
49082         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49083
49084         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49085         for reporting it.
49086         * lib/filevercmp.c: Special handle for "", "." and "..".
49087         * tests/test-filevercmp.c: Enlarge the set suite.
49088
49089 2009-04-07  Jim Meyering  <meyering@redhat.com>
49090
49091         useless-if-before-free: show how to remove braced useless free, too
49092         * build-aux/useless-if-before-free: still only in a comment, though.
49093
49094 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49095
49096         maint.mk: import changes to syntax-check macros from coreutils
49097         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49098         Use them in the relevant macros.
49099
49100 2009-04-06  Bruno Haible  <bruno@clisp.org>
49101
49102         Fix unportable use of bit-fields.
49103         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49104         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49105         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49106
49107 2009-04-06  Bruno Haible  <bruno@clisp.org>
49108
49109         Avoid test failures on AIX and OSF/1.
49110         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49111         that malloc(0) = NULL.
49112         * tests/unicase/test-u8-tolower.c (check): Likewise.
49113         * tests/unicase/test-u8-totitle.c (check): Likewise.
49114         * tests/unicase/test-u8-toupper.c (check): Likewise.
49115         * tests/unicase/test-u16-casefold.c (check): Likewise.
49116         * tests/unicase/test-u16-tolower.c (check): Likewise.
49117         * tests/unicase/test-u16-totitle.c (check): Likewise.
49118         * tests/unicase/test-u16-toupper.c (check): Likewise.
49119         * tests/unicase/test-u32-casefold.c (check): Likewise.
49120         * tests/unicase/test-u32-tolower.c (check): Likewise.
49121         * tests/unicase/test-u32-totitle.c (check): Likewise.
49122         * tests/unicase/test-u32-toupper.c (check): Likewise.
49123         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49124         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49125         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49126         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49127         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49128         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49129         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49130         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49131         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49132         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49133         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49134         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49135
49136 2009-04-05  Bruno Haible  <bruno@clisp.org>
49137
49138         Work around an autoconf limitation.
49139         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49140         comment line if it would be longer than 3 KB.
49141
49142 2009-04-05  Bruno Haible  <bruno@clisp.org>
49143
49144         Avoid test failure with libiconv-1.13.
49145         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49146         of the expected test results.
49147
49148 2009-04-05  Bruno Haible  <bruno@clisp.org>
49149
49150         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49151         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49152         that it should be installed.
49153
49154 2009-04-05  Bruno Haible  <bruno@clisp.org>
49155
49156         * gnulib-tool: New option --copy-file.
49157         (func_usage): Document it.
49158         (func_dest_tmpfilename): Moved out of func_import.
49159         (func_add_file, func_update_file): New functions, extracted from
49160         func_import.
49161         (func_import): Update.
49162
49163 2009-04-05  Karl Berry  <karl@gnu.org>
49164
49165         * README: prominently mention gnulib-tool.
49166         Rearrange sections so getting the code is near the top.
49167
49168 2009-04-05  Bruno Haible  <bruno@clisp.org>
49169
49170         * lib/unicase.h: Mention u*_cmp2.
49171         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49172         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49173         * lib/unicase/ulc-casecmp.c: Likewise.
49174         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49175         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49176         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49177         unistr/u8-cmp.
49178         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49179         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49180         unistr/u16-cmp.
49181         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49182         unistr/u32-cmp.
49183
49184         * lib/uninorm.h: Mention u*_cmp2.
49185         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49186         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49187         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49188         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49189         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49190         unistr/u8-cmp.
49191         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49192         unistr/u16-cmp.
49193         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49194         unistr/u32-cmp.
49195
49196         New module 'unistr/u32-cmp2'.
49197         * lib/unistr/u32-cmp2.c: New file.
49198         * modules/unistr/u32-cmp2: New file.
49199
49200         New module 'unistr/u16-cmp2'.
49201         * lib/unistr/u16-cmp2.c: New file.
49202         * modules/unistr/u16-cmp2: New file.
49203
49204         New module 'unistr/u8-cmp2'.
49205         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49206         * lib/unistr/u8-cmp2.c: New file.
49207         * lib/unistr/u-cmp2.h: New file.
49208         * modules/unistr/u8-cmp2: New file.
49209
49210 2009-04-05  Bruno Haible  <bruno@clisp.org>
49211
49212         * lib/unictype.h (uc_property_is_valid): New macro.
49213         * tests/unictype/test-pr_byname.c (main): Use it.
49214
49215         * lib/unistr.h: Doc fixes.
49216         * lib/uniconv.h: Doc fixes.
49217         * lib/unictype.h: Doc fixes.
49218
49219 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49220
49221         Port coreutils 7.2 to Solaris 8.
49222
49223         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49224         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49225         for Solaris 8.  This is a bit of a hack, as it means it's the
49226         caller's responsibility to add -lnsl if needed, but most likely it
49227         won't be needed since only getaddrinfo uses this and getaddrinfo
49228         isn't needed on Solaris 8.
49229
49230         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49231         problem to Solaris 8 encountered with coreutils 7.2, which
49232         resulted in a message "fnmatch.c:292: warning: passing argument 4
49233         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49234         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49235
49236 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49237
49238         * m4/ld-version-script.m4: Add FIXME comment.
49239
49240 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49241
49242         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49243         SOVERSION variable.
49244
49245 2009-04-02  Bruno Haible  <bruno@clisp.org>
49246
49247         * Makefile (info, html, dvi, pdf): Combine the rules.
49248         Suggested by Jim Meyering.
49249
49250 2009-04-01  Bruno Haible  <bruno@clisp.org>
49251
49252         * Makefile (info, html, dvi, pdf): New targets.
49253         Reported by Reuben Thomas <rrt@sc3d.org>.
49254
49255 2009-04-01  Bruno Haible  <bruno@clisp.org>
49256
49257         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49258         can be put into PATH.
49259         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49260
49261 2009-04-01  Bruno Haible  <bruno@clisp.org>
49262
49263         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49264
49265 2009-04-01  Bruno Haible  <bruno@clisp.org>
49266
49267         Rename module 'visibility'.
49268         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49269         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49270         * doc/gnulib.texi: Update.
49271         * MODULES.html.sh (Misc): Update.
49272         * NEWS: Mention the change.
49273
49274 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49275
49276         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49277         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49278         Eric Blake <ebb9@byu.net> for review.
49279         * MODULES.html.sh: Add lib-msvc-compat.
49280         * doc/gnulib.texi: Link to new section.
49281         * m4/ld-output-def.m4: New file.
49282         * doc/ld-output-def.texi: New file.
49283
49284 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49285
49286         Rename ld-version-script to lib-symbol-versions.  Suggested by
49287         Bruno Haible <bruno@clisp.org>.
49288         * modules/ld-version-script: Renamed to lib-symbol-versions.
49289         * doc/ld-version-script.texi: Fix module name.
49290         * MODULES.html.sh: Add lib-symbol-versions.
49291
49292 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49293
49294         * modules/u64-tests: New file.
49295         * tests/test-u64.c: New file.
49296
49297 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49298
49299         * MODULES.html.sh: Mention u64.
49300         * modules/u64: New module.
49301         * modules/crypto/sha512: Depend on u64 module instead of providing
49302         u64.h.
49303
49304 2009-03-27  Eric Blake  <ebb9@byu.net>
49305
49306         test-strerror: make debugging EAI_SYSTEM easier
49307         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49308         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49309         failure was EAI_SYSTEM.
49310
49311 2009-03-25  Bruno Haible  <bruno@clisp.org>
49312
49313         Fix a problem with --enable-relocatable on Solaris 7.
49314         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49315         since 2008-02-24.
49316
49317 2009-03-25  Eric Blake  <ebb9@byu.net>
49318
49319         test-sockets: avoid gcc warning
49320         * tests/test-sockets.c (main): Silence compiler warning.
49321
49322 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49323
49324         New modules nproc, pthread, contributed by Glen Lenker.
49325
49326         * MODULES.html.sh: Add pthread, nproc.
49327         * lib/nproc.c: New file.
49328         * lib/nproc.h: New file.
49329         * lib/pthread.in.h: New file.
49330         * m4/pthread.m4: New file.
49331         * modules/nproc: New file.
49332         * modules/pthread: New file.
49333
49334 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49335
49336         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49337         New variable.
49338
49339 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49340
49341         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49342         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49343         * tests/test-filevercmp.c: Add tests for backup suffixes.
49344
49345 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49346
49347         * modules/stdlib (Depends-on): Add stdint, needed when defining
49348         struct random_data on, for example, HP-UX 10.20.  Reported by
49349         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49350
49351 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49352
49353         * lib/readline.c (readline): Call fflush on stdout after printing
49354         prompt.
49355
49356 2009-03-20  Bruno Haible  <bruno@clisp.org>
49357
49358         Remove dependency from 'close' module to -lws2_32 on native Windows.
49359         * lib/close-hook.h: New file.
49360         * lib/close-hook.c: New file.
49361         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49362         w32sock.h.
49363         (_gl_close_fd_maybe_socket): Remove function.
49364         (rpl_close): Invoke execute_all_close_hooks instead of
49365         _gl_close_fd_maybe_socket.
49366         * lib/sockets.c: Include close-hook.h, w32sock.h.
49367         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49368         (close_sockets_hook): New variable.
49369         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49370         (gl_sockets_cleanup): Unregister it.
49371         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49372         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49373         * modules/close-hook: New file.
49374         * modules/close (Files): Remove lib/w32sock.h.
49375         (Depends-on): Add close-hook.
49376         (Link): Remove section.
49377         * modules/sockets (Files): Add lib/w32sock.h.
49378         (Depends-on): Add close-hook.
49379         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49380         invocation.
49381         * NEWS: Mention that LIB_CLOSE is gone.
49382
49383 2009-03-23  Eric Blake  <ebb9@byu.net>
49384
49385         signal-tests: test previous patch
49386         * tests/test-signal.c: New file.
49387         * modules/signal-tests: Likewise.
49388
49389         signal.h: always support 'volatile sig_atomic_t'
49390         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49391         (gl_SIGNAL_H_DEFAULTS): Add a default.
49392         * modules/signal (Makefile.am): Substitute if needed.
49393         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49394         users can blindly add volatile.
49395         * doc/posix-headers/signal.texi (signal.h): Document it.
49396         Reported by Matthew Woehlke.
49397
49398 2009-03-23  Jim Meyering  <meyering@redhat.com>
49399
49400         pathmax: PATH_MAX: use pathconf only when available
49401         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49402         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49403         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49404         This avoids a link failure in a PSP cross-compilation environment
49405         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49406
49407         * lib/vasnprintf.c (divide): Fix typo in comment.
49408
49409 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49410
49411         * gnulib-tool (func_filter_filelist): Fix comment.
49412
49413 2009-03-20  Bruno Haible  <bruno@clisp.org>
49414
49415         Make sockets.h self-contained.
49416         * lib/sockets.c: Include sockets.h first.
49417         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49418
49419 2009-03-19  Eric Blake  <ebb9@byu.net>
49420
49421         doc: mention more functions added in cygwin 1.7.0
49422         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49423         addition.
49424         * doc/posix-functions/log2f.texi: Likewise.
49425
49426 2009-03-19  Jim Meyering  <meyering@redhat.com>
49427
49428         fsusage: avoid syntax error due to statement-before-declaration
49429         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49430         after all declarations.  Reported by Matthew Woehlke in
49431         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49432
49433 2009-03-18  Eric Blake  <ebb9@byu.net>
49434
49435         build-aux/compile: sync from automake
49436         * build-aux/compile: New file, from automake.
49437         * config/srclist.txt: Mention build-aux/compile.
49438
49439 2009-03-17  Bruno Haible  <bruno@clisp.org>
49440
49441         * lib/git-merge-changelog.c: Fix typo in comment.
49442         Reported by Reuben Thomas <rrt@sc3d.org>.
49443
49444 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49445
49446         * m4/regex.m4: update and improve help for
49447         --without-included-regex.
49448
49449 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49450
49451         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49452         failure on missing include files.
49453
49454 2009-03-17  Eric Blake  <ebb9@byu.net>
49455
49456         doc: mention more functions added in cygwin 1.7.0
49457         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49458         addition.
49459         * doc/posix-functions/fwscanf.texi: Likewise.
49460         * doc/posix-functions/swprintf.texi: Likewise.
49461         * doc/posix-functions/swscanf.texi: Likewise.
49462         * doc/posix-functions/vfwprintf.texi: Likewise.
49463         * doc/posix-functions/vfwscanf.texi: Likewise.
49464         * doc/posix-functions/vswprintf.texi: Likewise.
49465         * doc/posix-functions/vswscanf.texi: Likewise.
49466         * doc/posix-functions/vwprintf.texi: Likewise.
49467         * doc/posix-functions/vwscanf.texi: Likewise.
49468         * doc/posix-functions/wcscasecmp.texi: Likewise.
49469         * doc/posix-functions/wcsdup.texi: Likewise.
49470         * doc/posix-functions/wcsftime.texi: Likewise.
49471         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49472         * doc/posix-functions/wprintf.texi: Likewise.
49473         * doc/posix-functions/wscanf.texi: Likewise.
49474         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49475
49476 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49477
49478         maint.mk: really add $(AM_MAKEFLAGS)
49479         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49480         was inadvertently omitted in the last commit.
49481         Spotted by Bruno Haible.
49482
49483         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49484         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49485         $(AM_MAKEFLAGS)' rather than plain `make'.
49486
49487         gnulib-tool: execute $MAKE not make
49488         * gnulib-tool: Default $MAKE to 'make'.
49489         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49490         than make.  Initialize $MAKE in the do-autobuild script.
49491
49492         gnulib-tool: use $MAKE not make in generated files
49493         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49494         make, in generated files.  Initialize $MAKE in the do-autobuild
49495         script.
49496
49497         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49498
49499         GNUmakefile: disable parallelism only for multiple, recursive targets
49500         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49501         additions in the Makefile.
49502         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49503         by Automake.
49504         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49505         are listed on the command line and at least one of them is
49506         listed in $(ALL_RECURSIVE_TARGETS).
49507
49508 2009-03-14  Bruno Haible  <bruno@clisp.org>
49509
49510         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49511         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49512         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49513         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49514         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49515         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49516         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49517         unistr/u8-uctomb.
49518         * modules/unistr/u8-strchr (Depends-on): Likewise.
49519         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49520         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49521         unistr/u16-uctomb.
49522         * modules/unistr/u16-strchr (Depends-on): Likewise.
49523         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49524
49525 2009-03-12  Bruno Haible  <bruno@clisp.org>
49526
49527         Work around select() bug on Interix 3.5.
49528         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49529         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49530         * m4/select.m4: New file.
49531         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49532         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49533         * modules/select (Files): Add m4/select.m4.
49534         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49535         * modules/nanosleep (Depends-on): Add select.
49536         * modules/poll (Depends-on): Likewise.
49537         * doc/posix-functions/select.texi: Mention the Interix bug.
49538         Reported by Markus Duft <mduft@gentoo.org>.
49539
49540         * lib/select.c: Renamed from lib/winsock-select.c.
49541         * modules/select (Files): Add lib/select.c, remove
49542         lib/winsock-select.c.
49543         (configure.ac): Update.
49544
49545 2009-03-12  Jim Meyering  <meyering@redhat.com>
49546
49547         avoid gcc warnings about unused macro definitions
49548         * lib/readtokens.c (STREQ): Remove unused definition.
49549         * lib/xmalloc.c (SIZE_MAX): Likewise.
49550         * lib/openat-die.c (N_): Likewise.
49551         * lib/mountlist.c (SIZE_MAX): Remove definition.
49552         Instead, include <stdint.h>.
49553         * lib/readutmp.c: Likewise.
49554         * modules/readutmp (Depends-on): Add stdint.
49555         * modules/mountlist (Depends-on): Add stdint.
49556         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49557
49558 2009-03-10  Bruno Haible  <bruno@clisp.org>
49559
49560         Tests for module 'mbmemcasecoll'.
49561         * modules/mbmemcasecoll-tests: New file.
49562         * tests/test-mbmemcasecoll1.sh: New file.
49563         * tests/test-mbmemcasecoll2.sh: New file.
49564         * tests/test-mbmemcasecoll3.sh: New file.
49565         * tests/test-mbmemcasecoll.c: New file.
49566
49567         New module 'mbmemcasecoll'.
49568         * lib/mbmemcasecoll.h: New file.
49569         * lib/mbmemcasecoll.c: New file.
49570         * modules/mbmemcasecoll: New file.
49571
49572         * tests/test-mbmemcasecmp.h: New file, extracted from
49573         tests/test-mbmemcasecmp.c.
49574         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49575         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49576         (main): Update.
49577         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49578
49579 2009-03-09  Bruno Haible  <bruno@clisp.org>
49580
49581         Tests for module 'mbmemcasecmp'.
49582         * modules/mbmemcasecmp-tests: New file.
49583         * tests/test-mbmemcasecmp1.sh: New file.
49584         * tests/test-mbmemcasecmp2.sh: New file.
49585         * tests/test-mbmemcasecmp3.sh: New file.
49586         * tests/test-mbmemcasecmp.c: New file.
49587
49588         New module 'mbmemcasecmp'.
49589         * lib/mbmemcasecmp.h: New file.
49590         * lib/mbmemcasecmp.c: New file.
49591         * modules/mbmemcasecmp: New file.
49592
49593 2009-03-09  Bruno Haible  <bruno@clisp.org>
49594
49595         Tests for module 'unicase/ulc-casecoll'.
49596         * modules/unicase/ulc-casecoll-tests: New file.
49597         * tests/unicase/test-ulc-casecoll1.sh: New file.
49598         * tests/unicase/test-ulc-casecoll2.sh: New file.
49599         * tests/unicase/test-ulc-casecoll.c: New file.
49600
49601         New module 'unicase/ulc-casecoll'.
49602         * lib/unicase.h (ulc_casecoll): New declaration.
49603         * lib/unicase/ulc-casecoll.c: New file.
49604         * modules/unicase/ulc-casecoll: New file.
49605
49606         New module 'unicase/ulc-casexfrm'.
49607         * lib/unicase.h (ulc_casexfrm): New declaration.
49608         * lib/unicase/ulc-casexfrm.c: New file.
49609         * modules/unicase/ulc-casexfrm: New file.
49610
49611 2009-03-09  Bruno Haible  <bruno@clisp.org>
49612
49613         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49614         invocations.
49615
49616         * m4/mbscasecmp.m4: Remove file.
49617         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49618         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49619
49620         * m4/mbscasestr.m4: Remove file.
49621         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49622         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49623
49624         * m4/mbschr.m4: Remove file.
49625         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49626         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49627
49628         * m4/mbscspn.m4: Remove file.
49629         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49630         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49631
49632         * m4/mbslen.m4: Remove file.
49633         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49634         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49635
49636         * m4/mbsncasecmp.m4: Remove file.
49637         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49638         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49639
49640         * m4/mbsnlen.m4: Remove file.
49641         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49642         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49643
49644         * m4/mbspbrk.m4: Remove file.
49645         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49646         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49647
49648         * m4/mbspcasecmp.m4: Remove file.
49649         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49650         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49651
49652         * m4/mbsrchr.m4: Remove file.
49653         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49654         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49655
49656         * m4/mbssep.m4: Remove file.
49657         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49658         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49659
49660         * m4/mbsspn.m4: Remove file.
49661         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49662         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49663
49664         * m4/mbsstr.m4: Remove file.
49665         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49666         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49667
49668         * m4/mbstok_r.m4: Remove file.
49669         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49670         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49671
49672         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49673
49674         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49675         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49676
49677         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49678
49679 2009-03-08  Bruno Haible  <bruno@clisp.org>
49680
49681         Tests for module 'unicase/ulc-casecmp'.
49682         * modules/unicase/ulc-casecmp-tests: New file.
49683         * tests/unicase/test-ulc-casecmp1.sh: New file.
49684         * tests/unicase/test-ulc-casecmp2.sh: New file.
49685         * tests/unicase/test-ulc-casecmp.c: New file.
49686
49687         New module 'unicase/ulc-casecmp'.
49688         * lib/unicase.h (ulc_casecmp): New declaration.
49689         * lib/unicase/ulc-casecmp.c: New file.
49690         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49691         'const SRC_UNIT *'.
49692         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49693         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49694         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49695         * modules/unicase/ulc-casecmp: New file.
49696
49697         Tests for module 'unicase/u32-is-cased'.
49698         * modules/unicase/u32-is-cased-tests: New file.
49699         * tests/unicase/test-u32-is-cased.c: New file.
49700
49701         Tests for module 'unicase/u16-is-cased'.
49702         * modules/unicase/u16-is-cased-tests: New file.
49703         * tests/unicase/test-u16-is-cased.c: New file.
49704
49705         Tests for module 'unicase/u8-is-cased'.
49706         * modules/unicase/u8-is-cased-tests: New file.
49707         * tests/unicase/test-u8-is-cased.c: New file.
49708         * tests/unicase/test-is-cased.h: New file.
49709
49710         New module 'unicase/u32-is-cased'.
49711         * lib/unicase/u32-is-cased.c: New file.
49712         * modules/unicase/u32-is-cased: New file.
49713
49714         New module 'unicase/u16-is-cased'.
49715         * lib/unicase/u16-is-cased.c: New file.
49716         * modules/unicase/u16-is-cased: New file.
49717
49718         New module 'unicase/u8-is-cased'.
49719         * lib/unicase/u8-is-cased.c: New file.
49720         * lib/unicase/u-is-cased.h: New file.
49721         * modules/unicase/u8-is-cased: New file.
49722
49723         Tests for module 'unicase/u32-is-casefolded'.
49724         * modules/unicase/u32-is-casefolded-tests: New file.
49725         * tests/unicase/test-u32-is-casefolded.c: New file.
49726
49727         Tests for module 'unicase/u16-is-casefolded'.
49728         * modules/unicase/u16-is-casefolded-tests: New file.
49729         * tests/unicase/test-u16-is-casefolded.c: New file.
49730
49731         Tests for module 'unicase/u8-is-casefolded'.
49732         * modules/unicase/u8-is-casefolded-tests: New file.
49733         * tests/unicase/test-u8-is-casefolded.c: New file.
49734         * tests/unicase/test-is-casefolded.h: New file.
49735
49736         New module 'unicase/u32-is-casefolded'.
49737         * lib/unicase/u32-is-casefolded.c: New file.
49738         * modules/unicase/u32-is-casefolded: New file.
49739
49740         New module 'unicase/u16-is-casefolded'.
49741         * lib/unicase/u16-is-casefolded.c: New file.
49742         * modules/unicase/u16-is-casefolded: New file.
49743
49744         New module 'unicase/u8-is-casefolded'.
49745         * lib/unicase/u8-is-casefolded.c: New file.
49746         * modules/unicase/u8-is-casefolded: New file.
49747
49748         Tests for module 'unicase/u32-is-titlecase'.
49749         * modules/unicase/u32-is-titlecase-tests: New file.
49750         * tests/unicase/test-u32-is-titlecase.c: New file.
49751
49752         Tests for module 'unicase/u16-is-titlecase'.
49753         * modules/unicase/u16-is-titlecase-tests: New file.
49754         * tests/unicase/test-u16-is-titlecase.c: New file.
49755
49756         Tests for module 'unicase/u8-is-titlecase'.
49757         * modules/unicase/u8-is-titlecase-tests: New file.
49758         * tests/unicase/test-u8-is-titlecase.c: New file.
49759         * tests/unicase/test-is-titlecase.h: New file.
49760
49761         New module 'unicase/u32-is-titlecase'.
49762         * lib/unicase/u32-is-titlecase.c: New file.
49763         * modules/unicase/u32-is-titlecase: New file.
49764
49765         New module 'unicase/u16-is-titlecase'.
49766         * lib/unicase/u16-is-titlecase.c: New file.
49767         * modules/unicase/u16-is-titlecase: New file.
49768
49769         New module 'unicase/u8-is-titlecase'.
49770         * lib/unicase/u8-is-titlecase.c: New file.
49771         * modules/unicase/u8-is-titlecase: New file.
49772
49773         Tests for module 'unicase/u32-is-lowercase'.
49774         * modules/unicase/u32-is-lowercase-tests: New file.
49775         * tests/unicase/test-u32-is-lowercase.c: New file.
49776
49777         Tests for module 'unicase/u16-is-lowercase'.
49778         * modules/unicase/u16-is-lowercase-tests: New file.
49779         * tests/unicase/test-u16-is-lowercase.c: New file.
49780
49781         Tests for module 'unicase/u8-is-lowercase'.
49782         * modules/unicase/u8-is-lowercase-tests: New file.
49783         * tests/unicase/test-u8-is-lowercase.c: New file.
49784         * tests/unicase/test-is-lowercase.h: New file.
49785
49786         New module 'unicase/u32-is-lowercase'.
49787         * lib/unicase/u32-is-lowercase.c: New file.
49788         * modules/unicase/u32-is-lowercase: New file.
49789
49790         New module 'unicase/u16-is-lowercase'.
49791         * lib/unicase/u16-is-lowercase.c: New file.
49792         * modules/unicase/u16-is-lowercase: New file.
49793
49794         New module 'unicase/u8-is-lowercase'.
49795         * lib/unicase/u8-is-lowercase.c: New file.
49796         * modules/unicase/u8-is-lowercase: New file.
49797
49798         Tests for module 'unicase/u32-is-uppercase'.
49799         * modules/unicase/u32-is-uppercase-tests: New file.
49800         * tests/unicase/test-u32-is-uppercase.c: New file.
49801
49802         Tests for module 'unicase/u16-is-uppercase'.
49803         * modules/unicase/u16-is-uppercase-tests: New file.
49804         * tests/unicase/test-u16-is-uppercase.c: New file.
49805
49806         Tests for module 'unicase/u8-is-uppercase'.
49807         * modules/unicase/u8-is-uppercase-tests: New file.
49808         * tests/unicase/test-u8-is-uppercase.c: New file.
49809         * tests/unicase/test-is-uppercase.h: New file.
49810
49811         New module 'unicase/u32-is-uppercase'.
49812         * lib/unicase/u32-is-uppercase.c: New file.
49813         * modules/unicase/u32-is-uppercase: New file.
49814
49815         New module 'unicase/u16-is-uppercase'.
49816         * lib/unicase/u16-is-uppercase.c: New file.
49817         * modules/unicase/u16-is-uppercase: New file.
49818
49819         New module 'unicase/u8-is-uppercase'.
49820         * lib/unicase/u8-is-uppercase.c: New file.
49821         * modules/unicase/u8-is-uppercase: New file.
49822
49823         New module 'unicase/u32-is-invariant'.
49824         * lib/unicase/u32-is-invariant.c: New file.
49825         * modules/unicase/u32-is-invariant: New file.
49826
49827         New module 'unicase/u16-is-invariant'.
49828         * lib/unicase/u16-is-invariant.c: New file.
49829         * modules/unicase/u16-is-invariant: New file.
49830
49831         New module 'unicase/u8-is-invariant'.
49832         * lib/unicase/u8-is-invariant.c: New file.
49833         * lib/unicase/invariant.h: New file.
49834         * lib/unicase/u-is-invariant.h: New file.
49835         * modules/unicase/u8-is-invariant: New file.
49836
49837         Tests for module 'unicase/u32-casecoll'.
49838         * modules/unicase/u32-casecoll-tests: New file.
49839         * tests/unicase/test-u32-casecoll.c: New file.
49840
49841         Tests for module 'unicase/u16-casecoll'.
49842         * modules/unicase/u16-casecoll-tests: New file.
49843         * tests/unicase/test-u16-casecoll.c: New file.
49844
49845         Tests for module 'unicase/u8-casecoll'.
49846         * modules/unicase/u8-casecoll-tests: New file.
49847         * tests/unicase/test-u8-casecoll.c: New file.
49848
49849         New module 'unicase/u32-casecoll'.
49850         * lib/unicase/u32-casecoll.c: New file.
49851         * modules/unicase/u32-casecoll: New file.
49852
49853         New module 'unicase/u16-casecoll'.
49854         * lib/unicase/u16-casecoll.c: New file.
49855         * modules/unicase/u16-casecoll: New file.
49856
49857         New module 'unicase/u8-casecoll'.
49858         * lib/unicase/u8-casecoll.c: New file.
49859         * lib/unicase/u-casecoll.h: New file.
49860         * modules/unicase/u8-casecoll: New file.
49861
49862         New module 'unicase/u32-casexfrm'.
49863         * lib/unicase/u32-casexfrm.c: New file.
49864         * modules/unicase/u32-casexfrm: New file.
49865
49866         New module 'unicase/u16-casexfrm'.
49867         * lib/unicase/u16-casexfrm.c: New file.
49868         * modules/unicase/u16-casexfrm: New file.
49869
49870         New module 'unicase/u8-casexfrm'.
49871         * lib/unicase/u8-casexfrm.c: New file.
49872         * lib/unicase/u-casexfrm.h: New file.
49873         * modules/unicase/u8-casexfrm: New file.
49874
49875         Tests for module 'unicase/u32-casecmp'.
49876         * modules/unicase/u32-casecmp-tests: New file.
49877         * tests/unicase/test-u32-casecmp.c: New file.
49878
49879         Tests for module 'unicase/u16-casecmp'.
49880         * modules/unicase/u16-casecmp-tests: New file.
49881         * tests/unicase/test-u16-casecmp.c: New file.
49882
49883         Tests for module 'unicase/u8-casecmp'.
49884         * modules/unicase/u8-casecmp-tests: New file.
49885         * tests/unicase/test-u8-casecmp.c: New file.
49886         * tests/unicase/test-casecmp.h: New file.
49887
49888         New module 'unicase/u32-casecmp'.
49889         * lib/unicase/u32-casecmp.c: New file.
49890         * modules/unicase/u32-casecmp: New file.
49891
49892         New module 'unicase/u16-casecmp'.
49893         * lib/unicase/u16-casecmp.c: New file.
49894         * modules/unicase/u16-casecmp: New file.
49895
49896         New module 'unicase/u8-casecmp'.
49897         * lib/unicase/u8-casecmp.c: New file.
49898         * lib/unicase/u-casecmp.h: New file.
49899         * modules/unicase/u8-casecmp: New file.
49900
49901         Tests for module 'unicase/u32-casefold'.
49902         * modules/unicase/u32-casefold-tests: New file.
49903         * tests/unicase/test-u32-casefold.c: New file.
49904
49905         Tests for module 'unicase/u16-casefold'.
49906         * modules/unicase/u16-casefold-tests: New file.
49907         * tests/unicase/test-u16-casefold.c: New file.
49908
49909         Tests for module 'unicase/u8-casefold'.
49910         * modules/unicase/u8-casefold-tests: New file.
49911         * tests/unicase/test-u8-casefold.c: New file.
49912
49913         New module 'unicase/u32-casefold'.
49914         * lib/unicase/u32-casefold.c: New file.
49915         * modules/unicase/u32-casefold: New file.
49916
49917         New module 'unicase/u16-casefold'.
49918         * lib/unicase/u16-casefold.c: New file.
49919         * modules/unicase/u16-casefold: New file.
49920
49921         New module 'unicase/u8-casefold'.
49922         * lib/unicase/u8-casefold.c: New file.
49923         * lib/unicase/u-casefold.h: New file.
49924         * modules/unicase/u8-casefold: New file.
49925
49926         New module 'unicase/tocasefold'.
49927         * lib/unicase/casefold.h: New file.
49928         * lib/unicase/tocasefold.c: New file.
49929         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49930         * modules/unicase/tocasefold: New file.
49931
49932         Tests for module 'unicase/u32-totitle'.
49933         * modules/unicase/u32-totitle-tests: New file.
49934         * tests/unicase/test-u32-totitle.c: New file.
49935
49936         Tests for module 'unicase/u16-totitle'.
49937         * modules/unicase/u16-totitle-tests: New file.
49938         * tests/unicase/test-u16-totitle.c: New file.
49939
49940         Tests for module 'unicase/u8-totitle'.
49941         * modules/unicase/u8-totitle-tests: New file.
49942         * tests/unicase/test-u8-totitle.c: New file.
49943
49944         New module 'unicase/u32-totitle'.
49945         * lib/unicase/u32-totitle.c: New file.
49946         * modules/unicase/u32-totitle: New file.
49947
49948         New module 'unicase/u16-totitle'.
49949         * lib/unicase/u16-totitle.c: New file.
49950         * modules/unicase/u16-totitle: New file.
49951
49952         New module 'unicase/u8-totitle'.
49953         * lib/unicase/u8-totitle.c: New file.
49954         * lib/unicase/u-totitle.h: New file.
49955         * modules/unicase/u8-totitle: New file.
49956
49957         Tests for module 'unicase/u32-tolower'.
49958         * modules/unicase/u32-tolower-tests: New file.
49959         * tests/unicase/test-u32-tolower.c: New file.
49960
49961         Tests for module 'unicase/u16-tolower'.
49962         * modules/unicase/u16-tolower-tests: New file.
49963         * tests/unicase/test-u16-tolower.c: New file.
49964
49965         Tests for module 'unicase/u8-tolower'.
49966         * modules/unicase/u8-tolower-tests: New file.
49967         * tests/unicase/test-u8-tolower.c: New file.
49968
49969         New module 'unicase/u32-tolower'.
49970         * lib/unicase/u32-tolower.c: New file.
49971         * modules/unicase/u32-tolower: New file.
49972
49973         New module 'unicase/u16-tolower'.
49974         * lib/unicase/u16-tolower.c: New file.
49975         * modules/unicase/u16-tolower: New file.
49976
49977         New module 'unicase/u8-tolower'.
49978         * lib/unicase/u8-tolower.c: New file.
49979         * modules/unicase/u8-tolower: New file.
49980
49981         Tests for module 'unicase/u32-toupper'.
49982         * modules/unicase/u32-toupper-tests: New file.
49983         * tests/unicase/test-u32-toupper.c: New file.
49984
49985         Tests for module 'unicase/u16-toupper'.
49986         * modules/unicase/u16-toupper-tests: New file.
49987         * tests/unicase/test-u16-toupper.c: New file.
49988
49989         Tests for module 'unicase/u8-toupper'.
49990         * modules/unicase/u8-toupper-tests: New file.
49991         * tests/unicase/test-u8-toupper.c: New file.
49992
49993         New module 'unicase/u32-toupper'.
49994         * lib/unicase/u32-toupper.c: New file.
49995         * modules/unicase/u32-toupper: New file.
49996
49997         New module 'unicase/u16-toupper'.
49998         * lib/unicase/u16-toupper.c: New file.
49999         * modules/unicase/u16-toupper: New file.
50000
50001         New module 'unicase/u8-toupper'.
50002         * lib/unicase/u8-toupper.c: New file.
50003         * modules/unicase/u8-toupper: New file.
50004
50005         New module 'unicase/u32-casemap'.
50006         * lib/unicase/u32-casemap.c: New file.
50007         * modules/unicase/u32-casemap: New file.
50008
50009         New module 'unicase/u16-casemap'.
50010         * lib/unicase/u16-casemap.c: New file.
50011         * modules/unicase/u16-casemap: New file.
50012
50013         New module 'unicase/u8-casemap'.
50014         * lib/unicase/unicasemap.h: New file.
50015         * lib/unicase/u8-casemap.c: New file.
50016         * lib/unicase/u-casemap.h: New file.
50017         * modules/unicase/u8-casemap: New file.
50018
50019         New module 'unicase/special-casing'.
50020         * lib/unicase/special-casing.h: New file.
50021         * lib/unicase/special-casing.c: New file.
50022         * lib/unicase/special-casing-table.gperf: New file, generated by
50023         gen-uni-tables.c.
50024         * modules/unicase/special-casing: New file.
50025
50026         Tests for module 'unicase/locale-language'.
50027         * modules/unicase/locale-language-tests: New file.
50028         * tests/unicase/test-locale-language.sh: New file.
50029         * tests/unicase/test-locale-language.c: New file.
50030
50031         New module 'unicase/locale-language'.
50032         * lib/unicase/locale-language.c: New file.
50033         * lib/unicase/locale-languages.gperf: New file.
50034         * modules/unicase/locale-language: New file.
50035
50036         Generate more tables for case conversion and case folding.
50037         * lib/gen-uni-tables.c (SCC_*): New enum items.
50038         (struct special_casing_rule): New type.
50039         (casing_rules, num_casing_rules, allocated_casing_rules): New
50040         variables.
50041         (add_casing_rule, fill_casing_rules): New functions.
50042         (struct casefold_rule): New type.
50043         (casefolding_rules, num_casefolding_rules,
50044         allocated_casefolding_rules): New variables.
50045         (fill_casefolding_rules): New function.
50046         (unicode_casefold): New variable.
50047         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50048         sort_casing_rules, output_casing_rules): New functions.
50049         (main): Accept to more arguments: SpecialCasing.txt and
50050         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50051         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50052         Output mapping for casefolding.
50053
50054         * lib/unicase.h: Include stdbool.h, uninorm.h.
50055         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50056         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50057         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50058         arguments.
50059         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50060         resultp arguments.
50061         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50062         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50063         resultp arguments.
50064         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50065         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50066         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50067         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50068         declarations.
50069         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50070
50071 2009-03-08  Bruno Haible  <bruno@clisp.org>
50072
50073         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50074         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50075         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50076         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50077
50078 2009-03-07  Bruno Haible  <bruno@clisp.org>
50079
50080         Adjust u*_normcmp, u*_normcoll API.
50081         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50082         u16_normcoll, u32_normcoll): Change failure conventions.
50083         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50084         errno and return -1.
50085         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50086
50087 2009-03-07  Bruno Haible  <bruno@clisp.org>
50088
50089         Tests for module 'uninorm/u32-normcoll'.
50090         * modules/uninorm/u32-normcoll-tests: New file.
50091         * tests/uninorm/test-u32-normcoll.c: New file.
50092
50093         Tests for module 'uninorm/u16-normcoll'.
50094         * modules/uninorm/u16-normcoll-tests: New file.
50095         * tests/uninorm/test-u16-normcoll.c: New file.
50096
50097         Tests for module 'uninorm/u8-normcoll'.
50098         * modules/uninorm/u8-normcoll-tests: New file.
50099         * tests/uninorm/test-u8-normcoll.c: New file.
50100
50101 2009-03-07  Bruno Haible  <bruno@clisp.org>
50102
50103         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50104         tests/uninorm/test-u32-normcmp.c.
50105         * tests/uninorm/test-u32-normcmp.c: Include it.
50106         (test_nonascii): New function, extracted from main. Add some more
50107         tests.
50108         (main): Invoke test_ascii and test_nonascii.
50109         * modules/uninorm/u32-normcmp-tests (Files): Add
50110         tests/uninorm/test-u32-normcmp.h.
50111         (Depends-on): Remove uninorm/u32-normcmp.
50112
50113         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50114         tests/uninorm/test-u16-normcmp.c.
50115         * tests/uninorm/test-u16-normcmp.c: Include it.
50116         (test_nonascii): New function, extracted from main. Add some more
50117         tests.
50118         (main): Invoke test_ascii and test_nonascii.
50119         * modules/uninorm/u16-normcmp-tests (Files): Add
50120         tests/uninorm/test-u16-normcmp.h.
50121         (Depends-on): Remove uninorm/u16-normcmp.
50122
50123         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50124         tests/uninorm/test-u8-normcmp.c.
50125         * tests/uninorm/test-u8-normcmp.c: Include it.
50126         (test_nonascii): New function, extracted from main. Add some more
50127         tests.
50128         (main): Invoke test_ascii and test_nonascii.
50129         * modules/uninorm/u8-normcmp-tests (Files): Add
50130         tests/uninorm/test-u8-normcmp.h.
50131         (Depends-on): Remove uninorm/u8-normcmp.
50132
50133 2009-03-07  Bruno Haible  <bruno@clisp.org>
50134
50135         New module 'uninorm/u32-normcoll'.
50136         * lib/uninorm/u32-normcoll.c: New file.
50137         * modules/uninorm/u32-normcoll: New file.
50138
50139         New module 'uninorm/u16-normcoll'.
50140         * lib/uninorm/u16-normcoll.c: New file.
50141         * modules/uninorm/u16-normcoll: New file.
50142
50143         New module 'uninorm/u8-normcoll'.
50144         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50145         declarations.
50146         * lib/uninorm/u8-normcoll.c: New file.
50147         * lib/uninorm/u-normcoll.h: New file.
50148         * modules/uninorm/u8-normcoll: New file.
50149
50150         New module 'uninorm/u32-normxfrm'.
50151         * lib/uninorm/u32-normxfrm.c: New file.
50152         * modules/uninorm/u32-normxfrm: New file.
50153
50154         New module 'uninorm/u16-normxfrm'.
50155         * lib/uninorm/u16-normxfrm.c: New file.
50156         * modules/uninorm/u16-normxfrm: New file.
50157
50158         New module 'uninorm/u8-normxfrm'.
50159         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50160         declarations.
50161         * lib/uninorm/u8-normxfrm.c: New file.
50162         * lib/uninorm/u-normxfrm.h: New file.
50163         * modules/uninorm/u8-normxfrm: New file.
50164
50165 2009-03-07  Bruno Haible  <bruno@clisp.org>
50166
50167         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50168         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50169         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50170
50171 2009-03-07  Bruno Haible  <bruno@clisp.org>
50172
50173         New module 'memxfrm'.
50174         * lib/memxfrm.h: New file.
50175         * lib/memxfrm.c: New file.
50176         * modules/memxfrm: New file.
50177
50178 2009-03-07  Bruno Haible  <bruno@clisp.org>
50179
50180         New module 'memcmp2'.
50181         * lib/memcmp2.h: New file.
50182         * lib/memcmp2.c: New file.
50183         * modules/memcmp2: New file.
50184
50185 2009-03-07  Bruno Haible  <bruno@clisp.org>
50186
50187         Tests for module 'uninorm/decomposing-form'.
50188         * modules/uninorm/decomposing-form-tests: New file.
50189         * tests/uninorm/test-decomposing-form.c: New file.
50190
50191         New module 'uninorm/decomposing-form'.
50192         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50193         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50194         Add 'decomposing_variant' field.
50195         * lib/uninorm/decomposing-form.c: New file.
50196         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50197         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50198         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50199         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50200         * modules/uninorm/decomposing-form: New file.
50201         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50202         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50203
50204 2009-03-07  Bruno Haible  <bruno@clisp.org>
50205
50206         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50207         strings.
50208
50209 2009-03-06  Bruno Haible  <bruno@clisp.org>
50210
50211         Tests for module 'uninorm/u32-normcmp'.
50212         * tests/uninorm/test-u32-normcmp.c: New file.
50213         * modules/uninorm/u32-normcmp-tests: New file.
50214
50215         Tests for module 'uninorm/u16-normcmp'.
50216         * tests/uninorm/test-u16-normcmp.c: New file.
50217         * modules/uninorm/u16-normcmp-tests: New file.
50218
50219         Tests for module 'uninorm/u8-normcmp'.
50220         * tests/uninorm/test-u8-normcmp.c: New file.
50221         * modules/uninorm/u8-normcmp-tests: New file.
50222
50223         New module 'uninorm/u32-normcmp'.
50224         * lib/uninorm/u32-normcmp.c: New file.
50225         * modules/uninorm/u32-normcmp: New file.
50226
50227         New module 'uninorm/u16-normcmp'.
50228         * lib/uninorm/u16-normcmp.c: New file.
50229         * modules/uninorm/u16-normcmp: New file.
50230
50231         New module 'uninorm/u8-normcmp'.
50232         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50233         declarations.
50234         * lib/uninorm/u8-normcmp.c: New file.
50235         * lib/uninorm/u-normcmp.h: New file.
50236         * modules/uninorm/u8-normcmp: New file.
50237
50238 2009-03-06  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50241         Reported by Eric Blake.
50242
50243 2009-03-06  Eric Blake  <ebb9@byu.net>
50244             Bruno Haible  <bruno@clisp.org>
50245
50246         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50247         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50248         condition.
50249         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50250         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50251         condition.
50252         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50253
50254 2009-03-06  Eric Blake  <ebb9@byu.net>
50255
50256         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50257         to avoid compiler warnings.
50258         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50259
50260 2009-03-05  Bruno Haible  <bruno@clisp.org>
50261
50262         * tests/test-ftell.c (main): Disable test beyond end of file on
50263         FreeMiNT.
50264         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50265
50266 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50267
50268         * lib/filevercmp.c: Move hidden files up in ordering.
50269         * tests/test-filevercmp.c: Add tests for hidden files.
50270
50271 2009-03-04  Bruno Haible  <bruno@clisp.org>
50272
50273         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50274         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50275         AM_CFLAGS.
50276         Reported by Simon Josefsson.
50277
50278 2009-03-03  Bruno Haible  <bruno@clisp.org>
50279
50280         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50281         Reported by Simon Josefsson.
50282
50283         * doc/ld-version-script.texi: Update node reference.
50284
50285 2009-03-03  Bruno Haible  <bruno@clisp.org>
50286
50287         * modules/visibility (License): Change to 'unlimited'.
50288         Suggested by Simon Josefsson.
50289
50290 2009-03-03  Jim Meyering  <meyering@redhat.com>
50291
50292         unlinkdir: cannot_unlink_dir may modify process state
50293         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50294         it's neither thread-safe nor appropriate for use in a library.
50295
50296 2009-03-03  Eric Blake  <ebb9@byu.net>
50297
50298         test-closein: silence test under Darwin
50299         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50300         care if it dies from EPIPE or EBADF.
50301
50302 2009-03-03  Bruno Haible  <bruno@clisp.org>
50303
50304         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50305         earlier.
50306         * doc/visibility.texi: Fix @node and @section.
50307
50308 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50309
50310         * doc/gnulib.texi: Link to sections for ld version script and
50311         visibility.
50312         * doc/visibility.texi: Add @node and @section.
50313         * modules/ld-version-script: New module.
50314         * m4/ld-version-script.m4: New file.
50315         * doc/ld-version-script.texi: New file.
50316
50317 2009-03-02  David Lutterkort  <lutter@redhat.com>
50318
50319         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50320         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50321
50322 2009-03-02  Bruno Haible  <bruno@clisp.org>
50323
50324         * doc/visibility.texi: Mention libtool's -export-symbols option.
50325
50326 2009-03-02  Jim Meyering  <meyering@redhat.com>
50327
50328         announce-gen: new option: --no-print-checksums
50329         * build-aux/announce-gen (usage): Describe it.
50330         (print_checksums): Print a newline here, not in the [*] footnote.
50331         (main): Honor it.
50332
50333 2009-03-01  Bruno Haible  <bruno@clisp.org>
50334
50335         Use socklen_t in the native Windows replacements prototypes.
50336         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50337         instead of 'int'.
50338         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50339         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50340         * modules/getsockopt (Depends-on): Add socklen.
50341         * modules/setsockopt (Depends-on): Add socklen.
50342
50343 2009-03-01  Bruno Haible  <bruno@clisp.org>
50344
50345         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50346         least 4.2.
50347
50348 2009-03-01  Eric Blake  <ebb9@byu.net>
50349             Bruno Haible  <bruno@clisp.org>
50350
50351         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50352         error messages.
50353         * lib/wait-process.c (wait_subprocess): Omit error message about
50354         deadly signal sent to the child of termsigp != NULL.
50355
50356 2009-03-01  Eric Blake  <ebb9@byu.net>
50357
50358         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50359
50360 2009-03-01  Bruno Haible  <bruno@clisp.org>
50361
50362         Avoid a gcc warning.
50363         * tests/test-sched.c (b): Make global.
50364         Reported by Eric Blake.
50365
50366 2009-01-19  Martin Lambers  <marlam@marlam.de>
50367
50368         Provide POSIX semantics for socket timeout options on W32.
50369         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50370         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50371         * modules/setsockopt: Depend on sys_time module for struct timeval.
50372         * modules/getsockopt: Depend on sys_time module for struct timeval.
50373
50374 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50375
50376         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50377         __USE_GNU, for consistency with netdb.in.h.
50378         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50379
50380 2009-03-01  Bruno Haible  <bruno@clisp.org>
50381
50382         More support for FreeMiNT.
50383         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50384         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50385
50386 2009-03-01  Bruno Haible  <bruno@clisp.org>
50387
50388         More support for FreeMiNT.
50389         * lib/fpurge.c (fpurge): Correct last commit.
50390         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50391
50392 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50393
50394         Fix unportable awk script in vc-list-files.
50395         * build-aux/vc-list-files: In the replacement awk script, use
50396         substr with a second argument of 1, not zero.
50397         Report by Simon Josefsson.
50398
50399 2009-02-28  Bruno Haible  <bruno@clisp.org>
50400
50401         More support for FreeMiNT.
50402         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50403         to FreeMiNT today.
50404         * lib/fwriting.c (fwriting): Likewise.
50405         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50406
50407 2009-02-28  Bruno Haible  <bruno@clisp.org>
50408
50409         * tests/test-freadseek.c (main): Disable test beyond end of file on
50410         FreeMiNT.
50411         * tests/test-ftello.c (main): Likewise.
50412         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50413
50414 2009-02-28  Bruno Haible  <bruno@clisp.org>
50415
50416         Add tentative support for FreeMiNT.
50417         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50418         * lib/fpurge.c (fpurge): Likewise.
50419         * lib/freadable.c (freadable): Likewise.
50420         * lib/freading.c (freading): Likewise.
50421         * lib/freadptr.c (freadptr): Likewise.
50422         * lib/freadseek.c (freadptrinc): Likewise.
50423         * lib/fseeko.c (rpl_fseeko): Likewise.
50424         * lib/fseterr.c (fseterr): Likewise.
50425         * lib/fwritable.c (fwritable): Likewise.
50426         * lib/fwriting.c (fwriting): Likewise.
50427         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50428         Hourihane.
50429         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50430
50431 2009-02-28  Bruno Haible  <bruno@clisp.org>
50432
50433         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50434         SIGCHLD.
50435         Reported by Jim Meyering.
50436
50437 2009-02-28  Bruno Haible  <bruno@clisp.org>
50438
50439         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50440         Mention the results of these tests on various platforms.
50441         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50442         order.
50443         * doc/posix-functions/printf.texi: Likewise.
50444         * doc/posix-functions/snprintf.texi: Likewise.
50445         * doc/posix-functions/sprintf.texi: Likewise.
50446         * doc/posix-functions/vfprintf.texi: Likewise.
50447         * doc/posix-functions/vprintf.texi: Likewise.
50448         * doc/posix-functions/vsnprintf.texi: Likewise.
50449         * doc/posix-functions/vsprintf.texi: Likewise.
50450         * doc/glibc-functions/obstack_printf.texi: Likewise.
50451         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50452
50453 2009-02-28  Bruno Haible  <bruno@clisp.org>
50454
50455         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50456         Reported by Loïc Minier <lool@dooz.org>.
50457
50458 2009-02-27  Bruno Haible  <bruno@clisp.org>
50459
50460         * gnulib-tool (func_import): Make the sed expression used to create the
50461         sed script for updating the .gitignore file POSIX compliant.
50462         Reported by Eric Blake.
50463
50464 2009-02-27  Bruno Haible  <bruno@clisp.org>
50465
50466         * gnulib-tool (sed): Don't alias as "sed --posix".
50467         Reported by Eric Blake.
50468
50469 2009-02-27  Bruno Haible  <bruno@clisp.org>
50470
50471         Avoid test link errors.
50472         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50473         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50474         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50475         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50476         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50477
50478 2009-02-27  Bruno Haible  <bruno@clisp.org>
50479
50480         Avoid spurious "(cached)" in configure output.
50481         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50482         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50483         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50484         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50485         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50486         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50487         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50488         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50489         Reported by Eric Blake.
50490
50491 2009-02-27  Eric Blake  <ebb9@byu.net>
50492
50493         printf: fix regression in previous patch
50494         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50495
50496 2009-02-27  Bruno Haible  <bruno@clisp.org>
50497
50498         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50499         value.
50500         * lib/stdint.in.h: Likewise.
50501         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50502
50503 2009-02-27  Eric Blake  <ebb9@byu.net>
50504
50505         doc: mention more functions added in cygwin 1.7.0
50506         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50507         addition.
50508         * doc/posix-functions/open_wmemstream.texi: Likewise.
50509         * doc/posix-functions/wcsnlen.texi: Likewise.
50510         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50511         * doc/posix-functions/wcstod.texi: Likewise.
50512         * doc/posix-functions/wcstof.texi: Likewise.
50513         * doc/posix-functions/wcstoimax.texi: Likewise.
50514         * doc/posix-functions/wcstok.texi: Likewise.
50515         * doc/posix-functions/wcstoumax.texi: Likewise.
50516
50517         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50518         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50519         * doc/posix-functions/fprintf.texi: Update.
50520         * doc/posix-functions/printf.texi: Update.
50521         * doc/posix-functions/snprintf.texi: Update.
50522         * doc/posix-functions/sprintf.texi: Update.
50523         * doc/posix-functions/vfprintf.texi: Update.
50524         * doc/posix-functions/vprintf.texi: Update.
50525         * doc/posix-functions/vsnprintf.texi: Update.
50526         * doc/posix-functions/vsprintf.texi: Update.
50527         * doc/glibc-functions/obstack_printf.texi: Update.
50528         * doc/glibc-functions/obstack_vprintf.texi: Update.
50529
50530 2009-02-26  Eric Blake  <ebb9@byu.net>
50531
50532         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50533         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50534         compilation bug by using runtime conversion.
50535         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50536         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50537         * modules/ceill-tests (Files): Use nan.h.
50538         * modules/floorl-tests (Files): Likewise.
50539         * modules/frexpl-tests (Files): Likewise.
50540         * modules/isnanl-tests (Files): Likewise.
50541         * modules/ldexpl-tests (Files): Likewise.
50542         * modules/roundl-tests (Files): Likewise.
50543         * modules/truncl-tests (Files): Likewise.
50544         * tests/test-ceill.c (main): Use a working NaN.
50545         * tests/test-floorl.c (main): Likewise.
50546         * tests/test-frexpl.c (main): Likewise.
50547         * tests/test-isnan.c (test_long_double): Likewise.
50548         * tests/test-isnanl.h (main): Likewise.
50549         * tests/test-ldexpl.h (main): Likewise.
50550         * tests/test-roundl.h (main): Likewise.
50551         * tests/test-truncl.h (main): Likewise.
50552         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50553
50554 2009-02-26  Eric Blake  <ebb9@byu.net>
50555             Bruno Haible  <bruno@clisp.org>
50556
50557         Work around a *printf bug with %ls on Solaris.
50558         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50559         precision is specified, sprintf stops converting the wide string
50560         argument when the number of bytes that have been produced by this
50561         conversion equals or exceeds the precision.
50562         * doc/posix-functions/fprintf.texi: Update.
50563         * doc/posix-functions/printf.texi: Update.
50564         * doc/posix-functions/snprintf.texi: Update.
50565         * doc/posix-functions/sprintf.texi: Update.
50566         * doc/posix-functions/vfprintf.texi: Update.
50567         * doc/posix-functions/vprintf.texi: Update.
50568         * doc/posix-functions/vsnprintf.texi: Update.
50569         * doc/posix-functions/vsprintf.texi: Update.
50570         * doc/glibc-functions/obstack_printf.texi: Update.
50571         * doc/glibc-functions/obstack_vprintf.texi: Update.
50572
50573 2009-02-26  Eric Blake  <ebb9@byu.net>
50574
50575         stdlib: favor compiler check of random.h
50576         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50577         to avoid an ObjC random.h installed by Swarm.
50578
50579 2009-02-26  Bruno Haible  <bruno@clisp.org>
50580
50581         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50582         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50583         Reported by Gary V. Vaughan <gary@gnu.org>.
50584
50585 2009-02-26  Bruno Haible  <bruno@clisp.org>
50586
50587         Fix *printf behaviour regarding the %ls directive.
50588         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50589         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50590         NEED_PRINTF_DIRECTIVE_LS.
50591         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50592         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50593         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50594         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50595         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50596         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50597         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50598         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50599         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50600         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50601         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50602         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50603         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50604         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50605         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50606         * doc/posix-functions/fprintf.texi: Update.
50607         * doc/posix-functions/printf.texi: Update.
50608         * doc/posix-functions/snprintf.texi: Update.
50609         * doc/posix-functions/sprintf.texi: Update.
50610         * doc/posix-functions/vfprintf.texi: Update.
50611         * doc/posix-functions/vprintf.texi: Update.
50612         * doc/posix-functions/vsnprintf.texi: Update.
50613         * doc/posix-functions/vsprintf.texi: Update.
50614         * doc/glibc-functions/obstack_printf.texi: Update.
50615         * doc/glibc-functions/obstack_vprintf.texi: Update.
50616         Reported by Eric Blake.
50617
50618 2009-02-25  Bruno Haible  <bruno@clisp.org>
50619
50620         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50621         with known value.
50622         Reported by Gary V. Vaughan <gary@gnu.org>.
50623
50624 2009-02-25  Bruno Haible  <bruno@clisp.org>
50625
50626         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50627         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50628         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50629         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50630         Reported by Gary V. Vaughan <gary@gnu.org>.
50631
50632 2009-02-25  Bruno Haible  <bruno@clisp.org>
50633
50634         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50635         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50636         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50637         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50638         Reported by Gary V. Vaughan <gary@gnu.org>.
50639
50640 2009-02-25  Eric Blake  <ebb9@byu.net>
50641
50642         tests: skip fseek/ftell tests if ungetc is broken
50643         * m4/ungetc.m4: New file.
50644         * modules/fseek-tests: Split test, so ungetc dependency is
50645         separate from rest of test.
50646         * modules/fseeko-tests: Likewise.
50647         * modules/ftell-tests: Likewise.
50648         * modules/ftello-tests: Likewise.
50649         * tests/test-fseek.c (main): Isolate ungetc dependency.
50650         * tests/test-fseeko.c (main): Likewise.
50651         * tests/test-ftell.c (main): Likewise.
50652         * tests/test-ftello.c (main): Likewise.
50653         * tests/test-fseek2.sh: New file.
50654         * tests/test-fseeko2.sh: Likewise.
50655         * tests/test-ftell2.sh: Likewise.
50656         * tests/test-ftello2.sh: Likewise.
50657
50658 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50659
50660         test-getaddrinfo: fix usage of skip return code 77
50661         * tests/test-gettaddrinfo.c: Return skip code 77 only
50662         for first occurrence of skip (4x77 is not 77)
50663
50664 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50665
50666         strtod: avoid C99 decl-after-statement
50667         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50668
50669 2009-02-24  Eric Blake  <ebb9@byu.net>
50670
50671         strtod: detect HP-UX 11.31 bug
50672         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50673         Reported by Gary V. Vaughan.
50674
50675 2009-02-23  Bruno Haible  <bruno@clisp.org>
50676
50677         Fix invalid read past end of memory block.
50678         * lib/vasnprintf.c (DCHAR_SET): Define.
50679         (local_wcslen): Define only when needed.
50680         (local_strnlen, local_wcsnlen): New functions.
50681         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50682         directives that involve a conversion ourselves.
50683         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50684         wcsnlen, mbrtowc, wcrtomb.
50685         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50686         * tests/test-vasprintf-posix.c (test_function): Likewise.
50687         * tests/test-snprintf-posix.h (test_function): Likewise.
50688         * tests/test-sprintf-posix.h (test_function): Likewise.
50689         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50690
50691 2009-02-22  Bruno Haible  <bruno@clisp.org>
50692
50693         Implement new clarified decomposition of Hangul syllables.
50694         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50695         of type LTV, return only a pairwise decomposition.
50696         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50697         Likewise.
50698         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50699         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50700         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50701
50702 2009-02-22  Bruno Haible  <bruno@clisp.org>
50703
50704         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50705         zero-length results and shrink excess allocated memory.
50706         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50707         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50708         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50709         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50710         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50711         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50712         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50713         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50714         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50715         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50716         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50717         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50718
50719 2009-02-21  Bruno Haible  <bruno@clisp.org>
50720
50721         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50722         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50723         spaces after a period. Put a space between a macro name and its
50724         argument list. Trivial rewordings.
50725         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50726         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50727         (main): Return 0 explicitly.
50728
50729 2009-02-21  Bruno Haible  <bruno@clisp.org>
50730
50731         Tests for module 'uninorm/filter'.
50732         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50733         * modules/uninorm/filter-tests: New file.
50734
50735         New module 'uninorm/filter'.
50736         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50737         uninorm_filter_flush, uninorm_filter_free): New declarations.
50738         * lib/uninorm/uninorm-filter.c: New file.
50739         * modules/uninorm/filter: New file.
50740
50741 2009-02-21  Bruno Haible  <bruno@clisp.org>
50742
50743         Tests for module 'uninorm/nfkc'.
50744         * tests/uninorm/test-nfkc.c: New file.
50745         * tests/uninorm/test-u8-nfkc.c: New file.
50746         * tests/uninorm/test-u16-nfkc.c: New file.
50747         * tests/uninorm/test-u32-nfkc.c: New file.
50748         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50749         * tests/uninorm/test-u32-nfkc-big.c: New file.
50750         * modules/uninorm/nfkc-tests: New file.
50751
50752         New module 'uninorm/nfkc'.
50753         * lib/uninorm/nfkc.c: New file.
50754         * modules/uninorm/nfkc: New file.
50755
50756         Tests for module 'uninorm/nfkd'.
50757         * tests/uninorm/test-nfkd.c: New file.
50758         * tests/uninorm/test-u8-nfkd.c: New file.
50759         * tests/uninorm/test-u16-nfkd.c: New file.
50760         * tests/uninorm/test-u32-nfkd.c: New file.
50761         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50762         * tests/uninorm/test-u32-nfkd-big.c: New file.
50763         * modules/uninorm/nfkd-tests: New file.
50764
50765         New module 'uninorm/nfkd'.
50766         * lib/uninorm/nfkd.c: New file.
50767         * modules/uninorm/nfkd: New file.
50768
50769         Tests for module 'uninorm/nfc'.
50770         * tests/uninorm/test-nfc.c: New file.
50771         * tests/uninorm/test-u8-nfc.c: New file.
50772         * tests/uninorm/test-u16-nfc.c: New file.
50773         * tests/uninorm/test-u32-nfc.c: New file.
50774         * tests/uninorm/test-u32-nfc-big.sh: New file.
50775         * tests/uninorm/test-u32-nfc-big.c: New file.
50776         * modules/uninorm/nfc-tests: New file.
50777
50778         New module 'uninorm/nfc'.
50779         * lib/uninorm/nfc.c: New file.
50780         * modules/uninorm/nfc: New file.
50781
50782         Tests for module 'uninorm/nfd'.
50783         * tests/uninorm/test-nfd.c: New file.
50784         * tests/uninorm/test-u8-nfd.c: New file.
50785         * tests/uninorm/test-u16-nfd.c: New file.
50786         * tests/uninorm/test-u32-nfd.c: New file.
50787         * tests/uninorm/test-u32-nfd-big.sh: New file.
50788         * tests/uninorm/test-u32-nfd-big.c: New file.
50789         * tests/uninorm/test-u32-normalize-big.h: New file.
50790         * tests/uninorm/test-u32-normalize-big.c: New file.
50791         * tests/uninorm/NormalizationTest.txt: New file, created from
50792         Unicode 5.1.0 NormalizationTest.txt.
50793         * modules/uninorm/nfd-tests: New file.
50794
50795         New module 'uninorm/nfd'.
50796         * lib/uninorm/nfd.c: New file.
50797         * modules/uninorm/nfd: New file.
50798
50799         New module 'uninorm/u32-normalize'.
50800         * lib/uninorm/u32-normalize.c: New file.
50801         * modules/uninorm/u32-normalize: New file.
50802
50803         New module 'uninorm/u16-normalize'.
50804         * lib/uninorm/u16-normalize.c: New file.
50805         * modules/uninorm/u16-normalize: New file.
50806
50807         New module 'uninorm/u8-normalize'.
50808         * lib/uninorm/u8-normalize.c: New file.
50809         * lib/uninorm/normalize-internal.h: New file.
50810         * lib/uninorm/u-normalize-internal.h: New file.
50811         * modules/uninorm/u8-normalize: New file.
50812
50813         New module 'uninorm/decompose-internal'.
50814         * lib/uninorm/decompose-internal.c: New file.
50815         * modules/uninorm/decompose-internal: New file.
50816
50817         Tests for module 'uninorm/composition'.
50818         * tests/uninorm/test-composition.c: New file.
50819         * modules/uninorm/composition-tests: New file.
50820
50821         New module 'uninorm/composition'.
50822         * lib/uninorm/composition.c: New file.
50823         * lib/uninorm/composition-table.gperf: New file, generated by
50824         gen-uni-tables.
50825         * modules/uninorm/composition: New file.
50826
50827         Tests for module 'uninorm/compat-decomposition'.
50828         * tests/uninorm/test-compat-decomposition.c: New file.
50829         * modules/uninorm/compat-decomposition-tests: New file.
50830
50831         New module 'uninorm/compat-decomposition'.
50832         * lib/uninorm/decompose-internal.h: New file.
50833         * lib/uninorm/compat-decomposition.c: New file.
50834         * modules/uninorm/compat-decomposition: New file.
50835
50836         Tests for module 'uninorm/canonical-decomposition'.
50837         * tests/uninorm/test-canonical-decomposition.c: New file.
50838         * modules/uninorm/canonical-decomposition-tests: New file.
50839
50840         New module 'uninorm/canonical-decomposition'.
50841         * lib/uninorm/canonical-decomposition.c: New file.
50842         * modules/uninorm/canonical-decomposition: New file.
50843
50844         Tests for module 'uninorm/decomposition'.
50845         * tests/uninorm/test-decomposition.c: New file.
50846         * modules/uninorm/decomposition-tests: New file.
50847
50848         New module 'uninorm/decomposition'.
50849         * lib/uninorm/decomposition.c: New file.
50850         * modules/uninorm/decomposition: New file.
50851
50852         New module 'uninorm/decomposition-table'.
50853         * lib/uninorm/decomposition-table.h: New file.
50854         * lib/uninorm/decomposition-table.c: New file.
50855         * lib/uninorm/decomposition-table1.h: New file, generated by
50856         gen-uni-tables.
50857         * lib/uninorm/decomposition-table2.h: New file, generated by
50858         gen-uni-tables.
50859         * modules/uninorm/decomposition-table: New file.
50860
50861         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50862         (UC_DECOMP_*): New enumeration items.
50863         (get_decomposition): New function.
50864         (struct decomp_table): New type.
50865         (output_decomposition, output_decomposition_tables): New functions.
50866         (unicode_composition_exclusions): New variable.
50867         (fill_composition_exclusions, debug_output_composition_tables): New
50868         functions.
50869         (main): Accept one more argument. Invoke fill_composition_exclusions.
50870         Output decomposition and composition tables.
50871
50872         New module 'uninorm/base'.
50873         * lib/uninorm.h: New file.
50874         * lib/unictype.h: Update comment.
50875         * modules/uninorm/base: New file.
50876
50877 2009-02-21  David Lutterkort  <lutter@redhat.com>
50878
50879         Tests for module 'safe-alloc'.
50880         * tests/test-safe-alloc.c: New file.
50881         * modules/safe-alloc-tests: New file.
50882
50883         New module 'safe-alloc'.
50884         * lib/safe-alloc.h: New file.
50885         * lib/safe-alloc.c: New file.
50886         * m4/safe-alloc.m4: New file.
50887         * modules/safe-alloc: New file.
50888         * doc/safe-alloc.texi: New file.
50889         * doc/gnulib.texi: Include it.
50890         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50891         safe-alloc.
50892
50893 2009-02-18  Bruno Haible  <bruno@clisp.org>
50894
50895         Fix link error on non-glibc systems.
50896         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50897         variable.
50898         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50899
50900 2009-02-18  Jim Meyering  <meyering@redhat.com>
50901
50902         fts: avoid used-uninitialized error due to recent change
50903         * lib/fts.c (fts_read): Guard uses of the new member,
50904         parent->fts_n_dirs_remaining, since it's not relevant for
50905         the parent of a directory specified on the command-line.
50906
50907 2009-02-17  James Youngman  <jay@gnu.org>
50908             Bruno Haible  <bruno@clisp.org>
50909
50910         * m4/include_next.m4: Reformulate comment.
50911
50912 2009-02-16  Jim Meyering  <meyering@redhat.com>
50913
50914         fts: add #if guards so that the fts_lgpl module still builds
50915         * lib/fts.c: Guard just-added hash-table-using parts with
50916         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50917         Reported by Simon Josefsson.
50918
50919 2009-02-15  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/array-mergesort-tests: New file.
50922         * tests/test-array-mergesort.c: New file.
50923
50924         New module 'array-mergesort'.
50925         * modules/array-mergesort: New file.
50926         * lib/array-mergesort.h: New file.
50927
50928 2009-02-15  Bruno Haible  <bruno@clisp.org>
50929
50930         Fix 2009-02-07 commit.
50931         * lib/gen-uni-tables.c (output_predicate, output_category,
50932         output_combclass, output_bidi_category, output_decimal_digit,
50933         output_digit, output_numeric, output_mirror, output_scripts,
50934         output_ident_category, output_simple_mapping): Fix format directives.
50935         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50936
50937 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50938
50939         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50940         fixes are available from IBM.
50941
50942 2009-02-13  Jim Meyering  <meyering@redhat.com>
50943
50944         fts: arrange not to stat non-directories in more cases
50945         This makes GNU find (when it doesn't need to stat each file)
50946         *much* more efficient at traversing reiserfs file systems.
50947         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50948         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50949         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50950         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50951         (leaf_optimization_applies): New function.
50952         (LCO_hash, LCO_compare): New helper functions.
50953         (link_count_optimize_ok): New function.
50954         (fts_stat): Initialize new member (if dir).
50955         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50956         we've just stat'ed a directory.  Skip the stat call when possible.
50957         ---
50958         Note this AFS-related exchange:
50959         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50960         and note find's pioctl call in find/fstype.c.
50961         But that is necessary only if you want to enable the
50962         optimization for AFS, and for now, I don't.
50963
50964         fts: move a function definition "up" (no semantic change)
50965         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50966         "up" to precede upcoming use of a related function.
50967
50968 2009-02-11  Jim Meyering  <meyering@redhat.com>
50969
50970         fts: correct internal computation of nlinks (optimization-related)
50971         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50972         whether the current entry is a directory, so don't test it.
50973
50974 2009-02-10  Bruno Haible  <bruno@clisp.org>
50975
50976         Tests for module 'uniwbrk/ulc-wordbreaks'.
50977         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50978         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50979         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50980
50981         Tests for module 'uniwbrk/u32-wordbreaks'.
50982         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50983         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50984
50985         Tests for module 'uniwbrk/u16-wordbreaks'.
50986         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50987         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50988
50989         Tests for module 'uniwbrk/u8-wordbreaks'.
50990         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50991         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50992
50993 2009-02-10  Bruno Haible  <bruno@clisp.org>
50994
50995         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50996         property.
50997         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50998         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50999         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51000
51001 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51002
51003         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51004         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51005
51006 2009-02-10  Bruno Haible  <bruno@clisp.org>
51007
51008         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51009         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51010         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51011         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51012         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51013         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51014
51015 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51016
51017         * lib/sockets.h (gl_fd_to_handle): New function.
51018
51019         * tests/test-sockets.c: Call gl_fd_to_handle.
51020
51021 2009-02-09  Bruno Haible  <bruno@clisp.org>
51022
51023         * doc/havelib.texi: Document the conventions on bi-arch systems.
51024
51025 2009-02-08  Bruno Haible  <bruno@clisp.org>
51026
51027         Document the AC_LIB_LINKFLAGS macro.
51028         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51029         * doc/gnulib.texi: Include it.
51030
51031 2009-02-08  Bruno Haible  <bruno@clisp.org>
51032
51033         Fix wrong order of sections, compared to TOC.
51034         * doc/gnulib.texi: Include relocatable-maint.texi after the
51035         "Regular expressions" node, not before.
51036
51037 2009-02-08  Bruno Haible  <bruno@clisp.org>
51038
51039         Tests for module 'unicase/totitle'.
51040         * modules/unicase/totitle-tests: New file.
51041
51042         Tests for module 'unicase/tolower'.
51043         * modules/unicase/tolower-tests: New file.
51044
51045         Tests for module 'unicase/toupper'.
51046         * modules/unicase/toupper-tests: New file.
51047         * tests/unicase/test-mapping-part1.h: New file.
51048         * tests/unicase/test-mapping-part2.h: New file.
51049
51050         New module 'unicase/totitle'.
51051         * modules/unicase/totitle: New file.
51052         * lib/unicase/totitle.c: New file.
51053
51054         New module 'unicase/tolower'.
51055         * modules/unicase/tolower: New file.
51056         * lib/unicase/tolower.c: New file.
51057
51058         New module 'unicase/toupper'.
51059         * modules/unicase/toupper: New file.
51060         * lib/unicase/toupper.c: New file.
51061         * lib/unicase/simple-mapping.h: New file.
51062
51063         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51064         (mapping_table): New structure.
51065         (output_simple_mapping): New function.
51066         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51067         * modules/gen-uni-tables (Description): Update.
51068         * lib/unicase/toupper.h: New file, automatically generated by
51069         gen-uni-tables.
51070         * lib/unicase/tolower.h: New file, automatically generated by
51071         gen-uni-tables.
51072         * lib/unicase/totitle.h: New file, automatically generated by
51073         gen-uni-tables.
51074         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51075         gen-uni-tables.
51076         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51077         gen-uni-tables.
51078         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51079         gen-uni-tables.
51080
51081         New module 'unicase/base'.
51082         * modules/unicase/base: New file.
51083         * lib/unicase.h: New file.
51084
51085 2009-02-08  Bruno Haible  <bruno@clisp.org>
51086
51087         New module 'uniwbrk/ulc-wordbreaks'.
51088         * modules/uniwbrk/ulc-wordbreaks: New file.
51089         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51090
51091         New module 'uniwbrk/u32-wordbreaks'.
51092         * modules/uniwbrk/u32-wordbreaks: New file.
51093         * lib/uniwbrk/u32-wordbreaks.c: New file.
51094
51095         New module 'uniwbrk/u16-wordbreaks'.
51096         * modules/uniwbrk/u16-wordbreaks: New file.
51097         * lib/uniwbrk/u16-wordbreaks.c: New file.
51098
51099         New module 'uniwbrk/u8-wordbreaks'.
51100         * modules/uniwbrk/u8-wordbreaks: New file.
51101         * lib/uniwbrk/u8-wordbreaks.c: New file.
51102         * lib/uniwbrk/u-wordbreaks.h: New file.
51103
51104         New module 'uniwbrk/table'.
51105         * modules/uniwbrk/table: New file.
51106         * lib/uniwbrk/wbrktable.h: New file.
51107         * lib/uniwbrk/wbrktable.c: New file.
51108
51109         New module 'uniwbrk/wordbreak-property'.
51110         * modules/uniwbrk/wordbreak-property: New file.
51111         * lib/uniwbrk/wordbreak-property.c: New file.
51112
51113         * lib/gen-uni-tables.c (WBP_*): New enum items.
51114         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51115         (unicode_org_wbp): New variable.
51116         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51117         New functions.
51118         (wbp_table): New structure.
51119         (output_wbp, output_wbrk_tables): New functions.
51120         (main): Accept additional argument. Invoke fill_org_wbp,
51121         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51122         output_wbrk_tables.
51123         * modules/gen-uni-tables (Description): Update.
51124         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51125         gen-uni-tables.
51126
51127         New module 'uniwbrk/base'.
51128         * modules/uniwbrk/base: New file.
51129         * lib/uniwbrk.h: New file.
51130
51131 2009-02-08  Bruno Haible  <bruno@clisp.org>
51132
51133         Update to Unicode 5.1.0.
51134         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51135         U+2185..U+2188.
51136         (is_property_default_ignorable_code_point): Don't include characters
51137         of category Cc or Cs and not-a-characters.
51138         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51139         U+0D79, U+109E, U+109F, U+A60C.
51140         * lib/unictype/bidi_of.h: Regenerated.
51141         * lib/unictype/blocks.h: Regenerated.
51142         * lib/unictype/categ_C.h: Regenerated.
51143         * lib/unictype/categ_Cf.h: Regenerated.
51144         * lib/unictype/categ_Cn.h: Regenerated.
51145         * lib/unictype/categ_L.h: Regenerated.
51146         * lib/unictype/categ_Ll.h: Regenerated.
51147         * lib/unictype/categ_Lm.h: Regenerated.
51148         * lib/unictype/categ_Lo.h: Regenerated.
51149         * lib/unictype/categ_Lu.h: Regenerated.
51150         * lib/unictype/categ_M.h: Regenerated.
51151         * lib/unictype/categ_Mc.h: Regenerated.
51152         * lib/unictype/categ_Me.h: Regenerated.
51153         * lib/unictype/categ_Mn.h: Regenerated.
51154         * lib/unictype/categ_N.h: Regenerated.
51155         * lib/unictype/categ_Nd.h: Regenerated.
51156         * lib/unictype/categ_Nl.h: Regenerated.
51157         * lib/unictype/categ_No.h: Regenerated.
51158         * lib/unictype/categ_P.h: Regenerated.
51159         * lib/unictype/categ_Pd.h: Regenerated.
51160         * lib/unictype/categ_Pe.h: Regenerated.
51161         * lib/unictype/categ_Pf.h: Regenerated.
51162         * lib/unictype/categ_Pi.h: Regenerated.
51163         * lib/unictype/categ_Po.h: Regenerated.
51164         * lib/unictype/categ_Ps.h: Regenerated.
51165         * lib/unictype/categ_S.h: Regenerated.
51166         * lib/unictype/categ_Sk.h: Regenerated.
51167         * lib/unictype/categ_Sm.h: Regenerated.
51168         * lib/unictype/categ_So.h: Regenerated.
51169         * lib/unictype/categ_of.h: Regenerated.
51170         * lib/unictype/combining.h: Regenerated.
51171         * lib/unictype/ctype_alnum.h: Regenerated.
51172         * lib/unictype/ctype_alpha.h: Regenerated.
51173         * lib/unictype/ctype_graph.h: Regenerated.
51174         * lib/unictype/ctype_lower.h: Regenerated.
51175         * lib/unictype/ctype_print.h: Regenerated.
51176         * lib/unictype/ctype_punct.h: Regenerated.
51177         * lib/unictype/ctype_upper.h: Regenerated.
51178         * lib/unictype/decdigit.h: Regenerated.
51179         * lib/unictype/digit.h: Regenerated.
51180         * lib/unictype/mirror.h: Regenerated.
51181         * lib/unictype/numeric.h: Regenerated.
51182         * lib/unictype/pr_alphabetic.h: Regenerated.
51183         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51184         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51185         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51186         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51187         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51188         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51189         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51190         * lib/unictype/pr_combining.h: Regenerated.
51191         * lib/unictype/pr_dash.h: Regenerated.
51192         * lib/unictype/pr_decimal_digit.h: Regenerated.
51193         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51194         * lib/unictype/pr_deprecated.h: Regenerated.
51195         * lib/unictype/pr_diacritic.h: Regenerated.
51196         * lib/unictype/pr_extender.h: Regenerated.
51197         * lib/unictype/pr_format_control.h: Regenerated.
51198         * lib/unictype/pr_grapheme_base.h: Regenerated.
51199         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51200         * lib/unictype/pr_grapheme_link.h: Regenerated.
51201         * lib/unictype/pr_id_continue.h: Regenerated.
51202         * lib/unictype/pr_id_start.h: Regenerated.
51203         * lib/unictype/pr_ideographic.h: Regenerated.
51204         * lib/unictype/pr_ignorable_control.h: Regenerated.
51205         * lib/unictype/pr_lowercase.h: Regenerated.
51206         * lib/unictype/pr_math.h: Regenerated.
51207         * lib/unictype/pr_numeric.h: Regenerated.
51208         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51209         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51210         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51211         * lib/unictype/pr_other_id_continue.h: Regenerated.
51212         * lib/unictype/pr_other_lowercase.h: Regenerated.
51213         * lib/unictype/pr_other_math.h: Regenerated.
51214         * lib/unictype/pr_punctuation.h: Regenerated.
51215         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51216         * lib/unictype/pr_soft_dotted.h: Regenerated.
51217         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51218         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51219         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51220         * lib/unictype/pr_uppercase.h: Regenerated.
51221         * lib/unictype/pr_xid_continue.h: Regenerated.
51222         * lib/unictype/pr_xid_start.h: Regenerated.
51223         * lib/unictype/pr_zero_width.h: Regenerated.
51224         * lib/unictype/scripts.h: Regenerated.
51225         * lib/unictype/scripts_byname.gperf: Regenerated.
51226         * lib/unictype/sy_java_ident.h: Regenerated.
51227         * lib/unilbrk/lbrkprop1.h: Regenerated.
51228         * lib/unilbrk/lbrkprop2.h: Regenerated.
51229         * tests/unictype/test-categ_C.c: Regenerated.
51230         * tests/unictype/test-categ_Cf.c: Regenerated.
51231         * tests/unictype/test-categ_Cn.c: Regenerated.
51232         * tests/unictype/test-categ_L.c: Regenerated.
51233         * tests/unictype/test-categ_Ll.c: Regenerated.
51234         * tests/unictype/test-categ_Lm.c: Regenerated.
51235         * tests/unictype/test-categ_Lo.c: Regenerated.
51236         * tests/unictype/test-categ_Lu.c: Regenerated.
51237         * tests/unictype/test-categ_M.c: Regenerated.
51238         * tests/unictype/test-categ_Mc.c: Regenerated.
51239         * tests/unictype/test-categ_Me.c: Regenerated.
51240         * tests/unictype/test-categ_Mn.c: Regenerated.
51241         * tests/unictype/test-categ_N.c: Regenerated.
51242         * tests/unictype/test-categ_Nd.c: Regenerated.
51243         * tests/unictype/test-categ_Nl.c: Regenerated.
51244         * tests/unictype/test-categ_No.c: Regenerated.
51245         * tests/unictype/test-categ_P.c: Regenerated.
51246         * tests/unictype/test-categ_Pd.c: Regenerated.
51247         * tests/unictype/test-categ_Pe.c: Regenerated.
51248         * tests/unictype/test-categ_Pf.c: Regenerated.
51249         * tests/unictype/test-categ_Pi.c: Regenerated.
51250         * tests/unictype/test-categ_Po.c: Regenerated.
51251         * tests/unictype/test-categ_Ps.c: Regenerated.
51252         * tests/unictype/test-categ_S.c: Regenerated.
51253         * tests/unictype/test-categ_Sk.c: Regenerated.
51254         * tests/unictype/test-categ_Sm.c: Regenerated.
51255         * tests/unictype/test-categ_So.c: Regenerated.
51256         * tests/unictype/test-ctype_alnum.c: Regenerated.
51257         * tests/unictype/test-ctype_alpha.c: Regenerated.
51258         * tests/unictype/test-ctype_graph.c: Regenerated.
51259         * tests/unictype/test-ctype_lower.c: Regenerated.
51260         * tests/unictype/test-ctype_print.c: Regenerated.
51261         * tests/unictype/test-ctype_punct.c: Regenerated.
51262         * tests/unictype/test-ctype_upper.c: Regenerated.
51263         * tests/unictype/test-decdigit.h: Regenerated.
51264         * tests/unictype/test-digit.h: Regenerated.
51265         * tests/unictype/test-numeric.h: Regenerated.
51266         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51267         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51268         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51269         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51270         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51271         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51272         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51273         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51274         * tests/unictype/test-pr_combining.c: Regenerated.
51275         * tests/unictype/test-pr_dash.c: Regenerated.
51276         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51277         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51278         * tests/unictype/test-pr_deprecated.c: Regenerated.
51279         * tests/unictype/test-pr_diacritic.c: Regenerated.
51280         * tests/unictype/test-pr_extender.c: Regenerated.
51281         * tests/unictype/test-pr_format_control.c: Regenerated.
51282         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51283         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51284         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51285         * tests/unictype/test-pr_id_continue.c: Regenerated.
51286         * tests/unictype/test-pr_id_start.c: Regenerated.
51287         * tests/unictype/test-pr_ideographic.c: Regenerated.
51288         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51289         * tests/unictype/test-pr_lowercase.c: Regenerated.
51290         * tests/unictype/test-pr_math.c: Regenerated.
51291         * tests/unictype/test-pr_numeric.c: Regenerated.
51292         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51293         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51294         Regenerated.
51295         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51296         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51297         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51298         * tests/unictype/test-pr_other_math.c: Regenerated.
51299         * tests/unictype/test-pr_punctuation.c: Regenerated.
51300         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51301         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51302         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51303         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51304         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51305         * tests/unictype/test-pr_uppercase.c: Regenerated.
51306         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51307         * tests/unictype/test-pr_xid_start.c: Regenerated.
51308         * tests/unictype/test-pr_zero_width.c: Regenerated.
51309
51310         Update to Unicode 5.1.0.
51311         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51312         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51313         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51314         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51315         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51316         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51317         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51318         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51319         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51320         (nonspacing_table_ind): Update.
51321         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51322
51323         Update to Unicode 5.1.0.
51324         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51325         code transform.
51326         * lib/uniname/uniname.c (unicode_character_name,
51327         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51328         * lib/uniname/uninames.h: Regenerated.
51329         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51330
51331 2009-02-07  Bruno Haible  <bruno@clisp.org>
51332
51333         Merge gen-ctype and gen-lbrk into a single program.
51334         * lib/gen-uni-tables.c: New file, incorporating
51335         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51336         Add directory prefixes to the names of the generated files.
51337         * lib/unictype/gen-ctype.c: Remove file.
51338         * lib/unilbrk/gen-lbrk.c: Remove file.
51339         * modules/gen-uni-tables: New file.
51340         * modules/unictype/gen-ctype: Remove file.
51341         * modules/unilbrk/gen-lbrk: Remove file.
51342
51343 2009-02-07  Bruno Haible  <bruno@clisp.org>
51344
51345         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51346
51347         New module 'unistr/u32-strcoll'.
51348         * modules/unistr/u32-strcoll: New file.
51349         * lib/unistr/u32-strcoll.c: New file.
51350
51351         New module 'unistr/u16-strcoll'.
51352         * modules/unistr/u16-strcoll: New file.
51353         * lib/unistr/u16-strcoll.c: New file.
51354
51355         New module 'unistr/u8-strcoll'.
51356         * modules/unistr/u8-strcoll: New file.
51357         * lib/unistr/u8-strcoll.c: New file.
51358         * lib/unistr/u-strcoll.h: New file.
51359
51360 2009-02-07  Bruno Haible  <bruno@clisp.org>
51361
51362         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51363         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51364         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51365         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51366         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51367         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51368
51369 2009-02-07  Bruno Haible  <bruno@clisp.org>
51370
51371         Make 64-bit clean.
51372         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51373         output_combclass, output_bidi_category, output_decimal_digit,
51374         output_digit, output_numeric, output_mirror, output_scripts,
51375         output_ident_category): Use proper width specifier in format strings.
51376
51377 2009-02-07  Bruno Haible  <bruno@clisp.org>
51378
51379         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51380         failure behaviour.
51381
51382 2009-02-07  Jim Meyering  <meyering@redhat.com>
51383
51384         regex: avoid compilation failure with upcoming gcc-4.4
51385         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51386         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51387         "... error: integer overflow in preprocessor expression".
51388
51389 2009-02-05  Ben Pfaff  <blp@gnu.org>
51390
51391         Fix link errors on Windows when close module is used.
51392         * modules/close: Add $(LIB_CLOSE) to Link section.
51393         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51394         $(LIB_CLOSE) on Windows.
51395
51396 2009-02-05  Jim Meyering  <meyering@redhat.com>
51397
51398         still avoid unused-parameter warnings, but do it cleanly
51399         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51400         (get_fs_usage): Cast to void instead.
51401         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51402         (dev_from_mount_options, read_file_system_list): Cast to void.
51403         Prompted by Bruno Haible.
51404
51405 2009-02-04  Jim Meyering  <meyering@redhat.com>
51406
51407         fsusage.c: correct copyright year
51408         * lib/fsusage.c: Reflect year in which the change is pushed into
51409
51410         avoid misc. warnings
51411         * lib/fsusage.c (UNUSED_PARAM): Define.
51412         (get_fs_usage): Mark parameter "disk" as unused.
51413         * lib/getugroups.c (getgrent): Use "void" in prototype.
51414         * lib/mountlist.c: Mark unused parameters.
51415         (read_file_system_list): Declare a local with "const".
51416         * lib/nanosleep.c (getnow): Declare static.
51417         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51418
51419         dirfd: set errno upon failure
51420         * lib/dirfd.c: Include <errno.h>.
51421         Set errno to ENOTSUP when returning -1.
51422         * modules/dirfd (Depends-on): Add errno.
51423         Suggested by John Kodis <kodis@comcast.net>.
51424
51425 2009-02-01  Bruno Haible  <bruno@clisp.org>
51426
51427         Don't assume sizeof (long) >= sizeof (void *).
51428         * lib/memcmp.c: Include stdint.h.
51429         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51430         srcp2 to 'const byte *'.
51431         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51432         types to uintptr_t.
51433         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51434         * modules/memcmp (Depends-on): Add stdint.
51435         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51436
51437 2009-01-30  Eric Blake  <ebb9@byu.net>
51438
51439         fix more require-before-expand issues
51440         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51441         expand, AC_PROG_AWK.
51442         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51443
51444 2009-01-28  Eric Blake  <ebb9@byu.net>
51445
51446         version-etc: use consistent URL formatting
51447         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51448         Improve formatting.  Use fputs for string without %.
51449
51450 2009-01-28  Jim Meyering  <meyering@redhat.com>
51451
51452         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51453         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51454         "underquoted definition of NAME" from autoconf-2.59.
51455
51456 2009-01-28  Bruno Haible  <bruno@clisp.org>
51457
51458         * doc/gnulib.texi: Add "Obsolete modules" to index.
51459
51460 2009-01-28  Jim Meyering  <meyering@redhat.com>
51461
51462         useless-if-before-free: recognize more variants
51463         * build-aux/useless-if-before-free: Also recognize e.g.,
51464         if (NULL != p) free (p);
51465
51466 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51467
51468         test-getaddrinfo: skip (don't fail) this test when there's no network
51469         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51470         on the presumption that it means you lack network access.
51471
51472 2009-01-26  Jim Meyering  <meyering@redhat.com>
51473
51474         fflush: avoid warnings on modern systems
51475         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51476         pos and result, into scopes where they're used.
51477
51478 2009-01-26  Eric Blake  <ebb9@byu.net>
51479
51480         Silence warning reintroduced by recent extensions patch.
51481         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51482         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51483         autoconf.
51484
51485         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51486         * m4/00gnulib.m4: New file.
51487         * gnulib-tool (func_get_filelist): Always use it.
51488         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51489         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51490
51491 2009-01-25  Bruno Haible  <bruno@clisp.org>
51492
51493         Make test-quotearg work on MacOS X and AIX.
51494         * tests/test-quotearg.sh: New file.
51495         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51496         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51497         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51498         include <libintl.h>.
51499         (fake_locale): Remove variable.
51500         (gettext, dgettext, dcgettext): Remove functions.
51501         (main): Instead of setting a fake locale, set a real locale. Call
51502         textdomain and bindtextdomain.
51503         * modules/quotearg-tests (Files): Add the new files.
51504         (Depends-on): Add gettext, setenv, unsetenv.
51505         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51506         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51507         Augment TESTS_ENVIRONMENT.
51508
51509 2009-01-25  Bruno Haible  <bruno@clisp.org>
51510
51511         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51512         fr_FR.ISO8859-1 locale on MacOS X.
51513         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51514         ja_JP.eucJP locale on MacOS X.
51515         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51516         zh_CN.GB18030 locale on MacOS X.
51517
51518 2009-01-25  Bruno Haible  <bruno@clisp.org>
51519
51520         Avoid link errors on MacOS X 10.3.
51521         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51522         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51523
51524 2009-01-25  Bruno Haible  <bruno@clisp.org>
51525
51526         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51527         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51528         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51529         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51530         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
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         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51536         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51537         * modules/execute (Files): Remove m4/posix_spawn.m4.
51538         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51539         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51540         posix_spawnattr_init, posix_spawnattr_setsigmask,
51541         posix_spawnattr_setflags, posix_spawnattr_destroy.
51542
51543 2009-01-25  Bruno Haible  <bruno@clisp.org>
51544
51545         * lib/glthread/threadlib.c: Include <stdlib.h>.
51546
51547 2009-01-25  Bruno Haible  <bruno@clisp.org>
51548
51549         * lib/glthread/threadlib.c (dummy): New declaration.
51550
51551 2009-01-25  Bruno Haible  <bruno@clisp.org>
51552
51553         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51554         multibyte characters also for the GB18030 encoding. Don't crash when
51555         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51556
51557 2009-01-25  Bruno Haible  <bruno@clisp.org>
51558
51559         Avoid redefining 'struct random_data' on OSF/1 5.1.
51560         * lib/stdlib.in.h: Include <random.h> if it exists.
51561         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51562         HAVE_RANDOM_H. Include <random.h> when testing whether
51563         'struct random_data' exists.
51564         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51565
51566 2009-01-25  Bruno Haible  <bruno@clisp.org>
51567
51568         Don't install charset.alias on MacOS X >= 10.3.
51569         * lib/localcharset.c (DARWIN7): New macro.
51570         (get_charset_aliases): Hardcode the result for Darwin7.
51571         * modules/localcharset (install-exec-local): Don't install
51572         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51573
51574 2009-01-25  Bruno Haible  <bruno@clisp.org>
51575
51576         Don't install charset.alias on mingw and Cygwin.
51577         * modules/localcharset (install-exec-local): Don't install
51578         charset.alias on mingw and Cygwin, if the file does not yet exist.
51579         The result for these platforms is hardcoded in localcharset.c.
51580
51581 2009-01-25  Bruno Haible  <bruno@clisp.org>
51582
51583         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51584         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51585         before requiring AC_USE_SYSTEM_EXTENSIONS.
51586
51587 2009-01-25  Jim Meyering  <meyering@redhat.com>
51588
51589         c-strtod: avoid warnings
51590         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51591         "assignment discards qualifiers from pointer target type" warnings.
51592
51593 2009-01-24  Bruno Haible  <bruno@clisp.org>
51594
51595         Add support for non-UTF-8 locales on MacOS X.
51596         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51597         canonical encodings. For Darwin 7 and newer, don't map traditional
51598         encodings to UTF-8.
51599         Reported by Vincent Lefevre <vincent@vinc17.org>
51600         at <http://savannah.gnu.org/bugs/?25235>.
51601
51602 2009-01-24  Bruno Haible  <bruno@clisp.org>
51603
51604         * doc/gnulib.texi (Obsolete modules): New section.
51605         Reported by Mike Frysinger <vapier@gentoo.org>.
51606
51607 2009-01-24  Bruno Haible  <bruno@clisp.org>
51608
51609         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51610         (%.dvi): New rule.
51611
51612 2009-01-24  Bruno Haible  <bruno@clisp.org>
51613
51614         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51615         Reported by Eric Blake.
51616
51617 2009-01-24  Bruno Haible  <bruno@clisp.org>
51618
51619         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51620         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51621         Reported by Gary V. Vaughan <gary@gnu.org>.
51622
51623 2009-01-24  Bruno Haible  <bruno@clisp.org>
51624
51625         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51626
51627 2009-01-23  Bruno Haible  <bruno@clisp.org>
51628
51629         Make c-strtod, c-strtold usable in libraries.
51630         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51631         (C_STRTOD): Call strdup instead of xstrdup.
51632         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51633         * modules/c-strtold (Depends-on): Likewise.
51634         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51635         * NEWS: Mention the change.
51636         Reported by Michael Gold <mgold@ncf.ca>.
51637
51638 2009-01-23  Jim Meyering  <meyering@redhat.com>
51639
51640         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51641         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51642         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51643
51644 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51645
51646         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51647         GNU CoreUtils.
51648         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51649         * modules/version-etc (Description): Update.
51650
51651 2009-01-22  Bruno Haible  <bruno@clisp.org>
51652
51653         Cache the C locale object.
51654         * lib/c-strtod.c (c_locale_cache): New variable.
51655         (c_locale): New function.
51656         (C_STRTOD): Use it, and don't call freelocale.
51657         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51658         Suggested by Paolo Bonzini.
51659
51660 2009-01-21  Bruno Haible  <bruno@clisp.org>
51661
51662         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51663         conditions other than overflow.
51664
51665 2009-01-21  Bruno Haible  <bruno@clisp.org>
51666
51667         * lib/c-strtod.c: Include errno.h.
51668         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51669         value from STRTOD_L and STRTOD.
51670
51671 2009-01-21  Bruno Haible  <bruno@clisp.org>
51672         and Jim Meyering  <meyering@redhat.com>
51673
51674         nanosleep: skip configure test (fail it) for apple universal builds
51675         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51676         universal builds, assume that nanosleep does not work.
51677         * modules/nanosleep (Depends-on): Add multiarch.
51678
51679         mktime: skip configure test (fail it) for apple universal builds
51680         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51681         universal builds, assume that mktime does not work.
51682         * modules/mktime (Depends-on): Add multiarch.
51683
51684 2009-01-21  Eric Blake  <ebb9@byu.net>
51685
51686         multiarch: avoid expand-before-require warning
51687         * modules/multiarch (configure.ac): Require, rather than expand,
51688         gl_MULTIARCH.
51689         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51690         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51691         enforce that all clients require it.  Partial reversion of
51692         2008-12-29 patch.
51693
51694         error: avoid expand-before-require warning
51695         * modules/errno (configure.ac): Require, rather than expand,
51696         gl_HEADER_ERRNO_H.
51697         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51698         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51699         enforce that all clients require it.
51700
51701         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51702         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51703         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51704         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51705
51706 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51707
51708         Revert:
51709         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51710
51711         regex: do not depend on obsolete modules.
51712         * modules/regex: Remove memcmp and memmove.
51713
51714 2009-01-20  Bruno Haible  <bruno@clisp.org>
51715
51716         Make the 'link' module link on Windows NT 4.
51717         * lib/link.c (_WIN32_WINNT): Don't define.
51718         (CreateHardLinkFuncType): New type.
51719         (CreateHardLinkFunc, initialized): New variables.
51720         (initialize): New function.
51721         (link): Invoke CreateHardLink indirectly through the function pointer.
51722
51723 2009-01-20  Bruno Haible  <bruno@clisp.org>
51724
51725         Fix compilation failure on mingw.
51726         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51727
51728 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51729
51730         * doc/c-strtod.texi: Mention a couple of restrictions.
51731
51732 2009-01-20  Jim Meyering  <meyering@redhat.com>
51733
51734         gettimeofday: move more declarations out of functions
51735         * lib/gettimeofday.c: Move extern declarations of tzset and
51736         gmtime out of containing functions.  Prompted by Bruno Haible.
51737
51738 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51739
51740         regex: do not depend on obsolete modules.
51741         * modules/regex: Remove memcmp and memmove.
51742
51743 2009-01-19  Bruno Haible  <bruno@clisp.org>
51744
51745         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51746         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51747         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51748         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51749         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51750
51751 2009-01-19  Bruno Haible  <bruno@clisp.org>
51752
51753         * tests/test-link.c: Include <errno.h>.
51754         (main): Exit with code 77 when a hard link cannot be created due to
51755         the file system.
51756         * tests/test-link.sh: Skip test when a hard link cannot be created due
51757         to the file system.
51758         Suggested by Eric Blake.
51759
51760 2009-01-19  Martin Lambers  <marlam@marlam.de>
51761
51762         * modules/link-tests: New file.
51763         * tests/test-link.sh: New file.
51764         * tests/test-link.c: New file.
51765
51766 2009-01-19  Eric Blake  <ebb9@byu.net>
51767
51768         doc: mention another function added in cygwin 1.7.0
51769         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51770         Another new function in cygwin 1.7.
51771
51772 2009-01-19  Bruno Haible  <bruno@clisp.org>
51773
51774         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51775         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51776         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51777         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51778         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51779         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51780         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51781         * m4/md4.m4 (gl_MD4): Likewise.
51782         * m4/md5.m4 (gl_MD5): Likewise.
51783         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51784         * m4/sha1.m4 (gl_SHA1): Likewise.
51785         * m4/sha256.m4 (gl_SHA256): Likewise.
51786         * m4/sha512.m4 (gl_SHA512): Likewise.
51787
51788 2009-01-19  Bruno Haible  <bruno@clisp.org>
51789
51790         * modules/uniname/uniname-tests (Depends-on): Add progname.
51791         * tests/uniname/test-uninames.c: Include progname.h.
51792         (main): Call set_program_name.
51793
51794         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51795         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51796         (main): Call set_program_name.
51797
51798         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51799         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51800         (main): Call set_program_name.
51801
51802         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51803         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51804         (main): Call set_program_name.
51805
51806         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51807         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51808         (main): Call set_program_name.
51809
51810         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51811         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51812         (main): Call set_program_name.
51813
51814         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51815         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51816         (main): Call set_program_name.
51817
51818         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51819         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51820         (main): Call set_program_name.
51821
51822         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51823         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51824         (main): Call set_program_name.
51825
51826 2009-01-19  Eric Blake  <ebb9@byu.net>
51827
51828         test-unistd: test previous patch
51829         * tests/test-unistd.c: Test *_FILENO macros.
51830
51831         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51832         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51833         Guarantee a definition.
51834         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51835         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51836         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51837         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51838         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51839         Likewise.
51840         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51841         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51842         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51843         Likewise.
51844         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51845         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51846         (STDERR_FILENO): Likewise.
51847         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51848         (STDERR_FILENO): Likewise.
51849         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51850         (STDERR_FILENO): Likewise.
51851         Reported by Elbert Pol.
51852
51853 2009-01-19  Eric Blake  <ebb9@byu.net>
51854
51855         doc: mention more functions added in cygwin 1.7.0
51856         * doc/posix-functions/abort.texi (abort): Update wording related
51857         to cygwin.
51858         * doc/posix-functions/daylight.texi (daylight): Likewise.
51859         * doc/posix-functions/optarg.texi (optarg): Likewise.
51860         * doc/posix-functions/optarg.texi (opterr): Likewise.
51861         * doc/posix-functions/optarg.texi (optind): Likewise.
51862         * doc/posix-functions/optarg.texi (optopt): Likewise.
51863         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51864         worked in 1.5.x, and was withdrawn in 1.7.
51865         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51866         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51867         cygwin versions.
51868         * doc/posix-functions/perror.texi (perror): Likewise.
51869         * doc/posix-functions/printf.texi (printf): Likewise.
51870         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51871         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51872         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51873         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51874         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51875         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51876         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51877         Likewise.
51878         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51879         Likewise.
51880         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51881         this function.
51882         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51883         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51884         Likewise.
51885         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51886         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51887         * doc/posix-functions/confstr.texi (confstr): Likewise.
51888         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51889         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51890         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51891         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51892         * doc/posix-functions/fputws.texi (fputws): Likewise.
51893         * doc/posix-functions/fwide.texi (fwide): Likewise.
51894         * doc/posix-functions/getwc.texi (getwc): Likewise.
51895         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51896         * doc/posix-functions/putwc.texi (putwc): Likewise.
51897         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51898         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51899         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51900         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51901         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51902         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51903         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51904         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51905         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51906         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51907         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51908
51909 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51910
51911         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51912         * lib/ioctl.c: Include <sys/ioctl.h>.
51913
51914 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51915
51916         * modules/getdate-tests (Depends-on): Add progname.
51917         * tests/test-getdate.c: Use progname module, to avoid link errors
51918         on non-glibc systems.
51919
51920 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51921
51922         * modules/filenamecat-tests (Depends-on): Add progname.
51923         * modules/fstrcmp-tests (Depends-on): Likewise.
51924
51925         * tests/test-filenamecat.c: Use progname module, to avoid link
51926         errors on non-glibc systems.
51927         * tests/test-fstrcmp.c: Likewise.
51928
51929 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51930
51931         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51932         * lib/gettimeofday.c: Move extern declaration out of function.
51933
51934 2009-01-18  Bruno Haible  <bruno@clisp.org>
51935
51936         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51937         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51938         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51939
51940 2009-01-18  Bruno Haible  <bruno@clisp.org>
51941
51942         * lib/strftime.c (MEMPCPY): Remove unused macro.
51943         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51944
51945 2009-01-18  Martin Lambers  <marlam@marlam.de>
51946
51947         New module 'link'.
51948         * lib/unistd.in.h (link): New declaration.
51949         * lib/link.c: New file.
51950         * m4/link.m4: New file.
51951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51952         HAVE_LINK.
51953         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51954         * modules/link: New file.
51955         * doc/posix-functions/link.texi: Mention the new module.
51956
51957 2009-01-18  Bruno Haible  <bruno@clisp.org>
51958
51959         * tests/test-avltree_list.c (main): Call set_program_name.
51960         * tests/test-avltree_oset.c (main): Likewise.
51961         * tests/test-obstack-printf.c: Include progname.h.
51962         (main): Call set_program_name.
51963         * tests/test-quotearg.c: Include progname.h.
51964         (main): Call set_program_name.
51965         * tests/test-xmemdup0.c: Include progname.h.
51966         (main): Call set_program_name.
51967
51968 2009-01-18  Bruno Haible  <bruno@clisp.org>
51969
51970         New module 'alphasort'.
51971         * lib/dirent.in.h (alphasort): New declaration.
51972         * lib/alphasort.c: New file, from glibc with modifications.
51973         * m4/alphasort.m4: New file.
51974         * modules/alphasort: New file.
51975         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51976         HAVE_ALPHASORT.
51977         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51978         HAVE_ALPHASORT.
51979         * doc/posix-functions/alphasort.texi: Mention the new module and the
51980         portability problems.
51981
51982 2009-01-18  Bruno Haible  <bruno@clisp.org>
51983
51984         New module 'scandir'.
51985         * lib/dirent.in.h (scandir): New declaration.
51986         * lib/scandir.c: New file, from glibc with modifications.
51987         * m4/scandir.m4: New file.
51988         * modules/scandir: New file.
51989         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51990         HAVE_SCANDIR.
51991         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51992         HAVE_SCANDIR.
51993         * doc/posix-functions/scandir.texi: Mention the new module and the
51994         portability problems.
51995
51996 2009-01-17  Bruno Haible  <bruno@clisp.org>
51997
51998         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51999         Update documentation.
52000         (func_remove_suffix): Escape all dots in the suffix. Update
52001         documentation.
52002         (func_filter_filelist): Update documentation.
52003         Reported by Ralf Wildenhues.
52004
52005 2009-01-17  Bruno Haible  <bruno@clisp.org>
52006
52007         * modules/dprintf-posix-tests: New file.
52008         * tests/test-dprintf-posix.sh: New file.
52009         * tests/test-dprintf-posix.c: New file.
52010
52011         New modules 'dprintf', 'dprintf-posix'.
52012         * lib/stdio.in.h (dprintf): New declaration.
52013         * lib/dprintf.c: New file.
52014         * m4/dprintf.m4: New file.
52015         * m4/dprintf-posix.m4: New file.
52016         * modules/dprintf: New file.
52017         * modules/dprintf-posix: New file.
52018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52019         HAVE_DPRINTF, REPLACE_DPRINTF.
52020         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52021         HAVE_DPRINTF, REPLACE_DPRINTF.
52022         * doc/posix-functions/dprintf.texi: Mention the new modules.
52023
52024 2009-01-17  Bruno Haible  <bruno@clisp.org>
52025
52026         * modules/vdprintf-posix-tests: New file.
52027         * tests/test-vdprintf-posix.sh: New file.
52028         * tests/test-vdprintf-posix.c: New file.
52029
52030         New modules 'vdprintf', 'vdprintf-posix'.
52031         * lib/stdio.in.h (vdprintf): New declaration.
52032         * lib/vdprintf.c: New file.
52033         * m4/vdprintf.m4: New file.
52034         * m4/vdprintf-posix.m4: New file.
52035         * modules/vdprintf: New file.
52036         * modules/vdprintf-posix: New file.
52037         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52038         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52039         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52040         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52041         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52042
52043 2009-01-17  Bruno Haible  <bruno@clisp.org>
52044
52045         Fix replacement of fopen on mingw.
52046         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52047         mingw.
52048
52049 2009-01-17  Bruno Haible  <bruno@clisp.org>
52050
52051         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52052         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52053
52054 2009-01-17  Bruno Haible  <bruno@clisp.org>
52055
52056         Avoid test-fflush2.sh failure on mingw.
52057         * tests/test-fflush2.c: Include binary-io.h.
52058         (main): Put standard input into binary mode.
52059         * modules/fflush-tests (Depends-on): Add binary-io.
52060
52061 2009-01-17  Bruno Haible  <bruno@clisp.org>
52062
52063         * lib/wchar.in.h: In another particular situation, include only the
52064         system's <wchar.h> file.
52065         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52066         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52067         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52068
52069 2009-01-17  Bruno Haible  <bruno@clisp.org>
52070
52071         Support for stripping executables in --enable-relocatable.
52072         * build-aux/install-reloc: Expect one more argument, or an environment
52073         variable RELOC_STRIP_PROG. If set, strip the destination program and
52074         its wrapper.
52075         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52076         RELOC_STRIP_PROG.
52077         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52078         to set RELOCATABLE_STRIP.
52079         * NEWS: Mention the new Makefile requirement.
52080
52081 2009-01-17  Bruno Haible  <bruno@clisp.org>
52082
52083         * build-aux/install-reloc: Remove debugging information left over by
52084         C compiler on MacOS X.
52085
52086 2009-01-17  Bruno Haible  <bruno@clisp.org>
52087
52088         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52089         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52090         _NSGetExecutablePath.
52091
52092 2009-01-16  Jim Meyering  <meyering@redhat.com>
52093
52094         strerror: avoid warnings about discarding "const"
52095         * lib/strerror.c (rpl_strerror): Instead of returning a const
52096         string from each and every "case", use a variable, and add a single
52097         cast after the switch.
52098
52099 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52100
52101         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52102
52103 2009-01-16  Bruno Haible  <bruno@clisp.org>
52104
52105         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52106         array initializer syntax that also works in C++ mode.
52107         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52108
52109 2009-01-16  Jim Meyering  <meyering@redhat.com>
52110
52111         poll: suppress a warning
52112         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52113         to ignore "...unsigned expression < 0 is always false" warnings.
52114
52115 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52116
52117         poll: remove declarations of unused variables
52118         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52119         sockbuf and optlen.
52120
52121 2009-01-15  Bruno Haible  <bruno@clisp.org>
52122
52123         Make fflush-after-ungetc POSIX compliant on BSD systems.
52124         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52125         (clear_ungetc_buffer): Implement also for other systems.
52126         (rpl_fflush): On glibc systems, invoke
52127         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52128         clear_ungetc_buffer after fetching the stream's position, not before.
52129
52130 2009-01-15  Bruno Haible  <bruno@clisp.org>
52131
52132         Make fflush-after-ungetc POSIX compliant on glibc systems.
52133         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52134         after ungetc.
52135         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52136         (rpl_fflush): On glibc systems, simply call the system's fflush
52137         function after clearing the ungetc buffer.
52138         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52139         Instead, lseek only to the end of file, then use the system's fseeko
52140         for the rest. On glibc systems, reset the EOF indicator bit.
52141
52142 2009-01-15  Jim Meyering  <meyering@redhat.com>
52143
52144         openmp.m4: revert quote-adding change, for portability to older autoconf
52145         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52146         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52147         Simon Josefsson noticed the problem when using autoconf-2.61.
52148
52149 2009-01-15  Bruno Haible  <bruno@clisp.org>
52150
52151         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52152         * tests/test-fflush2.c (ASSERT): Always fail.
52153         (main): Add two tests for fflush() after ungetc(), taking into account
52154         the Austin Group's clarification.
52155         Suggested by Eric Blake.
52156
52157 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52158
52159         mktime.m4: remove K&R-style function prototypes
52160         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52161         for the Sun C++ compiler.
52162
52163 2009-01-14  Bruno Haible  <bruno@clisp.org>
52164
52165         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52166         while including <wchar.h>.
52167         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52168         the system's <wchar.h> file.
52169         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52170
52171 2009-01-14  Bruno Haible  <bruno@clisp.org>
52172
52173         * m4/csharp.m4: Don't mention gettext on the serial number line.
52174         * m4/csharpexec.m4: Likewise.
52175         * m4/eaccess.m4: Likewise.
52176         * m4/javaexec.m4: Likewise.
52177         * m4/sig_atomic_t.m4: Likewise.
52178         * m4/tmpdir.m4: Likewise.
52179         * m4/intldir.m4: Bump gettext version.
52180         * m4/lib-ld.m4: Likewise.
52181
52182 2009-01-14  Bruno Haible  <bruno@clisp.org>
52183
52184         * lib/progname.c (set_program_name): Add more comments.
52185         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52186
52187 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52188
52189         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52190         were sys/stat.h does not define it.
52191
52192 2009-01-14  Jim Meyering  <meyering@redhat.com>
52193
52194         many *.m4 files: improve m4 quoting
52195         99% of this change was performed by running the following commands:
52196         git ls-files | grep '\.m4$' | xargs perl -pi \
52197           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52198           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52199           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52200           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52201         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52202         The remainder were to add Copyright dates, increment serial numbers,
52203         undo some changes in comments, exclude m4/intl.m4, and add quotes
52204         around the "1" in ",1" where the unusual spacing prohibited the
52205         above regexps from doing the job.  For more details, see
52206         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52207         * m4/acl.m4: Modified.
52208         * m4/afs.m4: Likewise.
52209         * m4/alloca.m4: Likewise.
52210         * m4/argp.m4: Likewise.
52211         * m4/argz.m4: Likewise.
52212         * m4/atexit.m4: Likewise.
52213         * m4/bison-i18n.m4: Likewise.
52214         * m4/bison.m4: Likewise.
52215         * m4/byteswap.m4: Likewise.
52216         * m4/c-stack.m4: Likewise.
52217         * m4/c-strtod.m4: Likewise.
52218         * m4/calloc.m4: Likewise.
52219         * m4/canonicalize-lgpl.m4: Likewise.
52220         * m4/chown.m4: Likewise.
52221         * m4/clock_time.m4: Likewise.
52222         * m4/codeset.m4: Likewise.
52223         * m4/copy-file.m4: Likewise.
52224         * m4/csharp.m4: Likewise.
52225         * m4/csharpcomp.m4: Likewise.
52226         * m4/csharpexec.m4: Likewise.
52227         * m4/d-ino.m4: Likewise.
52228         * m4/d-type.m4: Likewise.
52229         * m4/dirfd.m4: Likewise.
52230         * m4/double-slash-root.m4: Likewise.
52231         * m4/eaccess.m4: Likewise.
52232         * m4/eealloc.m4: Likewise.
52233         * m4/environ.m4: Likewise.
52234         * m4/errno_h.m4: Likewise.
52235         * m4/euidaccess.m4: Likewise.
52236         * m4/execute.m4: Likewise.
52237         * m4/fatal-signal.m4: Likewise.
52238         * m4/fchdir.m4: Likewise.
52239         * m4/fcntl_h.m4: Likewise.
52240         * m4/fileblocks.m4: Likewise.
52241         * m4/filenamecat.m4: Likewise.
52242         * m4/findprog.m4: Likewise.
52243         * m4/flexmember.m4: Likewise.
52244         * m4/fnmatch.m4: Likewise.
52245         * m4/fopen.m4: Likewise.
52246         * m4/fpending.m4: Likewise.
52247         * m4/fprintf-posix.m4: Likewise.
52248         * m4/free.m4: Likewise.
52249         * m4/frexp.m4: Likewise.
52250         * m4/frexpl.m4: Likewise.
52251         * m4/fsusage.m4: Likewise.
52252         * m4/ftruncate.m4: Likewise.
52253         * m4/gc-camellia.m4: Likewise.
52254         * m4/gc-random.m4: Likewise.
52255         * m4/gc.m4: Likewise.
52256         * m4/getaddrinfo.m4: Likewise.
52257         * m4/getcwd-abort-bug.m4: Likewise.
52258         * m4/getcwd-path-max.m4: Likewise.
52259         * m4/getdate.m4: Likewise.
52260         * m4/getdomainname.m4: Likewise.
52261         * m4/getgroups.m4: Likewise.
52262         * m4/gethostname.m4: Likewise.
52263         * m4/gethrxtime.m4: Likewise.
52264         * m4/getline.m4: Likewise.
52265         * m4/getloadavg.m4: Likewise.
52266         * m4/getndelim2.m4: Likewise.
52267         * m4/getpass.m4: Likewise.
52268         * m4/gettext.m4: Likewise.
52269         * m4/gettime.m4: Likewise.
52270         * m4/gettimeofday.m4: Likewise.
52271         * m4/gnulib-common.m4: Likewise.
52272         * m4/group-member.m4: Likewise.
52273         * m4/host-os.m4: Likewise.
52274         * m4/iconv.m4: Likewise.
52275         * m4/iconv_open.m4: Likewise.
52276         * m4/inet_ntop.m4: Likewise.
52277         * m4/inet_pton.m4: Likewise.
52278         * m4/inline.m4: Likewise.
52279         * m4/intldir.m4: Likewise.
52280         * m4/intlmacosx.m4: Likewise.
52281         * m4/intmax.m4: Likewise.
52282         * m4/intmax_t.m4: Likewise.
52283         * m4/inttypes.m4: Likewise.
52284         * m4/inttypes_h.m4: Likewise.
52285         * m4/inttypes-pri.m4: Likewise.
52286         * m4/isapipe.m4: Likewise.
52287         * m4/isnand.m4: Likewise.
52288         * m4/isnanf.m4: Likewise.
52289         * m4/isnanl.m4: Likewise.
52290         * m4/javacomp.m4: Likewise.
52291         * m4/javaexec.m4: Likewise.
52292         * m4/jm-winsz1.m4: Likewise.
52293         * m4/jm-winsz2.m4: Likewise.
52294         * m4/lchown.m4: Likewise.
52295         * m4/lcmessage.m4: Likewise.
52296         * m4/ldexpl.m4: Likewise.
52297         * m4/lib-ld.m4: Likewise.
52298         * m4/lib-link.m4: Likewise.
52299         * m4/libsigsegv.m4: Likewise.
52300         * m4/link-follow.m4: Likewise.
52301         * m4/localcharset.m4: Likewise.
52302         * m4/locale-fr.m4: Likewise.
52303         * m4/locale-ja.m4: Likewise.
52304         * m4/locale-tr.m4: Likewise.
52305         * m4/locale-zh.m4: Likewise.
52306         * m4/lock.m4: Likewise.
52307         * m4/longlong.m4: Likewise.
52308         * m4/ls-mntd-fs.m4: Likewise.
52309         * m4/lstat.m4: Likewise.
52310         * m4/malloc.m4: Likewise.
52311         * m4/mathl.m4: Likewise.
52312         * m4/mbrtowc.m4: Likewise.
52313         * m4/mbstate_t.m4: Likewise.
52314         * m4/mbswidth.m4: Likewise.
52315         * m4/memchr.m4: Likewise.
52316         * m4/memcmp.m4: Likewise.
52317         * m4/memcpy.m4: Likewise.
52318         * m4/memmem.m4: Likewise.
52319         * m4/memmove.m4: Likewise.
52320         * m4/mempcpy.m4: Likewise.
52321         * m4/memrchr.m4: Likewise.
52322         * m4/memset.m4: Likewise.
52323         * m4/minmax.m4: Likewise.
52324         * m4/mkdir-slash.m4: Likewise.
52325         * m4/mkdtemp.m4: Likewise.
52326         * m4/mktime.m4: Likewise.
52327         * m4/mmap-anon.m4: Likewise.
52328         * m4/mountlist.m4: Likewise.
52329         * m4/nanosleep.m4: Likewise.
52330         * m4/nls.m4: Likewise.
52331         * m4/nocrash.m4: Likewise.
52332         * m4/open.m4: Likewise.
52333         * m4/openat.m4: Likewise.
52334         * m4/openmp.m4: Likewise.
52335         * m4/pathmax.m4: Likewise.
52336         * m4/perl.m4: Likewise.
52337         * m4/physmem.m4: Likewise.
52338         * m4/pipe.m4: Likewise.
52339         * m4/po.m4: Likewise.
52340         * m4/poll.m4: Likewise.
52341         * m4/posixtm.m4: Likewise.
52342         * m4/posixver.m4: Likewise.
52343         * m4/printf-frexp.m4: Likewise.
52344         * m4/printf-frexpl.m4: Likewise.
52345         * m4/printf-posix.m4: Likewise.
52346         * m4/printf-posix-rpl.m4: Likewise.
52347         * m4/printf.m4: Likewise.
52348         * m4/progtest.m4: Likewise.
52349         * m4/putenv.m4: Likewise.
52350         * m4/readline.m4: Likewise.
52351         * m4/readlink.m4: Likewise.
52352         * m4/readutmp.m4: Likewise.
52353         * m4/realloc.m4: Likewise.
52354         * m4/regex.m4: Likewise.
52355         * m4/relocatable.m4: Likewise.
52356         * m4/relocatable-lib.m4: Likewise.
52357         * m4/rename-dest-slash.m4: Likewise.
52358         * m4/rename.m4: Likewise.
52359         * m4/rmdir-errno.m4: Likewise.
52360         * m4/rmdir.m4: Likewise.
52361         * m4/roundf.m4: Likewise.
52362         * m4/roundl.m4: Likewise.
52363         * m4/rpmatch.m4: Likewise.
52364         * m4/save-cwd.m4: Likewise.
52365         * m4/selinux-selinux-h.m4: Likewise.
52366         * m4/setenv.m4: Likewise.
52367         * m4/settime.m4: Likewise.
52368         * m4/sig2str.m4: Likewise.
52369         * m4/sig_atomic_t.m4: Likewise.
52370         * m4/signalblocking.m4: Likewise.
52371         * m4/signbit.m4: Likewise.
52372         * m4/sigpipe.m4: Likewise.
52373         * m4/sockets.m4: Likewise.
52374         * m4/sockpfaf.m4: Likewise.
52375         * m4/st_dm_mode.m4: Likewise.
52376         * m4/stat-time.m4: Likewise.
52377         * m4/stdbool.m4: Likewise.
52378         * m4/stdint.m4: Likewise.
52379         * m4/stdint_h.m4: Likewise.
52380         * m4/stpcpy.m4: Likewise.
52381         * m4/stpncpy.m4: Likewise.
52382         * m4/strcase.m4: Likewise.
52383         * m4/strchrnul.m4: Likewise.
52384         * m4/strcspn.m4: Likewise.
52385         * m4/strdup.m4: Likewise.
52386         * m4/strftime.m4: Likewise.
52387         * m4/strndup.m4: Likewise.
52388         * m4/strnlen.m4: Likewise.
52389         * m4/strpbrk.m4: Likewise.
52390         * m4/strptime.m4: Likewise.
52391         * m4/strsep.m4: Likewise.
52392         * m4/strtod.m4: Likewise.
52393         * m4/strtoimax.m4: Likewise.
52394         * m4/strtok_r.m4: Likewise.
52395         * m4/strtol.m4: Likewise.
52396         * m4/strtoll.m4: Likewise.
52397         * m4/strtoul.m4: Likewise.
52398         * m4/strtoull.m4: Likewise.
52399         * m4/strtoumax.m4: Likewise.
52400         * m4/strverscmp.m4: Likewise.
52401         * m4/threadlib.m4: Likewise.
52402         * m4/timegm.m4: Likewise.
52403         * m4/tm_gmtoff.m4: Likewise.
52404         * m4/tmpdir.m4: Likewise.
52405         * m4/tmpfile.m4: Likewise.
52406         * m4/tzset.m4: Likewise.
52407         * m4/uintmax_t.m4: Likewise.
52408         * m4/unlinkdir.m4: Likewise.
52409         * m4/unlocked-io.m4: Likewise.
52410         * m4/uptime.m4: Likewise.
52411         * m4/userspec.m4: Likewise.
52412         * m4/utimbuf.m4: Likewise.
52413         * m4/utime.m4: Likewise.
52414         * m4/utimes-null.m4: Likewise.
52415         * m4/utimes.m4: Likewise.
52416         * m4/vararrays.m4: Likewise.
52417         * m4/vasnprintf.m4: Likewise.
52418         * m4/vfprintf-posix.m4: Likewise.
52419         * m4/vprintf-posix.m4: Likewise.
52420         * m4/wait-process.m4: Likewise.
52421         * m4/wchar_t.m4: Likewise.
52422         * m4/wint_t.m4: Likewise.
52423         * m4/write-any-file.m4: Likewise.
52424         * m4/yield.m4: Likewise.
52425
52426 2009-01-13  Bruno Haible  <bruno@clisp.org>
52427
52428         Avoid test-copy-file.sh failures when ACL support insufficient.
52429         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52430         TESTS_ENVIRONMENT.
52431         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52432         Reported by Jim Meyering.
52433
52434 2009-01-13  Bruno Haible  <bruno@clisp.org>
52435
52436         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52437         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52438         * modules/unistdio/u8-printf-parse (Files): Likewise.
52439         * modules/unistdio/u32-printf-parse (Files): Likewise.
52440         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52441
52442 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52443
52444         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52445         and m4/inttypes_h.m4 too.
52446
52447 2009-01-12  Eric Blake  <ebb9@byu.net>
52448
52449         tests: IRIX 6.2 cc can't compile -0.0 into .data
52450         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52451         rather than at compile-time.
52452         * tests/test-floorl.c (minus_zero): Likewise.
52453         * tests/test-frexpl.c (minus_zero): Likewise.
52454         * tests/test-isnan.c (minus_zerol): Likewise.
52455         * tests/test-isnanl.h (minus_zero): Likewise.
52456         * tests/test-ldexpl.c (minus_zero): Likewise.
52457         * tests/test-roundl.c (minus_zero): Likewise.
52458         * tests/test-signbit.c (minus_zerol): Likewise.
52459         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52460         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52461         * tests/test-truncl.c (minus_zero): Likewise.
52462         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52463         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52464         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52465
52466 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52467
52468         regex: fix glibc bug 9697
52469         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52470         handling.
52471
52472 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52473
52474         regex: fix glibc bug 697
52475         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52476         being NULL also if there are no backreferences.
52477
52478 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52479
52480         regex: merge glibc changes
52481         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52482         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52483         re_string_skip_chars, re_string_reconstruct): Likewise.
52484         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52485
52486 2009-01-07  Jim Meyering  <meyering@redhat.com>
52487
52488         poll: filter through cppi
52489         * lib/poll.c: Indent cpp directives to reflect nesting.
52490
52491 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52492
52493         poll: don't return uninitialized
52494         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52495
52496 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52497
52498         avoid compile failure on AIX 6.1
52499         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52500         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52501
52502 2009-01-04  Jim Meyering  <meyering@redhat.com>
52503
52504         remove duplicate inclusion of <stdio.h>
52505         * tests/test-fprintf-posix.c: Likewise.
52506         * tests/test-printf-posix.c: Likewise.
52507         * tests/test-snprintf-posix.c: Likewise.
52508         * tests/test-sprintf-posix.c: Likewise.
52509         * tests/test-vasprintf-posix.c: Likewise.
52510         * tests/test-vfprintf-posix.c: Likewise.
52511         * tests/test-vprintf-posix.c: Likewise.
52512         * tests/test-vsnprintf-posix.c: Likewise.
52513         * tests/test-vsprintf-posix.c: Likewise.
52514
52515 2009-01-03  Jim Meyering  <meyering@redhat.com>
52516
52517         gnulib-tool: fix sed-based filtering
52518         * gnulib-tool (func_filter_filelist): Remove extra backslash
52519         in sed_fff_filter definition.
52520
52521 2009-01-02  Jim Meyering  <meyering@redhat.com>
52522
52523         strftime: avoid compilation failure on Solaris 2.6
52524         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52525         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52526         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52527         be available.  Reported by Tom G. Christensen.  Details in
52528         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52529
52530 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52531             Bruno Haible  <bruno@clisp.org>
52532
52533         Speed up gnulib-tool by doing more string processing through shell
52534         built-ins.
52535         * gnulib-tool (fast_func_append): New variable.
52536         (func_remove_prefix, func_remove_suffix): New functions.
52537         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52538         (func_filter_filelist): New function.
52539         (func_get_dependencies): Use func_remove_suffix instead of sed.
52540         (func_get_automake_snippet): Use func_filter_filelist instead of a
52541         subshell and sed invocation.
52542
52543 2009-01-01  Bruno Haible  <bruno@clisp.org>
52544
52545         Fix a security bug.
52546         * gnulib-tool (func_import, import, update): Don't allow the characters
52547         '"', '$', '`', '\' in macro arguments that become part of commands that
52548         are evaluated.
52549
52550 2009-01-01  Bruno Haible  <bruno@clisp.org>
52551
52552         * gnulib-tool (func_reset_sigpipe): Add more comments.
52553
52554 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52555
52556         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52557         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52558         already know the answer.
52559
52560 2009-01-01  Jim Meyering  <meyering@redhat.com>
52561
52562         * lib/version-etc.c (version_etc_va): Update copyright year.
52563
52564 2008-12-30  Bruno Haible  <bruno@clisp.org>
52565
52566         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52567         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52568         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52569
52570 2008-12-29  Eric Blake  <ebb9@byu.net>
52571
52572         multiarch: avoid autoconf AC_REQUIRE bug
52573         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52574         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52575         2.63 and older.
52576         Reported by Bruno Haible, and analyzed in
52577         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52578
52579 2008-12-29  Bruno Haible  <bruno@clisp.org>
52580
52581         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52582         files in subdirectories correctly.
52583         Reported by Ralf Wildenhues.
52584
52585 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52586
52587         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52588         rather than 'join FILE -', for Solaris join.
52589
52590 2008-12-29  Bruno Haible  <bruno@clisp.org>
52591
52592         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52593         quoting.
52594         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52595         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52596         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52597         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52598         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52599         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52600         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52601         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52602         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52603         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52604         * m4/nls.m4 (AM_NLS): Likewise.
52605         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52606         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52607         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52608         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52609         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52610         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52611         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52612         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52613         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52614         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52615         * m4/xsize.m4 (gl_XSIZE): Likewise.
52616         Suggested by Jim Meyering.
52617
52618 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52619
52620         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52621         * lib/parse-duration.c: use a switch instead of cascading if's.
52622
52623 2008-12-29  Eric Blake  <ebb9@byu.net>
52624
52625         wchar.h: supply WEOF on Irix 5.3
52626         * lib/wchar.in.h (wint_t): Also supply WEOF.
52627         * lib/wctype.in.h (wint_t): Likewise.
52628         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52629         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52630         Reported by Tom G. Christensen.
52631
52632 2008-12-26  Bruno Haible  <bruno@clisp.org>
52633
52634         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52635         i486, i586, i686.
52636
52637 2008-12-26  Bruno Haible  <bruno@clisp.org>
52638
52639         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52640
52641 2008-12-26  Bruno Haible  <bruno@clisp.org>
52642
52643         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52644         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52645         not __STDC_CONSTANT_MACROS.
52646         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52647
52648 2008-12-25  Bruno Haible  <bruno@clisp.org>
52649
52650         Add support for universal builds to vasnprintf.
52651         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52652         universal builds, guess no.
52653         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52654         * modules/vasprintf-posix (Depends-on): Likewise.
52655         * modules/fprintf-posix (Depends-on): Likewise.
52656         * modules/vfprintf-posix (Depends-on): Likewise.
52657         * modules/snprintf-posix (Depends-on): Likewise.
52658         * modules/vsnprintf-posix (Depends-on): Likewise.
52659         * modules/sprintf-posix (Depends-on): Likewise.
52660         * modules/vsprintf-posix (Depends-on): Likewise.
52661         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52662         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52663         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52664         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52665         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52666         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52667         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52668
52669         Add support for universal builds to <inttypes.h>.
52670         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52671         _SCNu64_PREFIX): In Apple
52672         universal builds, define directly, using _LP64.
52673         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52674         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52675         * modules/inttypes (Depends-on): Add multiarch.
52676         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52677
52678         Add support for universal builds to <stdint.h>.
52679         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52680         universal builds, define directly, using _LP64.
52681         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52682         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52683         and size_t.
52684         * modules/stdint (Depends-on): Add multiarch.
52685         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52686
52687         New module 'multiarch'.
52688         * modules/multiarch: New file.
52689         * m4/multiarch.m4: New file.
52690
52691 2008-12-25  Bruno Haible  <bruno@clisp.org>
52692
52693         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52694
52695 2008-12-25  Bruno Haible  <bruno@clisp.org>
52696
52697         * modules/btowc (License): Relicense under LGPLv2+.
52698         * modules/mbsinit (License): Likewise.
52699         * modules/mbrtowc (License): Likewise.
52700         * modules/wcrtomb (License): Likewise.
52701         * modules/streq (License): Likewise.
52702         Reported by David Lutterkort <lutter@redhat.com>.
52703
52704 2008-12-23  Bruno Haible  <bruno@clisp.org>
52705
52706         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52707
52708 2008-12-23  Bruno Haible  <bruno@clisp.org>
52709
52710         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52711         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52712         GETADDRINFO_LIB, not in LIBS.
52713         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52714         * modules/canon-host (Link): Likewise.
52715         * NEWS: Mention the change.
52716         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52717         GETADDRINFO_LIB.
52718
52719 2008-12-22  Bruno Haible  <bruno@clisp.org>
52720
52721         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52722         * doc/posix-functions/iswalpha_l.texi: Likewise.
52723         * doc/posix-functions/iswblank_l.texi: Likewise.
52724         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52725         * doc/posix-functions/iswctype_l.texi: Likewise.
52726         * doc/posix-functions/iswdigit_l.texi: Likewise.
52727         * doc/posix-functions/iswgraph_l.texi: Likewise.
52728         * doc/posix-functions/iswlower_l.texi: Likewise.
52729         * doc/posix-functions/iswprint_l.texi: Likewise.
52730         * doc/posix-functions/iswpunct_l.texi: Likewise.
52731         * doc/posix-functions/iswspace_l.texi: Likewise.
52732         * doc/posix-functions/iswupper_l.texi: Likewise.
52733         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52734         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52735         * doc/posix-functions/open_wmemstream.texi: Likewise.
52736         * doc/posix-functions/swscanf.texi: Likewise.
52737         * doc/posix-functions/towctrans_l.texi: Likewise.
52738         * doc/posix-functions/towlower.texi: Likewise.
52739         * doc/posix-functions/towlower_l.texi: Likewise.
52740         * doc/posix-functions/towupper.texi: Likewise.
52741         * doc/posix-functions/towupper_l.texi: Likewise.
52742         * doc/posix-functions/vfwprintf.texi: Likewise.
52743         * doc/posix-functions/vfwscanf.texi: Likewise.
52744         * doc/posix-functions/vswscanf.texi: Likewise.
52745         * doc/posix-functions/vwprintf.texi: Likewise.
52746         * doc/posix-functions/vwscanf.texi: Likewise.
52747         * doc/posix-functions/wcpcpy.texi: Likewise.
52748         * doc/posix-functions/wcpncpy.texi: Likewise.
52749         * doc/posix-functions/wcscasecmp.texi: Likewise.
52750         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52751         * doc/posix-functions/wcscoll_l.texi: Likewise.
52752         * doc/posix-functions/wcsdup.texi: Likewise.
52753         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52754         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52755         * doc/posix-functions/wcsnlen.texi: Likewise.
52756         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52757         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52758         * doc/posix-functions/wctrans_l.texi: Likewise.
52759         * doc/posix-functions/wctype_l.texi: Likewise.
52760         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52761         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52762         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52763         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52764         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52765         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52766         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52767         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52768         * doc/glibc-functions/wcschrnul.texi: Likewise.
52769         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52770         * doc/glibc-functions/wcstod_l.texi: Likewise.
52771         * doc/glibc-functions/wcstof_l.texi: Likewise.
52772         * doc/glibc-functions/wcstol_l.texi: Likewise.
52773         * doc/glibc-functions/wcstold_l.texi: Likewise.
52774         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52775         * doc/glibc-functions/wcstoq.texi: Likewise.
52776         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52777         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52778         * doc/glibc-functions/wcstouq.texi: Likewise.
52779         * doc/glibc-functions/wmempcpy.texi: Likewise.
52780
52781 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52782             Eric Blake  <ebb9@byu.net>
52783             Paolo Bonzini  <bonzini@gnu.org>
52784             Bruno Haible  <bruno@clisp.org>
52785
52786         Make c-stack work on Haiku.
52787         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52788         (c_stack_action): Use SA_ONSTACK flag.
52789
52790 2008-12-22  Bruno Haible  <bruno@clisp.org>
52791
52792         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52793
52794 2008-12-22  Bruno Haible  <bruno@clisp.org>
52795
52796         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52797         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52798         being overridden.
52799         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52800         New macros.
52801         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52802         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52803         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52804         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52805
52806 2008-12-22  Bruno Haible  <bruno@clisp.org>
52807
52808         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52809         from test code.
52810
52811 2008-12-22  Eric Blake  <ebb9@byu.net>
52812
52813         Avoid gcc warnings on cygwin.
52814         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52815         Avoid unused variable.
52816         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52817         Likewise.
52818
52819 2008-12-22  Bruno Haible  <bruno@clisp.org>
52820
52821         Remove HAVE_MBRTOWC conditionals.
52822         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52823         (mbscasecmp): Assume mbrtowc function.
52824         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52825         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52826         * lib/mbschr.c: Include mbuiter.h unconditionally.
52827         (mbschr): Assume mbrtowc function.
52828         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52829         (mbscspn): Assume mbrtowc function.
52830         * lib/mbslen.c: Include mbuiter.h unconditionally.
52831         (mbslen): Assume mbrtowc function.
52832         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52833         (mbsncasecmp): Assume mbrtowc function.
52834         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52835         (mbsnlen): Assume mbrtowc function.
52836         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52837         (mbspbrk): Assume mbrtowc function.
52838         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52839         (mbspcasecmp): Assume mbrtowc function.
52840         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52841         (mbsrchr): Assume mbrtowc function.
52842         * lib/mbssep.c: Include mbuiter.h unconditionally.
52843         (mbssep): Assume mbrtowc function.
52844         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52845         (mbsspn): Assume mbrtowc function.
52846         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52847         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52848         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52849         (mbstok_r): Assume mbrtowc function.
52850         * lib/propername.c: Include mbuiter.h unconditionally.
52851         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52852         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52853         (trim2): Assume mbrtowc function.
52854         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52855         (mbsnwidth): Assume mbrtowc function.
52856         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52857         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52858         fallback definitions.
52859         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52860
52861 2008-12-22  Bruno Haible  <bruno@clisp.org>
52862
52863         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52864
52865 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52866
52867         * modules/regex: Request emulations for the mb*/wc* functions we need.
52868         * m4/regex.m4: Don't look for those functions here.
52869         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52870
52871 2008-12-22  Bruno Haible  <bruno@clisp.org>
52872
52873         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52874
52875 2008-12-21  Bruno Haible  <bruno@clisp.org>
52876
52877         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52878         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52879         (Include): Remove conditionalization.
52880         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52881         (Include): Remove conditionalization.
52882         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52883         (Include): Remove conditionalization.
52884         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52885         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52886         * NEWS: Mention the change.
52887         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52888         via Sergey Poznyakoff <gray@gnu.org.ua>.
52889
52890 2008-12-21  Bruno Haible  <bruno@clisp.org>
52891
52892         * MODULES.html.sh (Extended multibyte and wide character utilities
52893         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52894         wcrtomb, wcsrtombs.
52895         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52896         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52897         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52898         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52899
52900 2008-12-21  Bruno Haible  <bruno@clisp.org>
52901
52902         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52903
52904 2008-12-21  Bruno Haible  <bruno@clisp.org>
52905
52906         * modules/wcsnrtombs-tests: New file.
52907         * tests/test-wcsnrtombs1.sh: New file.
52908         * tests/test-wcsnrtombs2.sh: New file.
52909         * tests/test-wcsnrtombs3.sh: New file.
52910         * tests/test-wcsnrtombs4.sh: New file.
52911         * tests/test-wcsnrtombs.c: New file.
52912
52913         New module 'wcsnrtombs'.
52914         * lib/wchar.in.h (wcsnrtombs): New declaration.
52915         * lib/wcsnrtombs.c: New file.
52916         * lib/wcsrtombs-state.c: New file.
52917         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52918         (internal_state): Remove variable.
52919         * m4/wcsnrtombs.m4: New file.
52920         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52921         compilation units.
52922         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52923         HAVE_WCSNRTOMBS.
52924         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52925         HAVE_WCSNRTOMBS.
52926         * modules/wcsnrtombs: New file.
52927         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52928         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52929
52930 2008-12-21  Bruno Haible  <bruno@clisp.org>
52931
52932         * modules/wcsrtombs-tests: New file.
52933         * tests/test-wcsrtombs1.sh: New file.
52934         * tests/test-wcsrtombs2.sh: New file.
52935         * tests/test-wcsrtombs3.sh: New file.
52936         * tests/test-wcsrtombs4.sh: New file.
52937         * tests/test-wcsrtombs.c: New file.
52938
52939         New module 'wcsrtombs'.
52940         * lib/wchar.in.h (wcsrtombs): New declaration.
52941         * lib/wcsrtombs.c: New file.
52942         * m4/wcsrtombs.m4: New file.
52943         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52944         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52945         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52946         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52947         * modules/wcsrtombs: New file.
52948         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52949         bugs.
52950
52951 2008-12-21  Bruno Haible  <bruno@clisp.org>
52952
52953         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52954         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52955         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52956         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52957         if not correct.
52958         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52959         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52960         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52961         m4/locale-zh.m4, m4/codeset.m4.
52962         * doc/posix-functions/wcrtomb.texi: Document the bug.
52963
52964 2008-12-21  Bruno Haible  <bruno@clisp.org>
52965
52966         Work around a btowc() bug on IRIX 6.5.
52967         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52968         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52969         REPLACE_WTOBC if not.
52970         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52971         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52972         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52973
52974 2008-12-21  Bruno Haible  <bruno@clisp.org>
52975
52976         * modules/wcrtomb-tests: New file.
52977         * tests/test-wcrtomb.sh: New file.
52978         * tests/test-wcrtomb.c: New file.
52979
52980         New module 'wcrtomb'.
52981         * lib/wchar.in.h (wcrtomb): New declaration.
52982         * lib/wcrtomb.c: New file.
52983         * m4/wcrtomb.m4: New file.
52984         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52985         HAVE_WCRTOMB.
52986         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52987         HAVE_WCRTOMB.
52988         * modules/wcrtomb: New file.
52989         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52990
52991 2008-12-21  Bruno Haible  <bruno@clisp.org>
52992
52993         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52994         * modules/mbsrtowcs (Files): Likewise.
52995         * modules/wctob (Files): Likewise.
52996         * modules/c-strcase-tests (Files): Likewise.
52997         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52998         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52999         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53000         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53001         * modules/vasnprintf-posix-tests (Files): Likewise.
53002
53003 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53004
53005         gitlog-to-changelog: pass all command-line arguments to git-log
53006         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53007         it is sometimes convenient to filter the commits in various ways.
53008         gitlog-to-changelog only allows --since to specify a start date,
53009         but git-log itself supports many other filtering mechanisms.
53010         At the moment, I want to filter by branch name.  Rather than
53011         adding a --branch option to gitlog-to-changelog, it seems more
53012         flexible to simply pass all options directly to git-log and let
53013         git do the work.  Notice that this effectively makes --since a
53014         redundant option for gitlog-to-changelog, but removing it would
53015         require current usage to change since calls would then require
53016         an additional '--'.
53017
53018 2008-12-21  Bruno Haible  <bruno@clisp.org>
53019
53020         * modules/mbsnrtowcs-tests: New file.
53021         * tests/test-mbsnrtowcs1.sh: New file.
53022         * tests/test-mbsnrtowcs2.sh: New file.
53023         * tests/test-mbsnrtowcs3.sh: New file.
53024         * tests/test-mbsnrtowcs4.sh: New file.
53025         * tests/test-mbsnrtowcs.c: New file.
53026
53027         New module 'mbsnrtowcs'.
53028         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53029         * lib/mbsnrtowcs.c: New file.
53030         * lib/mbsrtowcs-state.c: New file.
53031         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53032         (internal_state): Remove variable.
53033         * m4/mbsnrtowcs.m4: New file.
53034         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53035         compilation units.
53036         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53037         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53038         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53039         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53040         * modules/mbsnrtowcs: New file.
53041         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53042         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53043         portability problem.
53044
53045 2008-12-21  Bruno Haible  <bruno@clisp.org>
53046
53047         Work around mbsrtowcs bug.
53048         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53049         (gl_FUNC_MBSRTOWCS): Invoke it.
53050         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53051         m4/locale-zh.m4.
53052         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53053
53054 2008-12-21  Bruno Haible  <bruno@clisp.org>
53055
53056         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53057
53058 2008-12-21  Bruno Haible  <bruno@clisp.org>
53059
53060         Update doc for AIX.
53061         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53062         16-bit wchar_t type.
53063         * doc/posix-functions/btowc.texi: Likewise.
53064         * doc/posix-functions/fgetwc.texi: Likewise.
53065         * doc/posix-functions/fgetws.texi: Likewise.
53066         * doc/posix-functions/fputwc.texi: Likewise.
53067         * doc/posix-functions/fputws.texi: Likewise.
53068         * doc/posix-functions/fwide.texi: Likewise.
53069         * doc/posix-functions/fwprintf.texi: Likewise.
53070         * doc/posix-functions/fwscanf.texi: Likewise.
53071         * doc/posix-functions/getwchar.texi: Likewise.
53072         * doc/posix-functions/getwc.texi: Likewise.
53073         * doc/posix-functions/iswalnum.texi: Likewise.
53074         * doc/posix-functions/iswalpha.texi: Likewise.
53075         * doc/posix-functions/iswblank.texi: Likewise.
53076         * doc/posix-functions/iswcntrl.texi: Likewise.
53077         * doc/posix-functions/iswctype.texi: Likewise.
53078         * doc/posix-functions/iswdigit.texi: Likewise.
53079         * doc/posix-functions/iswgraph.texi: Likewise.
53080         * doc/posix-functions/iswlower.texi: Likewise.
53081         * doc/posix-functions/iswprint.texi: Likewise.
53082         * doc/posix-functions/iswpunct.texi: Likewise.
53083         * doc/posix-functions/iswspace.texi: Likewise.
53084         * doc/posix-functions/iswupper.texi: Likewise.
53085         * doc/posix-functions/iswxdigit.texi: Likewise.
53086         * doc/posix-functions/mbrtowc.texi: Likewise.
53087         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53088         * doc/posix-functions/mbstowcs.texi: Likewise.
53089         * doc/posix-functions/mbtowc.texi: Likewise.
53090         * doc/posix-functions/putwchar.texi: Likewise.
53091         * doc/posix-functions/putwc.texi: Likewise.
53092         * doc/posix-functions/swprintf.texi: Likewise.
53093         * doc/posix-functions/tolower.texi: Likewise.
53094         * doc/posix-functions/toupper.texi: Likewise.
53095         * doc/posix-functions/towctrans.texi: Likewise.
53096         * doc/posix-functions/ungetwc.texi: Likewise.
53097         * doc/posix-functions/vswprintf.texi: Likewise.
53098         * doc/posix-functions/wcrtomb.texi: Likewise.
53099         * doc/posix-functions/wcscat.texi: Likewise.
53100         * doc/posix-functions/wcschr.texi: Likewise.
53101         * doc/posix-functions/wcscmp.texi: Likewise.
53102         * doc/posix-functions/wcscoll.texi: Likewise.
53103         * doc/posix-functions/wcscpy.texi: Likewise.
53104         * doc/posix-functions/wcscspn.texi: Likewise.
53105         * doc/posix-functions/wcsftime.texi: Likewise.
53106         * doc/posix-functions/wcslen.texi: Likewise.
53107         * doc/posix-functions/wcsncat.texi: Likewise.
53108         * doc/posix-functions/wcsncmp.texi: Likewise.
53109         * doc/posix-functions/wcsncpy.texi: Likewise.
53110         * doc/posix-functions/wcspbrk.texi: Likewise.
53111         * doc/posix-functions/wcsrchr.texi: Likewise.
53112         * doc/posix-functions/wcsrtombs.texi: Likewise.
53113         * doc/posix-functions/wcsspn.texi: Likewise.
53114         * doc/posix-functions/wcsstr.texi: Likewise.
53115         * doc/posix-functions/wcstod.texi: Likewise.
53116         * doc/posix-functions/wcstof.texi: Likewise.
53117         * doc/posix-functions/wcstoimax.texi: Likewise.
53118         * doc/posix-functions/wcstok.texi: Likewise.
53119         * doc/posix-functions/wcstold.texi: Likewise.
53120         * doc/posix-functions/wcstoll.texi: Likewise.
53121         * doc/posix-functions/wcstol.texi: Likewise.
53122         * doc/posix-functions/wcstombs.texi: Likewise.
53123         * doc/posix-functions/wcstoull.texi: Likewise.
53124         * doc/posix-functions/wcstoul.texi: Likewise.
53125         * doc/posix-functions/wcstoumax.texi: Likewise.
53126         * doc/posix-functions/wcswidth.texi: Likewise.
53127         * doc/posix-functions/wcsxfrm.texi: Likewise.
53128         * doc/posix-functions/wctob.texi: Likewise.
53129         * doc/posix-functions/wctomb.texi: Likewise.
53130         * doc/posix-functions/wctrans.texi: Likewise.
53131         * doc/posix-functions/wctype.texi: Likewise.
53132         * doc/posix-functions/wcwidth.texi: Likewise.
53133         * doc/posix-functions/wmemchr.texi: Likewise.
53134         * doc/posix-functions/wmemcmp.texi: Likewise.
53135         * doc/posix-functions/wmemcpy.texi: Likewise.
53136         * doc/posix-functions/wmemmove.texi: Likewise.
53137         * doc/posix-functions/wmemset.texi: Likewise.
53138         * doc/posix-functions/wprintf.texi: Likewise.
53139         * doc/posix-functions/wscanf.texi: Likewise.
53140
53141 2008-12-21  Bruno Haible  <bruno@clisp.org>
53142
53143         Update doc for HP-UX 11.11.
53144         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53145         in HP-UX version 11.00, not in all versions of HP-UX 11.
53146         * doc/posix-functions/fwide.texi: Likewise.
53147         * doc/posix-functions/fwprintf.texi: Likewise.
53148         * doc/posix-functions/fwscanf.texi: Likewise.
53149         * doc/posix-functions/inet_ntop.texi: Likewise.
53150         * doc/posix-functions/inet_pton.texi: Likewise.
53151         * doc/posix-functions/mbrlen.texi: Likewise.
53152         * doc/posix-functions/mbrtowc.texi: Likewise.
53153         * doc/posix-functions/mbsinit.texi: Likewise.
53154         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53155         * doc/posix-functions/swprintf.texi: Likewise.
53156         * doc/posix-functions/swscanf.texi: Likewise.
53157         * doc/posix-functions/towctrans.texi: Likewise.
53158         * doc/posix-functions/vfwprintf.texi: Likewise.
53159         * doc/posix-functions/vswprintf.texi: Likewise.
53160         * doc/posix-functions/vwprintf.texi: Likewise.
53161         * doc/posix-functions/wcrtomb.texi: Likewise.
53162         * doc/posix-functions/wcsrtombs.texi: Likewise.
53163         * doc/posix-functions/wcsstr.texi: Likewise.
53164         * doc/posix-functions/wctob.texi: Likewise.
53165         * doc/posix-functions/wctrans.texi: Likewise.
53166         * doc/posix-functions/wmemchr.texi: Likewise.
53167         * doc/posix-functions/wmemcmp.texi: Likewise.
53168         * doc/posix-functions/wmemcpy.texi: Likewise.
53169         * doc/posix-functions/wmemmove.texi: Likewise.
53170         * doc/posix-functions/wmemset.texi: Likewise.
53171         * doc/posix-functions/wprintf.texi: Likewise.
53172         * doc/posix-functions/wscanf.texi: Likewise.
53173
53174 2008-12-21  Bruno Haible  <bruno@clisp.org>
53175
53176         Work around a portability problem.
53177         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53178         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53179
53180 2008-12-20  Bruno Haible  <bruno@clisp.org>
53181
53182         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53183         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53184         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53185         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53186         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53187
53188         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53189         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53190         set.
53191         (GNULIB_defined_mbstate_t): New macro.
53192         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53193         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53194         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53195         reuses the system's mbrtowc function but works around the bugs.
53196         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53197         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53198         macros.
53199         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53200         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53201         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53202         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53203         REPLACE_MBSINIT if mbsinit needs to be overridden.
53204         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53205         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53206         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53207         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53208         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53209         m4/locale-zh.m4.
53210         (Depends): Add mbsinit.
53211         * modules/mbsinit (Depends): Add mbrtowc.
53212         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53213
53214 2008-12-20  Bruno Haible  <bruno@clisp.org>
53215
53216         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53217         so that there are no conversion errors on AIX.
53218         * tests/test-mbsrtowcs.c (main): LIkewise.
53219
53220 2008-12-20  Bruno Haible  <bruno@clisp.org>
53221
53222         Work around wctob bug on Solaris <= 9.
53223         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53224         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53225         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53226         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53227         * modules/wctob (Files): Add m4/locale-fr.m4.
53228         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53229
53230 2008-12-20  Bruno Haible  <bruno@clisp.org>
53231
53232         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53233         /dev/null.
53234         * tests/test-select-in.sh: Likewise.
53235         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53236
53237 2008-12-20  Bruno Haible  <bruno@clisp.org>
53238
53239         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53240         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53241         Cygwin 1.5.x.
53242
53243 2008-12-20  Bruno Haible  <bruno@clisp.org>
53244
53245         Ensure mbstate_t is defined on HP-UX 11.11.
53246         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53247         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53248         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53249         AC_USE_SYSTEM_EXTENSIONS.
53250         * modules/fnmatch (Depends-on): Add extensions.
53251         * modules/mbrlen (Depends-on): Likewise.
53252         * modules/mbrtowc (Depends-on): Likewise.
53253         * modules/mbsinit (Depends-on): Likewise.
53254         * modules/mbsrtowcs (Depends-on): Likewise.
53255         * modules/mbswidth (Depends-on): Likewise.
53256         * modules/quotearg (Depends-on): Likewise.
53257         * modules/strftime (Depends-on): Likewise.
53258
53259 2008-12-20  Bruno Haible  <bruno@clisp.org>
53260
53261         Ensure wctob is declared on IRIX 6.5.
53262         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53263         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53264         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53265         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53266         of HAVE_WCTOB.
53267         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53268         HAVE_WCTOB.
53269         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53270
53271 2008-12-19  Bruno Haible  <bruno@clisp.org>
53272
53273         * modules/mbsrtowcs-tests: New file.
53274         * tests/test-mbsrtowcs1.sh: New file.
53275         * tests/test-mbsrtowcs2.sh: New file.
53276         * tests/test-mbsrtowcs3.sh: New file.
53277         * tests/test-mbsrtowcs4.sh: New file.
53278         * tests/test-mbsrtowcs.c: New file.
53279
53280         New module 'mbsrtowcs'.
53281         * lib/wchar.in.h (mbsrtowcs): New declaration.
53282         * lib/mbsrtowcs.c: New file.
53283         * m4/mbsrtowcs.m4: New file.
53284         * modules/mbsrtowcs: New file.
53285         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53286         HAVE_MBSRTOWCS.
53287         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53288         HAVE_MBSRTOWCS.
53289         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53290
53291 2008-12-19  Bruno Haible  <bruno@clisp.org>
53292
53293         New module 'mbrlen'.
53294         * lib/wchar.in.h (mbrlen): New declaration.
53295         * lib/mbrlen.c: New file.
53296         * m4/mbrlen.m4: New file.
53297         * modules/mbrlen: New file.
53298         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53299         HAVE_MBRLEN.
53300         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53301         HAVE_MBRLEN.
53302         * doc/posix-functions/mbrlen.texi: Document the new module.
53303
53304 2008-12-19  Bruno Haible  <bruno@clisp.org>
53305
53306         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53307         * modules/mbrtowc (Depends-on): Add verify.
53308         Suggested by Paul Eggert.
53309
53310 2008-12-18  Bruno Haible  <bruno@clisp.org>
53311
53312         * modules/mbsinit-tests: New file.
53313         * tests/test-mbsinit.sh: New file.
53314         * tests/test-mbsinit.c: New file.
53315
53316 2008-12-18  Bruno Haible  <bruno@clisp.org>
53317
53318         * modules/mbrtowc-tests: New file.
53319         * tests/test-mbrtowc1.sh: New file.
53320         * tests/test-mbrtowc2.sh: New file.
53321         * tests/test-mbrtowc3.sh: New file.
53322         * tests/test-mbrtowc4.sh: New file.
53323         * tests/test-mbrtowc.c: New file.
53324
53325         New module 'mbrtowc'.
53326         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53327         mbsinit and mbrtowc.
53328         (mbrtowc): New declaration.
53329         * lib/mbrtowc.c: New file.
53330         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53331         * modules/mbrtowc: New file.
53332         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53333         HAVE_MBRTOWC.
53334         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53335         HAVE_MBRTOWC.
53336         * doc/posix-functions/mbrtowc.texi: Document the new module.
53337
53338 2008-12-18  Bruno Haible  <bruno@clisp.org>
53339
53340         New module 'wctob'.
53341         * lib/wchar.in.h (wctob): New declaration.
53342         * lib/wctob.c: New file.
53343         * m4/wctob.m4: New file.
53344         * modules/wctob: New file.
53345         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53346         HAVE_WCTOB.
53347         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53348         * doc/posix-functions/wctob.texi: Document the new module.
53349
53350 2008-12-18  Bruno Haible  <bruno@clisp.org>
53351
53352         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53353         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53354
53355 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53356
53357         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53358         G. Christensen" <tgc@jupiterrise.com>.
53359
53360         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53361         G. Christensen" <tgc@jupiterrise.com>.
53362
53363         * lib/flock.c: Need to include string.h.  Reported by "Tom
53364         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53365         <ebb9@byu.net>.
53366
53367 2008-12-18  Bruno Haible  <bruno@clisp.org>
53368
53369         * m4/locale-ja.m4: New file, from GNU gettext.
53370
53371 2008-12-17  Bruno Haible  <bruno@clisp.org>
53372
53373         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53374         Suggested by Eric Blake.
53375
53376 2008-12-17  Bruno Haible  <bruno@clisp.org>
53377
53378         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53379
53380 2008-12-17  Bruno Haible  <bruno@clisp.org>
53381
53382         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53383         * modules/mbsinit (Depends-on): Add verify.
53384         Suggested by Paul Eggert.
53385
53386 2008-12-17  Bruno Haible  <bruno@clisp.org>
53387
53388         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53389         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53390         gl_FUNC_MBRTOWC.
53391         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53392         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53393         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53394         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53395         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53396         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53397         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53398         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53399         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53400         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53401         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53402         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53403         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53404         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53405         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53406         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53407         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53408         * modules/trim (configure.ac): Likewise.
53409
53410 2008-12-17  Bruno Haible  <bruno@clisp.org>
53411
53412         * modules/btowc-tests: New file.
53413         * tests/test-btowc1.sh: New file.
53414         * tests/test-btowc2.sh: New file.
53415         * tests/test-btowc.c: New file.
53416
53417         New module 'btowc'.
53418         * lib/wchar.in.h (btowc): New declaration.
53419         * lib/btowc.c: New file.
53420         * m4/btowc.m4: New file.
53421         * modules/btowc: New file.
53422         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53423         HAVE_BTOWC.
53424         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53425         * doc/posix-functions/btowc.texi: Document the new module.
53426
53427 2008-12-17  Bruno Haible  <bruno@clisp.org>
53428
53429         New module 'mbsinit'.
53430         * lib/wchar.in.h (mbsinit): New declaration.
53431         * lib/mbsinit.c: New file.
53432         * m4/mbsinit.m4: New file.
53433         * modules/mbsinit: New file.
53434         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53435         HAVE_MBSINIT.
53436         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53437         HAVE_MBSINIT.
53438         * doc/posix-functions/mbsinit.texi: Document the new module.
53439
53440 2008-12-16  Bruno Haible  <bruno@clisp.org>
53441
53442         * lib/unistd.in.h: Add comment.
53443         * tests/test-environ.c: Don't include <stdlib.h>.
53444
53445 2008-12-16  Bruno Haible  <bruno@clisp.org>
53446
53447         * lib/parse-duration.h (parse_duration): Document return value
53448         convention.
53449         * lib/parse-duration.c: Include specification header first. Add
53450         comments.
53451         (_): Remove macro.
53452         (parse_year_month_day, parse_hour_minute_second): Move side effects
53453         outside of strchr call.
53454         (parse_non_iso8601): Move side effects outside of isspace call.
53455         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53456         call.
53457
53458 2008-12-16  Bruno Haible  <bruno@clisp.org>
53459
53460         * tests/test-parse-duration.sh: Produce no output when the test
53461         succeeds.
53462
53463 2008-12-16  Bruno Haible  <bruno@clisp.org>
53464
53465         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53466         expressions.
53467
53468 2008-12-15  Bruno Haible  <bruno@clisp.org>
53469
53470         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53471         * doc/glibc-functions/flistxattr.texi: Likewise.
53472         * doc/glibc-functions/fopencookie.texi: Likewise.
53473         * doc/glibc-functions/fremovexattr.texi: Likewise.
53474         * doc/glibc-functions/fsetxattr.texi: Likewise.
53475         * doc/glibc-functions/getxattr.texi: Likewise.
53476         * doc/glibc-functions/lgetxattr.texi: Likewise.
53477         * doc/glibc-functions/listxattr.texi: Likewise.
53478         * doc/glibc-functions/llistxattr.texi: Likewise.
53479         * doc/glibc-functions/lremovexattr.texi: Likewise.
53480         * doc/glibc-functions/lsetxattr.texi: Likewise.
53481         * doc/glibc-functions/removexattr.texi: Likewise.
53482         * doc/glibc-functions/setxattr.texi: Likewise.
53483         * doc/posix-functions/open_memstream.texi: Likewise.
53484
53485 2008-12-15  Eric Blake  <ebb9@byu.net>
53486
53487         Update doc for cygwin 1.7.
53488         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53489         functions.
53490         * doc/posix-functions/fchmodat.texi: Likewise.
53491         * doc/posix-functions/fchownat.texi: Likewise.
53492         * doc/posix-functions/fdopendir.texi: Likewise.
53493         * doc/posix-functions/fmemopen.texi: Likewise.
53494         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53495         * doc/posix-functions/fstatat.texi: Likewise.
53496         * doc/posix-functions/futimens.texi: Likewise.
53497         * doc/posix-functions/gai_strerror.texi: Likewise.
53498         * doc/posix-functions/getaddrinfo.texi: Likewise.
53499         * doc/posix-functions/getnameinfo.texi: Likewise.
53500         * doc/posix-functions/if_freenameindex.texi: Likewise.
53501         * doc/posix-functions/if_indextoname.texi: Likewise.
53502         * doc/posix-functions/if_nameindex.texi: Likewise.
53503         * doc/posix-functions/if_nametoindex.texi: Likewise.
53504         * doc/posix-functions/insque.texi: Likewise.
53505         * doc/posix-functions/linkat.texi: Likewise.
53506         * doc/posix-functions/llrint.texi: Likewise.
53507         * doc/posix-functions/llrintf.texi: Likewise.
53508         * doc/posix-functions/llrintl.texi: Likewise.
53509         * doc/posix-functions/lockf.texi: Likewise.
53510         * doc/posix-functions/lrintl.texi: Likewise.
53511         * doc/posix-functions/mkdirat.texi: Likewise.
53512         * doc/posix-functions/mkfifoat.texi: Likewise.
53513         * doc/posix-functions/mknodat.texi: Likewise.
53514         * doc/posix-functions/mq_close.texi: Likewise.
53515         * doc/posix-functions/mq_getattr.texi: Likewise.
53516         * doc/posix-functions/mq_notify.texi: Likewise.
53517         * doc/posix-functions/mq_open.texi: Likewise.
53518         * doc/posix-functions/mq_receive.texi: Likewise.
53519         * doc/posix-functions/mq_send.texi: Likewise.
53520         * doc/posix-functions/mq_setattr.texi: Likewise.
53521         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53522         * doc/posix-functions/mq_timedsend.texi: Likewise.
53523         * doc/posix-functions/mq_unlink.texi: Likewise.
53524         * doc/posix-functions/open_memstream.texi: Likewise.
53525         * doc/posix-functions/openat.texi: Likewise.
53526         * doc/posix-functions/posix_fadvise.texi: Likewise.
53527         * doc/posix-functions/posix_fallocate.texi: Likewise.
53528         * doc/posix-functions/posix_madvise.texi: Likewise.
53529         * doc/posix-functions/posix_memalign.texi: Likewise.
53530         * doc/posix-functions/posix_openpt.texi: Likewise.
53531         * doc/posix-functions/readlinkat.texi: Likewise.
53532         * doc/posix-functions/remque.texi: Likewise.
53533         * doc/posix-functions/renameat.texi: Likewise.
53534         * doc/posix-functions/rintl.texi: Likewise.
53535         * doc/posix-functions/sem_unlink.texi: Likewise.
53536         * doc/posix-functions/shm_open.texi: Likewise.
53537         * doc/posix-functions/shm_unlink.texi: Likewise.
53538         * doc/posix-functions/signgam.texi: Likewise.
53539         * doc/posix-functions/sigset.texi: Likewise.
53540         * doc/posix-functions/stpcpy.texi: Likewise.
53541         * doc/posix-functions/stpncpy.texi: Likewise.
53542         * doc/posix-functions/strerror.texi: Likewise.
53543         * doc/posix-functions/strtod.texi: Likewise.
53544         * doc/posix-functions/symlinkat.texi: Likewise.
53545         * doc/posix-functions/unlinkat.texi: Likewise.
53546         * doc/posix-functions/utimensat.texi: Likewise.
53547         * doc/glibc-functions/bindresvport.texi: Likewise.
53548         * doc/glibc-functions/dn_expand.texi: Likewise.
53549         * doc/glibc-functions/exp10.texi: Likewise.
53550         * doc/glibc-functions/exp10f.texi: Likewise.
53551         * doc/glibc-functions/fgetxattr.texi: Likewise.
53552         * doc/glibc-functions/flistxattr.texi: Likewise.
53553         * doc/glibc-functions/fopencookie.texi: Likewise.
53554         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53555         * doc/glibc-functions/fremovexattr.texi: Likewise.
53556         * doc/glibc-functions/fsetxattr.texi: Likewise.
53557         * doc/glibc-functions/getifaddrs.texi: Likewise.
53558         * doc/glibc-functions/getxattr.texi: Likewise.
53559         * doc/glibc-functions/lgetxattr.texi: Likewise.
53560         * doc/glibc-functions/listxattr.texi: Likewise.
53561         * doc/glibc-functions/llistxattr.texi: Likewise.
53562         * doc/glibc-functions/lremovexattr.texi: Likewise.
53563         * doc/glibc-functions/lsetxattr.texi: Likewise.
53564         * doc/glibc-functions/pow10.texi: Likewise.
53565         * doc/glibc-functions/pow10f.texi: Likewise.
53566         * doc/glibc-functions/rcmd_af.texi: Likewise.
53567         * doc/glibc-functions/removexattr.texi: Likewise.
53568         * doc/glibc-functions/res_init.texi: Likewise.
53569         * doc/glibc-functions/res_mkquery.texi: Likewise.
53570         * doc/glibc-functions/res_query.texi: Likewise.
53571         * doc/glibc-functions/res_querydomain.texi: Likewise.
53572         * doc/glibc-functions/res_send.texi: Likewise.
53573         * doc/glibc-functions/rresvport_af.texi: Likewise.
53574         * doc/glibc-functions/setxattr.texi: Likewise.
53575         * doc/glibc-functions/strcasestr.texi: Likewise.
53576
53577 2008-12-15  Bruno Haible  <bruno@clisp.org>
53578
53579         Fix compilation error on OSF/1 4.0.
53580         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53581         <sys/time.h>, simply delegate to the system header.
53582         Reported by Daniel Richard G. <oss@teragram.com>.
53583
53584 2008-12-15  Bruno Haible  <bruno@clisp.org>
53585
53586         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53587         * doc/posix-functions/fchmodat.texi: Likewise.
53588         * doc/posix-functions/fchownat.texi: Likewise.
53589         * doc/posix-functions/fdopendir.texi: Likewise.
53590         * doc/posix-functions/fstatat.texi: Likewise.
53591         * doc/posix-functions/mkdirat.texi: Likewise.
53592         * doc/posix-functions/unlinkat.texi: Likewise.
53593
53594 2008-12-14  Bruno Haible  <bruno@clisp.org>
53595
53596         Update doc for POSIX:2008.
53597         * doc/posix-functions/faccessat.texi: New file.
53598         * doc/posix-functions/fchmodat.texi: New file.
53599         * doc/posix-functions/fchownat.texi: New file.
53600         * doc/posix-functions/fdopendir.texi: New file.
53601         * doc/posix-functions/fstatat.texi: New file.
53602         * doc/posix-functions/futimens.texi: New file.
53603         * doc/posix-functions/linkat.texi: New file.
53604         * doc/posix-functions/mkdirat.texi: New file.
53605         * doc/posix-functions/mkfifoat.texi: New file.
53606         * doc/posix-functions/mknodat.texi: New file.
53607         * doc/posix-functions/open_wmemstream.texi: New file.
53608         * doc/posix-functions/openat.texi: New file.
53609         * doc/posix-functions/psiginfo.texi: New file.
53610         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53611         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53612         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53613         * doc/posix-functions/readlinkat.texi: New file.
53614         * doc/posix-functions/renameat.texi: New file.
53615         * doc/posix-functions/strerror_l.texi: New file.
53616         * doc/posix-functions/symlinkat.texi: New file.
53617         * doc/posix-functions/unlinkat.texi: New file.
53618         * doc/posix-functions/utimensat.texi: New file.
53619         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53620
53621 2008-12-14  Bruno Haible  <bruno@clisp.org>
53622
53623         Update doc for POSIX:2008.
53624         * doc/posix-functions/alphasort.texi: Renamed from
53625         doc/glibc-functions/alphasort.texi.
53626         * doc/posix-functions/dirfd.texi: Renamed from
53627         doc/glibc-functions/dirfd.texi.
53628         * doc/posix-functions/dprintf.texi: Renamed from
53629         doc/glibc-functions/dprintf.texi.
53630         * doc/posix-functions/duplocale.texi: Renamed from
53631         doc/glibc-functions/duplocale.texi.
53632         * doc/posix-functions/fexecve.texi: Renamed from
53633         doc/glibc-functions/fexecve.texi.
53634         * doc/posix-functions/fmemopen.texi: Renamed from
53635         doc/glibc-functions/fmemopen.texi.
53636         * doc/posix-functions/freelocale.texi: Renamed from
53637         doc/glibc-functions/freelocale.texi.
53638         * doc/posix-functions/getdate_err.texi: Renamed from
53639         doc/glibc-functions/getdate_err.texi.
53640         * doc/posix-functions/isalnum_l.texi: Renamed from
53641         doc/glibc-functions/isalnum_l.texi.
53642         * doc/posix-functions/isalpha_l.texi: Renamed from
53643         doc/glibc-functions/isalpha_l.texi.
53644         * doc/posix-functions/isblank_l.texi: Renamed from
53645         doc/glibc-functions/isblank_l.texi.
53646         * doc/posix-functions/iscntrl_l.texi: Renamed from
53647         doc/glibc-functions/iscntrl_l.texi.
53648         * doc/posix-functions/isdigit_l.texi: Renamed from
53649         doc/glibc-functions/isdigit_l.texi.
53650         * doc/posix-functions/isgraph_l.texi: Renamed from
53651         doc/glibc-functions/isgraph_l.texi.
53652         * doc/posix-functions/islower_l.texi: Renamed from
53653         doc/glibc-functions/islower_l.texi.
53654         * doc/posix-functions/isprint_l.texi: Renamed from
53655         doc/glibc-functions/isprint_l.texi.
53656         * doc/posix-functions/ispunct_l.texi: Renamed from
53657         doc/glibc-functions/ispunct_l.texi.
53658         * doc/posix-functions/isspace_l.texi: Renamed from
53659         doc/glibc-functions/isspace_l.texi.
53660         * doc/posix-functions/isupper_l.texi: Renamed from
53661         doc/glibc-functions/isupper_l.texi.
53662         * doc/posix-functions/iswalnum_l.texi: Renamed from
53663         doc/glibc-functions/iswalnum_l.texi.
53664         * doc/posix-functions/iswalpha_l.texi: Renamed from
53665         doc/glibc-functions/iswalpha_l.texi.
53666         * doc/posix-functions/iswblank_l.texi: Renamed from
53667         doc/glibc-functions/iswblank_l.texi.
53668         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53669         doc/glibc-functions/iswcntrl_l.texi.
53670         * doc/posix-functions/iswctype_l.texi: Renamed from
53671         doc/glibc-functions/iswctype_l.texi.
53672         * doc/posix-functions/iswdigit_l.texi: Renamed from
53673         doc/glibc-functions/iswdigit_l.texi.
53674         * doc/posix-functions/iswgraph_l.texi: Renamed from
53675         doc/glibc-functions/iswgraph_l.texi.
53676         * doc/posix-functions/iswlower_l.texi: Renamed from
53677         doc/glibc-functions/iswlower_l.texi.
53678         * doc/posix-functions/iswprint_l.texi: Renamed from
53679         doc/glibc-functions/iswprint_l.texi.
53680         * doc/posix-functions/iswpunct_l.texi: Renamed from
53681         doc/glibc-functions/iswpunct_l.texi.
53682         * doc/posix-functions/iswspace_l.texi: Renamed from
53683         doc/glibc-functions/iswspace_l.texi.
53684         * doc/posix-functions/iswupper_l.texi: Renamed from
53685         doc/glibc-functions/iswupper_l.texi.
53686         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53687         doc/glibc-functions/iswxdigit_l.texi.
53688         * doc/posix-functions/isxdigit_l.texi: Renamed from
53689         doc/glibc-functions/isxdigit_l.texi.
53690         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53691         doc/glibc-functions/mbsnrtowcs.texi.
53692         * doc/posix-functions/mkdtemp.texi: Renamed from
53693         doc/glibc-functions/mkdtemp.texi.
53694         * doc/posix-functions/newlocale.texi: Renamed from
53695         doc/glibc-functions/newlocale.texi.
53696         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53697         doc/glibc-functions/nl_langinfo_l.texi.
53698         * doc/posix-functions/open_memstream.texi: Renamed from
53699         doc/glibc-functions/open_memstream.texi.
53700         * doc/posix-functions/opterr.texi: Renamed from
53701         doc/glibc-functions/opterr.texi.
53702         * doc/posix-functions/optind.texi: Renamed from
53703         doc/glibc-functions/optind.texi.
53704         * doc/posix-functions/optopt.texi: Renamed from
53705         doc/glibc-functions/optopt.texi.
53706         * doc/posix-functions/psignal.texi: Renamed from
53707         doc/glibc-functions/psignal.texi.
53708         * doc/posix-functions/scandir.texi: Renamed from
53709         doc/glibc-functions/scandir.texi.
53710         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53711         doc/glibc-functions/sched_get_priority_min.texi.
53712         * doc/posix-functions/signgam.texi: Renamed from
53713         doc/glibc-functions/signgam.texi.
53714         * doc/posix-functions/stpcpy.texi: Renamed from
53715         doc/glibc-functions/stpcpy.texi.
53716         * doc/posix-functions/stpncpy.texi: Renamed from
53717         doc/glibc-functions/stpncpy.texi.
53718         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53719         doc/glibc-functions/strcasecmp_l.texi.
53720         * doc/posix-functions/strcoll_l.texi: Renamed from
53721         doc/glibc-functions/strcoll_l.texi.
53722         * doc/posix-functions/strfmon_l.texi: Renamed from
53723         doc/glibc-functions/strfmon_l.texi.
53724         * doc/posix-functions/strftime_l.texi: Renamed from
53725         doc/glibc-functions/strftime_l.texi.
53726         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53727         doc/glibc-functions/strncasecmp_l.texi.
53728         * doc/posix-functions/strndup.texi: Renamed from
53729         doc/glibc-functions/strndup.texi.
53730         * doc/posix-functions/strnlen.texi: Renamed from
53731         doc/glibc-functions/strnlen.texi.
53732         * doc/posix-functions/strsignal.texi: Renamed from
53733         doc/glibc-functions/strsignal.texi.
53734         * doc/posix-functions/strxfrm_l.texi: Renamed from
53735         doc/glibc-functions/strxfrm_l.texi.
53736         * doc/posix-functions/timer_gettime.texi: Renamed from
53737         doc/glibc-functions/timer_gettime.texi.
53738         * doc/posix-functions/tolower_l.texi: Renamed from
53739         doc/glibc-functions/tolower_l.texi.
53740         * doc/posix-functions/toupper_l.texi: Renamed from
53741         doc/glibc-functions/toupper_l.texi.
53742         * doc/posix-functions/towctrans_l.texi: Renamed from
53743         doc/glibc-functions/towctrans_l.texi.
53744         * doc/posix-functions/towlower_l.texi: Renamed from
53745         doc/glibc-functions/towlower_l.texi.
53746         * doc/posix-functions/towupper_l.texi: Renamed from
53747         doc/glibc-functions/towupper_l.texi.
53748         * doc/posix-functions/uselocale.texi: Renamed from
53749         doc/glibc-functions/uselocale.texi.
53750         * doc/posix-functions/vdprintf.texi: Renamed from
53751         doc/glibc-functions/vdprintf.texi.
53752         * doc/posix-functions/wcpcpy.texi:
53753         Renamed from doc/glibc-functions/wcpcpy.texi.
53754         * doc/posix-functions/wcpncpy.texi: Renamed from
53755         doc/glibc-functions/wcpncpy.texi.
53756         * doc/posix-functions/wcscasecmp.texi: Renamed from
53757         doc/glibc-functions/wcscasecmp.texi.
53758         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53759         doc/glibc-functions/wcscasecmp_l.texi.
53760         * doc/posix-functions/wcscoll_l.texi: Renamed from
53761         doc/glibc-functions/wcscoll_l.texi.
53762         * doc/posix-functions/wcsdup.texi: Renamed from
53763         doc/glibc-functions/wcsdup.texi.
53764         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53765         doc/glibc-functions/wcsncasecmp.texi.
53766         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53767         doc/glibc-functions/wcsncasecmp_l.texi.
53768         * doc/posix-functions/wcsnlen.texi: Renamed from
53769         doc/glibc-functions/wcsnlen.texi.
53770         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53771         doc/glibc-functions/wcsnrtombs.texi.
53772         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53773         doc/glibc-functions/wcsxfrm_l.texi.
53774         * doc/posix-functions/wctrans_l.texi: Renamed from
53775         doc/glibc-functions/wctrans_l.texi.
53776         * doc/posix-functions/wctype_l.texi: Renamed from
53777         doc/glibc-functions/wctype_l.texi.
53778         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53779         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53780         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53781         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53782         these subsections.
53783         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53784         Remove sections.
53785
53786 2008-12-14  Bruno Haible  <bruno@clisp.org>
53787
53788         Update doc for POSIX:2008.
53789         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53790
53791 2008-12-14  Bruno Haible  <bruno@clisp.org>
53792
53793         Update doc for POSIX:2008.
53794         * doc/pastposix-functions/bcmp.texi: Renamed from
53795         doc/posix-functions/bcmp.texi.
53796         * doc/pastposix-functions/bcopy.texi: Renamed from
53797         doc/posix-functions/bcopy.texi.
53798         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53799         doc/posix-functions/bsd_signal.texi.
53800         * doc/pastposix-functions/bzero.texi: Renamed from
53801         doc/posix-functions/bzero.texi.
53802         * doc/pastposix-functions/ecvt.texi: Renamed from
53803         doc/posix-functions/ecvt.texi.
53804         * doc/pastposix-functions/fcvt.texi: Renamed from
53805         doc/posix-functions/fcvt.texi.
53806         * doc/pastposix-functions/ftime.texi: Renamed from
53807         doc/posix-functions/ftime.texi.
53808         * doc/pastposix-functions/gcvt.texi: Renamed from
53809         doc/posix-functions/gcvt.texi.
53810         * doc/pastposix-functions/getcontext.texi: Renamed from
53811         doc/posix-functions/getcontext.texi.
53812         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53813         doc/posix-functions/gethostbyaddr.texi.
53814         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53815         doc/posix-functions/gethostbyname.texi.
53816         * doc/pastposix-functions/getwd.texi: Renamed from
53817         doc/posix-functions/getwd.texi.
53818         * doc/pastposix-functions/h_errno.texi: Renamed from
53819         doc/posix-functions/h_errno.texi.
53820         * doc/pastposix-functions/index.texi: Renamed from
53821         doc/posix-functions/index.texi.
53822         * doc/pastposix-functions/makecontext.texi: Renamed from
53823         doc/posix-functions/makecontext.texi.
53824         * doc/pastposix-functions/mktemp.texi: Renamed from
53825         doc/posix-functions/mktemp.texi.
53826         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53827         doc/posix-functions/pthread_attr_getstackaddr.texi.
53828         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53829         doc/posix-functions/pthread_attr_setstackaddr.texi.
53830         * doc/pastposix-functions/rindex.texi: Renamed from
53831         doc/posix-functions/rindex.texi.
53832         * doc/pastposix-functions/scalb.texi: Renamed from
53833         doc/posix-functions/scalb.texi.
53834         * doc/pastposix-functions/setcontext.texi: Renamed from
53835         doc/posix-functions/setcontext.texi.
53836         * doc/pastposix-functions/swapcontext.texi: Renamed from
53837         doc/posix-functions/swapcontext.texi.
53838         * doc/pastposix-functions/ualarm.texi: Renamed from
53839         doc/posix-functions/ualarm.texi.
53840         * doc/pastposix-functions/usleep.texi: Renamed from
53841         doc/posix-functions/usleep.texi.
53842         * doc/pastposix-functions/vfork.texi: Renamed from
53843         doc/posix-functions/vfork.texi.
53844         * doc/pastposix-functions/wcswcs.texi: Renamed from
53845         doc/posix-functions/wcswcs.texi.
53846         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53847         (Function Substitutes): Update.
53848
53849 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53850
53851         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53852         m4/strerror.m4.
53853
53854 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53855             Bruno Haible  <bruno@clisp.org>
53856
53857         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53858
53859 2008-12-13  Bruno Haible  <bruno@clisp.org>
53860
53861         * modules/strtoull (Depends-on): Remove unistd.
53862
53863 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53864
53865         * modules/strtoull (Depends-on): Add stdlib.
53866
53867 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53868
53869         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53870
53871 2008-12-10  Jim Meyering  <meyering@redhat.com>
53872
53873         gl_ASSERT: don't say assertions are disabled when they're not
53874         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53875         "checking whether to enable assertions... no", when they are in
53876         fact enabled.  This is solely a bug in the output of configure.
53877         In spite of saying "no", NDEBUG was not defined in that case.
53878         Also, as noted by Eric Blake, leave assertions enabled upon
53879         --enable-assert=INVALID.
53880
53881 2008-12-10  Bruno Haible  <bruno@clisp.org>
53882
53883         Change MODULES.html to refer to POSIX:2008 where possible.
53884         * MODULES.html.sh (POSIX2008_URL): New variable.
53885         (posix_headers): Remove sys/timeb, ucontext.
53886         (posix2001_headers): New variable.
53887         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53888         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53889         index, makecontext, mktemp, pthread_attr_getstackaddr,
53890         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53891         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53892         (posix2001_functions): New variable.
53893         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53894         otherwise.
53895
53896 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53897
53898         add missing include to parse-duration.c
53899         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53900         * modules/parse-duration (Depends-on): Add xalloc.
53901
53902         fix sed script reading maint.mk
53903         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53904         (syntax-check-rules): Use it.
53905
53906 2008-12-09  Bruno Haible  <bruno@clisp.org>
53907
53908         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53909         MacOS X 10.4/PowerPC.
53910         Reported by Simon Josefsson.
53911
53912 2008-12-08  Jim Meyering  <meyering@redhat.com>
53913
53914         work around mingw's lack of some S_IF definitions
53915         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53916         Reported by Simon Josefsson.
53917
53918 2008-12-08  Bruno Haible  <bruno@clisp.org>
53919
53920         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53921         applied to variables. Needed on MacOS X 10.4/PowerPC.
53922         Reported by Simon Josefsson.
53923
53924 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53925         and Eric Blake  <ebb9@byu.net>
53926
53927         assert: honor --enable-assert
53928         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53929         order to honor --enable-assert, rather than treating it as a
53930         synonym for --disable-assert.
53931
53932 2008-12-08  Jim Meyering  <meyering@redhat.com>
53933
53934         * lib/posixtm.c: Remove now-useless declaration of mktime.
53935
53936         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53937
53938 2008-12-07  Bruno Haible  <bruno@clisp.org>
53939
53940         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53941         test_once): Mark functions as static.
53942         * tests/test-tls.c (test_tls): Likewise.
53943
53944 2008-12-07  Bruno Haible  <bruno@clisp.org>
53945
53946         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53947         iconv_register_autodetect.
53948
53949 2008-12-07  Jim Meyering  <meyering@redhat.com>
53950
53951         posixtm.c: avoid a warning
53952         * lib/posixtm.c (posixtime): Don't initialize tm0.
53953         It's no longer needed to placate gcc4's -Wuninitialized,
53954         and the attempt to placate would elicit a new warning.
53955
53956         unicodeio.c: mark unused parameters
53957         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53958         (fallback_failure_callback): Likewise.
53959
53960 2008-12-07  Bruno Haible  <bruno@clisp.org>
53961
53962         * gnulib-tool (func_create_testdir): When building the tests
53963         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53964         Reported by Simon Josefsson.
53965
53966 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53967
53968         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53969
53970 2008-12-06  Bruno Haible  <bruno@clisp.org>
53971
53972         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53973         Suggested by Eric Blake.
53974
53975 2008-12-06  Bruno Haible  <bruno@clisp.org>
53976
53977         Fix a c-stack test failure on MacOS X.
53978         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53979         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53980         handler for SIGBUS as well.
53981         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53982         install a signal handler for SIGBUS as well.
53983         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53984
53985 2008-12-06  Bruno Haible  <bruno@clisp.org>
53986
53987         Advocacy documentation.
53988         * doc/gnulib-intro.texi (Benefits): New section.
53989         * doc/gnulib.texi: Update.
53990
53991 2008-12-06  Bruno Haible  <bruno@clisp.org>
53992
53993         Document the 'manywarnings' module.
53994         * doc/manywarnings.texi: New file.
53995         * doc/gnulib.texi: Include it.
53996
53997 2008-12-05  Eric Blake  <ebb9@byu.net>
53998
53999         tests: silence some gcc warnings
54000         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54001         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54002         type mismatches.
54003
54004 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54005             Bruno Haible  <bruno@clisp.org>
54006
54007         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54008
54009 2008-11-29  Jim Meyering  <meyering@redhat.com>
54010
54011         unicodeio.c: mark unused parameters
54012         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54013         (fallback_failure_callback): Likewise.
54014
54015         fts: fix a thinko
54016         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54017         (set_stat_type): Return S_IF*-valued "type" directly.
54018         Prompted by James Youngman's spotting a related bug.
54019         Confirmed by further testing through find.
54020
54021         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54022         * lib/fts.c (D_TYPE): Define.
54023         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54024         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54025         (s_ifmt_shift_bits): New function.
54026         (set_stat_type): New function.
54027         (fts_build): When not calling fts_stat, call set_stat_type
54028         to propagate dirent.d_type info to fts_read caller.
54029         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54030         fts_statp->st_mode type information may be valid.
54031
54032 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54033
54034         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54035         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54036         <sds@gnu.org>.
54037
54038 2008-11-20  Bruno Haible  <bruno@clisp.org>
54039
54040         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54041         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54042         INCLUDE_NEXT.
54043         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54044         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54045         * modules/math (Makefile.am): Substitute
54046         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54047         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54048
54049 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54050             Bruno Haible  <bruno@clisp.org>
54051
54052         * lib/stdint.in.h: Define all type macros so that their expansion is
54053         a single typedef'ed token. Fixes a compilation failure in Boost which
54054         does "using ::int8_t;".
54055
54056 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54057
54058         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54059         gl_MANYWARN_ALL_GCC.
54060         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54061         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54062         * modules/manywarnings: New file.
54063         * MODULES.html.sh: Mention manywarnings module.
54064
54065 2008-11-18  Bruno Haible  <bruno@clisp.org>
54066
54067         * doc/gnulib-tool.texi (Unit tests): New section.
54068
54069 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54070
54071         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54072         paths like 'lib/po/foo.po'.
54073
54074 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54075
54076         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54077         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54078
54079 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54080
54081         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54082         parameter works.
54083
54084 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54085
54086         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54087
54088 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54089
54090         * modules/parse-duration-tests: New file.
54091         * tests/test-parse-duration.sh: New file.
54092         * tests/test-parse-duration.c: New file.
54093
54094         New module 'parse-duration'.
54095         * lib/parse-duration.h: New file.
54096         * lib/parse-duration.c: New file.
54097         * modules/parse-duration: New file.
54098
54099 2008-11-17  Bruno Haible  <bruno@clisp.org>
54100
54101         * tests/test-select-out.sh: Comment out the first pipe test.
54102         Reported by Simon Josefsson.
54103
54104 2008-11-17  Bruno Haible  <bruno@clisp.org>
54105
54106         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54107         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54108         gl_HOSTENT.
54109
54110 2008-11-17  Bruno Haible  <bruno@clisp.org>
54111
54112         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54113         -lnetwork and -lnet. Needed for Haiku and BeOS.
54114
54115 2008-11-16  Bruno Haible  <bruno@clisp.org>
54116
54117         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54118
54119 2008-11-16  Bruno Haible  <bruno@clisp.org>
54120
54121         Avoid test failure on Haiku.
54122         * tests/test-fsync.c: Include <errno.h>.
54123         (main): Don't require that fsync (0) fails.
54124
54125 2008-11-15  Bruno Haible  <bruno@clisp.org>
54126
54127         New module 'hostent'.
54128         * modules/hostent: New file.
54129         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54130
54131 2008-11-15  Bruno Haible  <bruno@clisp.org>
54132
54133         New module 'servent'.
54134         * modules/servent: New file.
54135         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54136
54137 2008-11-15  Bruno Haible  <bruno@clisp.org>
54138
54139         Avoid generating same test program with two different rules.
54140         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54141         test-frexp to test-frexp-nolibm.
54142         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54143         test-frexpl to test-frexpl-nolibm.
54144
54145 2008-11-15  Bruno Haible  <bruno@clisp.org>
54146
54147         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54148         $(FREXPL_LIBM).
54149
54150 2008-11-15  Bruno Haible  <bruno@clisp.org>
54151
54152         * lib/netdb.in.h: Activate the definitions also when the system's
54153         <netdb.h> has 'struct addrinfo'.
54154         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54155         EAI_OVERFLOW or AI_NUMERICSERV.
54156         * doc/posix-headers/netdb.texi: Document the problem.
54157
54158 2008-11-15  Bruno Haible  <bruno@clisp.org>
54159
54160         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54161
54162         Make the 'sched' module work on platforms where <sched.h> exists but
54163         is incomplete (such as Haiku).
54164         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54165         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54166         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54167         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54168         HAVE_STRUCT_SCHED_PARAM.
54169         * modules/sched (Depends-on): Add include_next.
54170         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54171         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54172         * doc/posix-headers/sched.texi: Document the issue.
54173
54174 2008-11-13  Jim Meyering  <meyering@redhat.com>
54175
54176         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54177         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54178         test would fail due to the difference in the Report bugs to ...
54179         line.  The expected address is empty, "<>", while the actual
54180         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54181
54182 2008-11-12  Bruno Haible  <bruno@clisp.org>
54183
54184         lstat: don't compile lstat.c on systems lacking lstat
54185         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54186         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54187         Reported by Daniel P. Berrange via Jim Meyering.
54188
54189 2008-11-12  Jim Meyering  <meyering@redhat.com>
54190
54191         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54192
54193 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54194
54195         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54196         instead.
54197
54198 2008-11-12  Bruno Haible  <bruno@clisp.org>
54199
54200         * lib/unicodeio.c: Include unistr.h.
54201         (utf8_wctomb): Remove function.
54202         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54203
54204 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54205
54206         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54207         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54208         <bruno@clisp.org>.
54209         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54210
54211 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54212
54213         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54214         * doc/gnulib.texi: Add section for warnings.
54215
54216 2008-11-11  Bruno Haible  <bruno@clisp.org>
54217
54218         * lib/sockets.h: Add a comment.
54219
54220 2008-11-11  Karl Berry  <karl@gnu.org>
54221
54222         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54223
54224 2008-11-11  Eric Blake  <ebb9@byu.net>
54225
54226         fdl.texi: avoid git symlinks
54227         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54228
54229 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54230
54231         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54232
54233 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54234
54235         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54236         (gl_WARN_ADD): Substitute $2 if literal.
54237
54238 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54239
54240         * m4/warning.m4: Remove.
54241
54242 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54243
54244         * m4/warnings.m4: Almost complete rewrite. :-)
54245
54246 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54247
54248         * modules/warnings: New module.
54249         * m4/warnings.m4: New file.
54250         * MODULES.html.sh: Mention warnings module.
54251         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54252         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54253
54254 2008-11-10  Eric Blake  <ebb9@byu.net>
54255
54256         fdl.texi: make a symlink to the latest version
54257         * doc/standards.texi: Revert today's earlier change.
54258         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54259         * doc/fdl.texi: ...and replace this with a symlink to the newer
54260         fdl-1.3.texi.
54261
54262 2008-11-10  Bruno Haible  <bruno@clisp.org>
54263
54264         * tests/test-select-fd.c (main): Accept the result file name as fourth
54265         argument.
54266         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54267         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54268
54269 2008-11-10  Bruno Haible  <bruno@clisp.org>
54270
54271         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54272         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54273         as autoconf-substituted macros.
54274         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54275         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54276         gl_NETDB_H_DEFAULTS. Set these variables.
54277         * modules/netdb (Makefile.am): Substitute these variables.
54278
54279 2008-11-10  Eric Blake  <ebb9@byu.net>
54280
54281         standards.texi: include correct file for FDL 1.3
54282         * doc/standards.texi (GNU Free Documentation License): Change
54283         include file to pull in FDL 1.3, not 1.2.
54284
54285         fdl.texi: revert accidental change to license
54286         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54287
54288 2008-11-10  Bruno Haible  <bruno@clisp.org>
54289
54290         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54291         cross-compiling guesses also when the native compile gives no result.
54292
54293 2008-11-10  Bruno Haible  <bruno@clisp.org>
54294
54295         * lib/spawni.c (__spawni): Force variable into the stack.
54296
54297 2008-11-10  Bruno Haible  <bruno@clisp.org>
54298
54299         Add support for Haiku.
54300         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54301         glibc and BeOS, but also on Haiku.
54302         * lib/fpurge.c (fpurge): Likewise.
54303         * lib/freadable.c (freadable): Likewise.
54304         * lib/freadahead.c (freadahead): Likewise.
54305         * lib/freading.c (freading): Likewise.
54306         * lib/freadptr.c (freadptr): Likewise.
54307         * lib/freadseek.c (freadptrinc): Likewise.
54308         * lib/fseeko.c (rpl_fseeko): Likewise.
54309         * lib/fseterr.c (fseterr): Likewise.
54310         * lib/fwritable.c (fwritable): Likewise.
54311         * lib/fwriting.c (fwriting): Likewise.
54312         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54313
54314 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54315
54316         * lib/config.charset: Treat Haiku like BeOS.
54317
54318 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54319
54320         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54321         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54322
54323 2008-11-08  Bruno Haible  <bruno@clisp.org>
54324
54325         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54326         AC_CACHE_CHECK.
54327
54328 2008-11-08  Bruno Haible  <bruno@clisp.org>
54329
54330         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54331
54332 2008-11-08  Bruno Haible  <bruno@clisp.org>
54333
54334         * tests/test-select-fd.c: New file.
54335         * tests/test-select-in.sh: New file.
54336         * tests/test-select-out.sh: New file.
54337         * tests/test-select-stdin.c: New file.
54338         * modules/select-tests (Files): Add the new files.
54339         (Depends-on): Add gettimeofday.
54340         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54341         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54342         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54343
54344 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54345             Bruno Haible  <bruno@clisp.org>
54346
54347         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54348
54349 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54350
54351         * build-aux/pmccabe2html: Added support for C++ source files.
54352
54353 2008-11-05  Ben Pfaff  <blp@gnu.org>
54354
54355         Fix lib/close.c build on Windows.
54356         * modules/close (Files): Add lib/w32sock.h.
54357
54358 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54359
54360         Accept Bison's NEWS format.
54361         * build-aux/announce-gen (print_news_deltas): Tweak
54362         $re_prefix.
54363
54364 2008-11-04  Bruno Haible  <bruno@clisp.org>
54365
54366         * modules/random_r (Maintainer): Add glibc.
54367
54368 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54369
54370         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54371         by karl@freefriends.org (Karl Berry).
54372         * doc/alloca.texi: Likewise.
54373         * doc/c-ctype.texi: Likewise.
54374         * doc/c-strcase.texi: Likewise.
54375         * doc/c-strcaseeq.texi: Likewise.
54376         * doc/c-strcasestr.texi: Likewise.
54377         * doc/c-strstr.texi: Likewise.
54378         * doc/c-strtod.texi: Likewise.
54379         * doc/c-strtold.texi: Likewise.
54380         * doc/ctime.texi: Likewise.
54381         * doc/error.texi: Likewise.
54382         * doc/fdl.texi: Likewise.
54383         * doc/gcd.texi: Likewise.
54384         * doc/getdate.texi: Likewise.
54385         * doc/gnulib-intro.texi: Likewise.
54386         * doc/gnulib-tool.texi: Likewise.
54387         * doc/gnulib.texi: Likewise.
54388         * doc/inet_ntoa.texi: Likewise.
54389         * doc/maintain.texi: Likewise.
54390         * doc/make-stds.texi: Likewise.
54391         * doc/quote.texi: Likewise.
54392         * doc/regexprops-generic.texi: Likewise.
54393         * doc/standards.texi: Likewise.
54394         * doc/verify.texi: Likewise.
54395         * doc/visibility.texi: Likewise.
54396         * doc/gnulib.texi (GNU Free Documentation License): Include
54397         fdl-1.3.texi instead of fdl.texi.
54398
54399 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54400
54401         * doc/fdl-1.3.texi: New file, from
54402         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54403         * modules/fdl-1.3: Add.
54404         * MODULES.html.sh: Add fdl-1.3.
54405
54406 2008-11-03  Bruno Haible  <bruno@clisp.org>
54407
54408         Make determination of absolute name of header file work with AIX xlc.
54409         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54410         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54411         preprocessing.
54412         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54413         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54414
54415 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54416
54417         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54418         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54419         <ludo@gnu.org>.
54420
54421 2008-11-02  Bruno Haible  <bruno@clisp.org>
54422
54423         Mark 'strpbrk' obsolete.
54424         * modules/strpbrk (Status, Notice): New sections.
54425         * modules/strtok_r (Depends-on): Add strpbrk.
54426
54427 2008-11-02  Bruno Haible  <bruno@clisp.org>
54428
54429         Mark 'strdup' obsolete.
54430         * modules/strdup (Status, Notice): New sections.
54431         * modules/findprog (Depends-on): Add strdup.
54432         * modules/getaddrinfo (Depends-on): Likewise.
54433         * modules/localename (Depends-on): Likewise.
54434         * modules/relocatable-lib (Depends-on): Likewise.
54435         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54436         * modules/relocatable-prog (Depends-on): Likewise.
54437         * modules/trim (Depends-on): Likewise.
54438         * modules/unictype/gen-ctype (Depends-on): Likewise.
54439         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54440
54441 2008-11-02  Bruno Haible  <bruno@clisp.org>
54442
54443         Mark 'strcspn' obsolete.
54444         * modules/strcspn (Status, Notice): New sections.
54445
54446 2008-11-02  Bruno Haible  <bruno@clisp.org>
54447
54448         Mark 'rmdir' obsolete.
54449         * modules/rmdir (Status, Notice): New sections.
54450         * modules/clean-temp (Depends-on): Add rmdir.
54451         * modules/openat (Depends-on): Likewise.
54452
54453 2008-11-02  Bruno Haible  <bruno@clisp.org>
54454
54455         Mark 'raise' obsolete.
54456         * modules/raise (Status, Notice): New sections.
54457         (Include): Specify <signal.h>.
54458         * modules/stdio (Depends-on): Add raise.
54459         * modules/write (Depends-on): Likewise.
54460
54461 2008-11-02  Bruno Haible  <bruno@clisp.org>
54462
54463         Mark 'memset' obsolete.
54464         * modules/memset (Status, Notice): New sections.
54465
54466 2008-11-02  Bruno Haible  <bruno@clisp.org>
54467
54468         Mark 'memmove' obsolete.
54469         * modules/memmove (Status, Notice): New sections.
54470         * modules/argp (Depends-on): Add memmove.
54471         * modules/argz (Depends-on): Likewise.
54472         * modules/canonicalize (Depends-on): Likewise.
54473         * modules/canonicalize-lgpl (Depends-on): Likewise.
54474         * modules/fts (Depends-on): Likewise.
54475         * modules/getcwd (Depends-on): Likewise.
54476         * modules/human (Depends-on): Likewise.
54477         * modules/regex (Depends-on): Likewise.
54478         * modules/striconveh (Depends-on): Likewise.
54479         * modules/trim (Depends-on): Likewise.
54480         * modules/unistr/u8-move (Depends-on): Likewise.
54481         * modules/unistr/u16-move (Depends-on): Likewise.
54482         * modules/unistr/u32-move (Depends-on): Likewise.
54483
54484 2008-11-02  Bruno Haible  <bruno@clisp.org>
54485
54486         Mark 'memcpy' obsolete.
54487         * modules/memcpy (Status, Notice): New sections.
54488
54489 2008-11-02  Bruno Haible  <bruno@clisp.org>
54490
54491         Mark 'memcmp' obsolete.
54492         * modules/memcmp (Status, Notice): New sections.
54493         * modules/argmatch (Depends-on): Add memchr.
54494         * modules/backupfile (Depends-on): Likewise.
54495         * modules/c-strcasestr (Depends-on): Likewise.
54496         * modules/crypto/des (Depends-on): Likewise.
54497         * modules/csharpcomp (Depends-on): Likewise.
54498         * modules/fnmatch (Depends-on): Likewise.
54499         * modules/git-merge-changelog (Depends-on): Likewise.
54500         * modules/isnand (Depends-on): Likewise.
54501         * modules/isnand-nolibm (Depends-on): Likewise.
54502         * modules/isnanf (Depends-on): Likewise.
54503         * modules/isnanf-nolibm (Depends-on): Likewise.
54504         * modules/isnanl (Depends-on): Likewise.
54505         * modules/isnanl-nolibm (Depends-on): Likewise.
54506         * modules/mbchar (Depends-on): Likewise.
54507         * modules/memcoll (Depends-on): Likewise.
54508         * modules/quotearg (Depends-on): Likewise.
54509         * modules/regex (Depends-on): Likewise.
54510         * modules/relocatable-prog (Depends-on): Likewise.
54511         * modules/same (Depends-on): Likewise.
54512         * modules/signbit (Depends-on): Likewise.
54513         * modules/strcasestr-simple (Depends-on): Likewise.
54514         * modules/unictype/gen-ctype (Depends-on): Likewise.
54515         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54516         * modules/uniname/uniname (Depends-on): Likewise.
54517         * modules/unistr/u8-cmp (Depends-on): Likewise.
54518
54519 2008-11-02  Bruno Haible  <bruno@clisp.org>
54520
54521         Mark 'memchr' obsolete.
54522         * modules/memchr (Status, Notice): New sections.
54523         * modules/argp (Depends-on): Add memchr.
54524         * modules/base64 (Depends-on): Likewise.
54525         * modules/c-strcasestr (Depends-on): Likewise.
54526         * modules/chdir-long (Depends-on): Likewise.
54527         * modules/fnmatch (Depends-on): Likewise.
54528         * modules/getsubopt (Depends-on): Likewise.
54529         * modules/git-merge-changelog (Depends-on): Likewise.
54530         * modules/glob (Depends-on): Likewise.
54531         * modules/strcasestr-simple (Depends-on): Likewise.
54532         * modules/strnlen (Depends-on): Likewise.
54533
54534 2008-11-02  Bruno Haible  <bruno@clisp.org>
54535
54536         Mark 'atexit' obsolete.
54537         * modules/atexit (Status, Notice): New sections.
54538         * modules/chdir-long (Depends-on): Add atexit.
54539         * modules/wait-process (Depends-on): Likewise.
54540
54541 2008-11-02  Bruno Haible  <bruno@clisp.org>
54542
54543         * gnulib-tool: New option --with-obsolete.
54544         (func_usage): Document it.
54545         (func_modules_transitive_closure): Drop obsolete dependencies if
54546         incobsolete is not true.
54547         (func_import): Read and save the incobsolete variable to the cache.
54548
54549 2008-11-02  Bruno Haible  <bruno@clisp.org>
54550
54551         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54552         * gnulib-tool: New option --extract-status.
54553         (func_usage): Document it.
54554         (sed_extract_prog): Recognize it.
54555         (func_get_status): New function.
54556
54557 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54558
54559         * modules/sockets (License): Change from LGPL to LGPLv2+.
54560
54561 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54562
54563         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54564
54565 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54566
54567         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54568         Mention times and sys_times.
54569         * modules/sys_times, modules/sys_times-tests: New modules.
54570         * modules/times, modules/times-tests: Likewise
54571         * m4/sys_times_h.m4: New file.
54572         * lib/sys_times.in.h: Likewise
54573         * lib/times.c: Likewise.
54574         * tests/test-sys_times.c: Likewise.
54575         * tests/test-times.c: Likewise.
54576         * doc/posix-headers/sys_times.texi: Update.
54577         * doc/posix-functions/times.texi: Update.
54578
54579 2008-10-28  Jim Meyering  <meyering@redhat.com>
54580
54581         * modules/tempname (Depends-on): Add lstat.
54582
54583         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54584
54585 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54586
54587         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54588         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54589         using idiom used elsewhere in gnulib.
54590
54591 2008-10-27  Jim Meyering  <meyering@redhat.com>
54592
54593         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54594
54595 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54596
54597         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54598         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54599         programs.
54600         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54601
54602 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54603
54604         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54605
54606 2008-10-27  Bruno Haible  <bruno@clisp.org>
54607
54608         * tests/test-lstat.c: Include <stdio.h>.
54609
54610 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54611
54612         * modules/lstat-tests: New module.
54613         * tests/test-lstat.c: New file.
54614
54615 2008-10-26  Jim Meyering  <meyering@redhat.com>
54616
54617         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54618
54619 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54620             Bruno Haible  <bruno@clisp.org>
54621
54622         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54623         * modules/configmake (Include): Add a note that the include must come
54624         after all system headers.
54625         * lib/javaversion.c: Include configmake.h after all other includes.
54626
54627 2008-10-26  Bruno Haible  <bruno@clisp.org>
54628
54629         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54630         HAVE_STRUCT_RANDOM_DATA to 1.
54631         (gl_STDLIB_H): Simplify.
54632
54633 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54634
54635         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54636         substitute HAVE_STRUCT_RANDOM_DATA.
54637         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54638         random_data.
54639         * modules/stdlib (Makefile.am): Substitute
54640         HAVE_STRUCT_RANDOM_DATA.
54641
54642 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54643
54644         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54645         * doc/gnulib-intro.texi (Copyright): Likewise.
54646
54647 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54648
54649         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54650         findings.
54651
54652 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54653             Bruno Haible  <bruno@clisp.org>
54654
54655         * lib/unistd.in.h: Include <winsock2.h>.
54656         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54657         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54658         Provide dummy declarations.
54659         (gethostname): Override.
54660         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54661         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54662         gl_PREREQ_SYS_H_WINSOCK2.
54663         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54664         * doc/posix-functions/gethostname.texi: More details.
54665
54666 2008-10-25  Bruno Haible  <bruno@clisp.org>
54667
54668         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54669         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54670         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54671
54672         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54673         here ...
54674         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54675         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54676         gl_UNISTD_H_DEFAULTS.
54677
54678 2008-10-25  Eric Blake  <ebb9@byu.net>
54679
54680         signbit: avoid spurious compiler failure
54681         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54682         declarations inside function.
54683
54684 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54685             Bruno Haible  <bruno@clisp.org>
54686
54687         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54688         * modules/random_r (Depends-on): Add stdint.
54689
54690 2008-10-24  Bruno Haible  <bruno@clisp.org>
54691
54692         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54693         Eggert.
54694         * modules/strerror (License): Likewise.
54695
54696 2008-10-24  Jim Meyering  <meyering@redhat.com>
54697
54698         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54699         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54700
54701 2008-10-24  Eric Blake  <ebb9@byu.net>
54702
54703         getgroups: fix compilation when getgroups is available
54704         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54705         but with <config.h> override of getgroups disabled.
54706
54707 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54708
54709         * doc/gnulib.texi (Header files): Add note about C++ problems.
54710         Explained by Bruno Haible <bruno@clisp.org>.
54711
54712 2008-10-23  Bruno Haible  <bruno@clisp.org>
54713
54714         Define a dummy SA_NODEFER macro on Interix.
54715         * lib/signal.in.h (SA_NODEFER): Define fallback.
54716         Reported by Aleksey Cheusov <cheusov@tut.by> via
54717         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54718
54719 2008-10-23  Bruno Haible  <bruno@clisp.org>
54720
54721         * modules/freadahead (License): Change to LGPLv2+.
54722         Suggested by Simon Josefsson.
54723
54724 2008-10-23  Jim Meyering  <meyering@redhat.com>
54725
54726         random_r: new module
54727         * modules/random_r: New file.
54728         * m4/random_r.m4: New file.
54729         * lib/random_r.c: New file, from glibc.
54730         * modules/random_r-tests: New file.
54731         * tests/test-random_r.c: New file.
54732         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54733          Declare.
54734         (RAND_MAX): Define.
54735         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54736         * modules/stdlib: Substitute them, too.
54737         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54738         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54739         * doc/glibc-functions/random_r.texi: Likewise.
54740         * doc/glibc-functions/setstate_r.texi: Likewise.
54741         * doc/glibc-functions/srandom_r.texi: Likewise.
54742         * config/srclist.txt: Mention it.
54743
54744 2008-10-23  David Lutterkort  <lutter@redhat.com>
54745
54746         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54747         link requirement
54748
54749 2008-10-23  Jim Meyering  <meyering@redhat.com>
54750
54751         selinux-h: mark parameters of stub functions as intentionally unused
54752         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54753         * lib/se-context.in.h: Likewise.
54754
54755 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54756
54757         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54758
54759 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54760
54761         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54762
54763 2008-10-22  Eric Blake  <ebb9@byu.net>
54764
54765         glthread/thread: avoid compiler warning
54766         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54767         Add unreachable abort to silence compiler.
54768
54769 2008-10-22  Eric Blake  <ebb9@byu.net>
54770
54771         netdb: also supply struct addrinfo for cygwin 1.5.x
54772         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54773         older cygwin.
54774         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54775         cygwin.
54776         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54777
54778 2008-10-22  Bruno Haible  <bruno@clisp.org>
54779
54780         * users.txt: Update entry about pspp.
54781
54782 2008-10-21  Bruno Haible  <bruno@clisp.org>
54783
54784         Simplification.
54785         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54786         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54787
54788         Simplification.
54789         * lib/ioctl.c (ioctl): Don't undefine.
54790         * lib/socket.c (socket): Don't undefine.
54791
54792         Remove unused module indicator macros.
54793         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54794         GNULIB_$1 as a C macro.
54795
54796         * doc/posix-functions/close.texi: Undo last change.
54797         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54798         Windows platforms.
54799
54800 2008-10-21  Bruno Haible  <bruno@clisp.org>
54801
54802         Add gethostname() declaration to <unistd.h>.
54803         * lib/unistd.in.h (gethostname): New declaration.
54804         * lib/gethostname.c: Include <unistd.h>.
54805         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54806         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54808         and HAVE_GETHOSTNAME.
54809         * modules/gethostname (Depends-on): Add unistd.
54810         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54811         (Include): Specify <unistd.h>.
54812         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54813         HAVE_GETHOSTNAME.
54814         * tests/test-gethostname.c: Include <unistd.h> first.
54815
54816 2008-10-21  Bruno Haible  <bruno@clisp.org>
54817
54818         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54819         * modules/select-tests (Depends-on): Likewise.
54820         Reported by Simon Josefsson.
54821
54822 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54823
54824         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54825         * lib/accept.c: New file, based on winsock.c.
54826         * lib/bind.c: New file, based on winsock.c.
54827         * lib/connect.c: New file, based on winsock.c.
54828         * lib/getpeername.c: New file, based on winsock.c.
54829         * lib/getsockname.c: New file, based on winsock.c.
54830         * lib/getsockopt.c: New file, based on winsock.c.
54831         * lib/ioctl.c: New file, based on winsock.c.
54832         * lib/listen.c: New file, based on winsock.c.
54833         * lib/recv.c: New file, based on winsock.c.
54834         * lib/recvfrom.c: New file, based on winsock.c.
54835         * lib/send.c: New file, based on winsock.c.
54836         * lib/sendto.c: New file, based on winsock.c.
54837         * lib/setsockopt.c: New file, based on winsock.c.
54838         * lib/shutdown.c: New file, based on winsock.c.
54839         * lib/socket.c: New file, based on winsock.c.
54840         * lib/w32sock.h: New file, based on winsock.c.
54841         * lib/winsock.c: Remove file.
54842         * modules/accept: Likewise.
54843         * modules/bind: Likewise.
54844         * modules/connect: Likewise.
54845         * modules/getpeername: Likewise.
54846         * modules/getsockname: Likewise.
54847         * modules/getsockopt: Likewise.
54848         * modules/ioctl: Likewise.
54849         * modules/listen: Likewise.
54850         * modules/recv: Likewise.
54851         * modules/recvfrom: Likewise.
54852         * modules/send: Likewise.
54853         * modules/sendto: Likewise.
54854         * modules/setsockopt: Likewise.
54855         * modules/shutdown: Likewise.
54856         * modules/socket: Use socket.c instead of winsock.c.
54857         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54858         * doc/posix-functions/accept.texi: Doc fix.
54859         * doc/posix-functions/bind.texi: Doc fix.
54860         * doc/posix-functions/close.texi: Doc fix.
54861         * doc/posix-functions/connect.texi: Doc fix.
54862         * doc/posix-functions/getpeername.texi: Doc fix.
54863         * doc/posix-functions/getsockname.texi: Doc fix.
54864         * doc/posix-functions/getsockopt.texi: Doc fix.
54865         * doc/posix-functions/ioctl.texi: Doc fix.
54866         * doc/posix-functions/listen.texi: Doc fix.
54867         * doc/posix-functions/recv.texi: Doc fix.
54868         * doc/posix-functions/recvfrom.texi: Doc fix.
54869         * doc/posix-functions/send.texi: Doc fix.
54870         * doc/posix-functions/sendto.texi: Doc fix.
54871         * doc/posix-functions/setsockopt.texi: Doc fix.
54872         * doc/posix-functions/shutdown.texi: Doc fix.
54873         * doc/posix-functions/socket.texi: Doc fix.
54874
54875 2008-10-20  Bruno Haible  <bruno@clisp.org>
54876
54877         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54878         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54879         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54880         as an alias for SIGABRT.
54881         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54882         (sigaction): Map it to SIGABRT.
54883         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54884
54885 2008-10-20  Bruno Haible  <bruno@clisp.org>
54886
54887         * lib/fts.c: Don't include lstat.h.
54888         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54889
54890         Move the lstat() declaration to <sys/stat.h>.
54891         * lib/lstat.h: Remove file.
54892         * lib/sys_stat.in.h: Add special invocation convention.
54893         (lstat): New declaration.
54894         * lib/lstat.c (orig_lstat): New function.
54895         (rpl_lstat): Use orig_lstat instead of lstat.
54896         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54897         AC_C_INLINE. Set REPLACE_LSTAT.
54898         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54899         and REPLACE_LSTAT.
54900         * modules/lstat (Files): Remove lib/lstat.h.
54901         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54902         (Include): Specify <sys/stat.h> instead of lstat.h.
54903         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54904         REPLACE_LSTAT.
54905         * NEWS: Mention the change.
54906
54907 2008-10-20  Bruno Haible  <bruno@clisp.org>
54908
54909         * modules/posix_spawn-tests: New file.
54910         * tests/test-posix_spawn3.c: New file.
54911
54912 2008-10-20  Bruno Haible  <bruno@clisp.org>
54913
54914         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54915         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54916         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54917         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54918         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54919
54920 2008-10-20  Bruno Haible  <bruno@clisp.org>
54921
54922         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54923         of posix_spawn on AIX 5.3.
54924
54925 2008-10-20  Bruno Haible  <bruno@clisp.org>
54926
54927         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54928
54929 2008-10-20  Bruno Haible  <bruno@clisp.org>
54930
54931         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54932         of AC_LANG_PROGRAM.
54933
54934 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54935
54936         * lib/netdb.in.h: Don't define GNU specific constants until they
54937         are supported or needed.  Reported by Bruno Haible
54938         <bruno@clisp.org>.
54939
54940 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54941
54942         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54943
54944 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54945
54946         * lib/getaddrinfo.h: Remove file.
54947         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54948         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54949         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54950         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54951         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54952         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54953         * tests/test-getaddrinfo.c: Likewise.
54954         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54955         * NEWS: Mention change.
54956
54957 2008-10-19  Bruno Haible  <bruno@clisp.org>
54958
54959         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54960
54961 2008-10-19  Bruno Haible  <bruno@clisp.org>
54962
54963         * lib/wait-process.c: Include simply <sys/wait.h>.
54964         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54965         WIFSTOPPED): Remove fallback definitions.
54966         * modules/wait-process (Depends-on): Add sys_wait.
54967
54968         New module 'sys_wait'.
54969         * modules/sys_wait: New file.
54970         * lib/sys_wait.in.h: New file, partially copied from
54971         lib/wait-process.c.
54972         * m4/sys_wait_h.m4: New file.
54973         * doc/posix-headers/sys_wait.texi: Mention the new module.
54974
54975 2008-10-19  Bruno Haible  <bruno@clisp.org>
54976
54977         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54978
54979 2008-10-19  Bruno Haible  <bruno@clisp.org>
54980
54981         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54982         * lib/wait-process.c (WAIT_T): Remove type.
54983         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54984         (wait_subprocess): Update.
54985
54986 2008-10-19  Bruno Haible  <bruno@clisp.org>
54987
54988         New module 'atoll'.
54989         * modules/atoll: New file.
54990         * lib/stdlib.in.h (atoll): New declaration.
54991         * lib/atoll.c: New file, from glibc with modifications.
54992         * m4/atoll.m4: New file.
54993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54994         HAVE_ATOLL.
54995         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54996         * doc/posix-functions/atoll.texi: Mention the new module.
54997
54998 2008-10-19  Bruno Haible  <bruno@clisp.org>
54999
55000         Add strtoull() declaration to <stdlib.h>.
55001         * lib/stdlib.in.h (strtoull): New declaration.
55002         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55003         Set HAVE_STRTOULL.
55004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55005         HAVE_STRTOULL.
55006         * modules/strtoull (Depends-on): Add stdlib.
55007         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55008         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55009         HAVE_STRTOULL.
55010
55011 2008-10-19  Bruno Haible  <bruno@clisp.org>
55012
55013         Add strtoll() declaration to <stdlib.h>.
55014         * lib/stdlib.in.h (strtoll): New declaration.
55015         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55016         Set HAVE_STRTOLL.
55017         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55018         HAVE_STRTOLL.
55019         * modules/strtoll (Depends-on): Add stdlib.
55020         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55021         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55022
55023 2008-10-19  Bruno Haible  <bruno@clisp.org>
55024
55025         * modules/bcopy (Depends-on): Add strings.
55026         (Include): Specify <strings.h>.
55027
55028 2008-10-19  Bruno Haible  <bruno@clisp.org>
55029
55030         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55031
55032 2008-10-19  Bruno Haible  <bruno@clisp.org>
55033
55034         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55035         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55036         mingw.
55037
55038 2008-10-19  Bruno Haible  <bruno@clisp.org>
55039
55040         * lib/atanl.c: Don't include isnanl.h.
55041         * lib/cosl.c: Likewise.
55042         * lib/ldexpl.c: Likewise.
55043         * lib/logl.c: Likewise.
55044         * lib/sinl.c: Likewise.
55045         * lib/sqrtl.c: Likewise.
55046         * lib/tanl.c: Likewise.
55047
55048         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55049         * lib/isnanf.h: Remove file.
55050         * lib/isnand.h: Remove file.
55051         * lib/isnanl.h: Remove file.
55052         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55053         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55054         macros.
55055         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55056         HAVE_ISNANF, don't define it as a C macro.
55057         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55058         HAVE_ISNAND, don't define it as a C macro.
55059         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55060         HAVE_ISNANL, don't define it as a C macro.
55061         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55062         HAVE_ISNAN[FDL].
55063         * modules/isnanf (Files): Remove lib/isnanf.h.
55064         (Depends-on): Add math.
55065         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55066         (Include): Specify <math.h> instead of isnanf.h.
55067         * modules/isnand (Files): Remove lib/isnand.h.
55068         (Depends-on): Add math.
55069         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55070         (Include): Specify <math.h> instead of isnand.h.
55071         * modules/isnanl (Files): Remove lib/isnanl.h.
55072         (Depends-on): Add math.
55073         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55074         (Include): Specify <math.h> instead of isnanl.h.
55075         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55076         HAVE_ISNAN[FDL].
55077         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55078         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55079         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55080         * NEWS: Mention the change.
55081
55082 2008-10-18  Bruno Haible  <bruno@clisp.org>
55083
55084         Add getusershell(), setusershell(), endusershell() declarations to
55085         <unistd.h>.
55086         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55087         declarations.
55088         * lib/getusershell.c: Include unistd.h.
55089         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55090         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55091         HAVE_GETUSERSHELL.
55092         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55093         and HAVE_GETUSERSHELL.
55094         * modules/getusershell (Depends-on): Add unistd, extensions.
55095         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55096         (Include): Specify <unistd.h>.
55097         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55098         HAVE_GETUSERSHELL.
55099
55100 2008-10-18  Bruno Haible  <bruno@clisp.org>
55101
55102         Add a getloadavg() declaration to <stdlib.h>.
55103         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55104         getloadavg declaration.
55105         (getloadavg): New declaration.
55106         * lib/getloadavg.c: Include <stdlib.h> first.
55107         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55108         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55109         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55111         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55112         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55113         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55114         (Include): Specify <stdlib.h>.
55115         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55116         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55117
55118 2008-10-18  Bruno Haible  <bruno@clisp.org>
55119
55120         * lib/dirchownmod.c: Don't include lchmod.h.
55121
55122         Move the lchmod() declaration to <sys/stat.h>.
55123         * lib/lchmod.h: Remove file.
55124         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55125         (lchmod): New declaration, moved here from lib/lchown.h.
55126         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55127         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55128         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55129         and HAVE_LCHMOD.
55130         * modules/lchmod (Files): Remove lib/lchmod.h.
55131         (Depends-on): Add sys_stat, extensions.
55132         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55133         (Include): Specify <sys/stat.h> instead of lchmod.h.
55134         * modules/sys_stat (Depends-on): Add link-warning.
55135         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55136         definition of GL_LINK_WARNING.
55137         * NEWS: Mention the change.
55138
55139 2008-10-18  Bruno Haible  <bruno@clisp.org>
55140
55141         * lib/fchdir.c: Don't include dirfd.h.
55142         * lib/fts.c: Likewise.
55143         * lib/getcwd.c: Likewise.
55144         * lib/glob.c: Likewise.
55145
55146         Move the dirfd() declaration to <dirent.h>.
55147         * lib/dirfd.h: Remove file.
55148         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55149         (dirfd): New declaration.
55150         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55151         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55152         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55153         HAVE_DECL_DIRFD.
55154         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55155         HAVE_DECL_DIRFD.
55156         * modules/dirfd (Files): Remove lib/dirfd.h.
55157         (Depends-on): Add dirent, extensions.
55158         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55159         (Include): Specify <dirent.h> instead of dirfd.h.
55160         * modules/dirent (Depends-on): Add link-warning.
55161         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55162         definition of GL_LINK_WARNING.
55163         * NEWS: Mention the change.
55164
55165 2008-10-18  Bruno Haible  <bruno@clisp.org>
55166
55167         Move the euidaccess() declaration to <unistd.h>.
55168         * lib/euidaccess.h: Remove file.
55169         * lib/unistd.in.h (euidaccess): New declaration.
55170         * lib/euidaccess.c: Don't include euidaccess.h.
55171         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55172         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55174         and HAVE_EUIDACCESS.
55175         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55176         (Depends-on): Add unistd.
55177         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55178         (Include): Specify <unistd.h> instead of euidaccess.h.
55179         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55180         HAVE_EUIDACCESS.
55181         * NEWS: Mention the change.
55182
55183 2008-10-18  Bruno Haible  <bruno@clisp.org>
55184
55185         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55186
55187         Move the getdomainname() declaration to <unistd.h>.
55188         * lib/getdomainname.h: Remove file.
55189         * lib/unistd.in.h (getdomainname): New declaration.
55190         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55191         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55192         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55193         HAVE_GETDOMAINNAME.
55194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55195         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55196         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55197         (Depends-on): Add unistd, extensions.
55198         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55199         (Includes): Specify <unistd.h> instead of getdomainname.h.
55200         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55201         HAVE_GETDOMAINNAME.
55202         * NEWS: Mention the change.
55203
55204 2008-10-18  Bruno Haible  <bruno@clisp.org>
55205
55206         * modules/dirent: New file.
55207         * m4/dirent_h.m4: New file.
55208         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55209         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55210         * modules/fchdir (Files): Remove lib/dirent.in.h.
55211         (Depends-on): Add dirent.
55212         (Makefile.am): Move rules to modules/dirent.
55213         * doc/posix-headers/dirent.texi: Mention the new module.
55214
55215 2008-10-18  Bruno Haible  <bruno@clisp.org>
55216
55217         Avoid -Wunused-parameter warnings in public gnulib header files.
55218         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55219         macro.
55220         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55221
55222 2008-10-18  Bruno Haible  <bruno@clisp.org>
55223
55224         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55225         * doc/glibc-functions/error.texi: Mention the module 'error'.
55226         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55227         * doc/glibc-functions/getdomainname.texi: Mention the module
55228         'getdomainname'.
55229         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55230         * doc/glibc-functions/getpagesize.texi: Mention the module
55231         'getpagesize'.
55232         * doc/glibc-functions/getusershell.texi: Mention the module
55233         'getusershell'.
55234         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55235         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55236         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55237         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55238         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55239         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55240         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55241         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55242         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55243         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55244         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55245         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55246         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55247         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55248
55249 2008-10-17  Bruno Haible  <bruno@clisp.org>
55250
55251         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55252         HP-UX and IRIX, use -0.0L.
55253         * tests/test-ceill.c (minus_zero): Likewise.
55254         * tests/test-floorl.c (minus_zero): Likewise.
55255         * tests/test-frexpl.c (minus_zero): Likewise.
55256         * tests/test-isnan.c (minus_zerol): Likewise.
55257         * tests/test-isnanl.h (minus_zero): Likewise.
55258         * tests/test-ldexpl.c (minus_zero): Likewise.
55259         * tests/test-roundl.c (minus_zero): Likewise.
55260         * tests/test-signbit.c (minus_zerol): Likewise.
55261         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55262         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55263         * tests/test-truncl.c (minus_zero): Likewise.
55264         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55265         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55266         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55267         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55268
55269 2008-10-17  Bruno Haible  <bruno@clisp.org>
55270
55271         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55272         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55273         that it gets activated only for gcc >= 3.0.
55274         * lib/dirent.in.h: Likewise.
55275         * lib/errno.in.h: Likewise.
55276         * lib/fcntl.in.h: Likewise.
55277         * lib/float.in.h: Likewise.
55278         * lib/iconv.in.h: Likewise.
55279         * lib/inttypes.in.h: Likewise.
55280         * lib/locale.in.h: Likewise.
55281         * lib/math.in.h: Likewise.
55282         * lib/netdb.in.h: Likewise.
55283         * lib/netinet_in.in.h: Likewise.
55284         * lib/search.in.h: Likewise.
55285         * lib/signal.in.h: Likewise.
55286         * lib/spawn.in.h: Likewise.
55287         * lib/stdarg.in.h: Likewise.
55288         * lib/stdint.in.h: Likewise.
55289         * lib/stdio.in.h: Likewise.
55290         * lib/stdlib.in.h: Likewise.
55291         * lib/string.in.h: Likewise.
55292         * lib/strings.in.h: Likewise.
55293         * lib/sys_file.in.h: Likewise.
55294         * lib/sys_ioctl.in.h: Likewise.
55295         * lib/sys_select.in.h: Likewise.
55296         * lib/sys_socket.in.h: Likewise.
55297         * lib/sys_stat.in.h: Likewise.
55298         * lib/sys_time.in.h: Likewise.
55299         * lib/sysexits.in.h: Likewise.
55300         * lib/time.in.h: Likewise.
55301         * lib/unistd.in.h: Likewise.
55302         * lib/wchar.in.h: Likewise.
55303         * lib/wctype.in.h: Likewise.
55304         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55305
55306 2008-10-17  Jim Meyering  <meyering@redhat.com>
55307
55308         ignore-value: don't depend on inline module
55309         * modules/ignore-value (Depends-on): Remove 'inline'.
55310         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55311         Suggestion from Bruno Haible.
55312
55313 2008-10-17  Bruno Haible  <bruno@clisp.org>
55314
55315         New implementation of condition variables for Win32.
55316         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55317         (gl_linked_waitqueue_t): New type.
55318         (gl_cond_t): Use it.
55319         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55320         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55321         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55322         (glthread_cond_init_func, glthread_cond_wait_func,
55323         glthread_cond_timedwait_func, glthread_cond_signal_func,
55324         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55325         Reimplemented on the basis of gl_linked_waitqueue_t.
55326         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55327         gl_waitqueue_t.
55328         (gl_rwlock_t): Update.
55329         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55330
55331 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55332
55333         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55334         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55335
55336 2008-10-17  Jim Meyering  <meyering@redhat.com>
55337
55338         ignore-value: new module
55339         * modules/ignore-value: New file.
55340         * lib/ignore-value.h: New file.
55341         * MODULES.html.sh (Compiler warning management): New section,
55342         just for this module.  More to come.
55343
55344 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55345
55346         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55347         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55348         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55349
55350 2008-10-16  Jim Meyering  <meyering@redhat.com>
55351
55352         openat-die.c: avoid 'no previous prototype' warning
55353         * lib/openat-die.c: Include "openat.h".
55354         Reported by Reuben Thomas <rrt@sc3d.org>.
55355
55356 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55357
55358         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55359         * lib/netdb.in.h: Fix typo.
55360         Reported by Bruno Haible  <bruno@clisp.org>
55361
55362         * lib/netdb.in.h: Include sys/socket.h for platforms without
55363         netdb.h, to get structures like hostent on MinGW.
55364         * modules/netdb (Depends-on): Add sys_socket.
55365
55366 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55367
55368         * modules/netdb, modules/netdb-tests: New file.
55369         * m4/netdb_h.m4: New file.
55370         * lib/netdb.in.h: Add, currently just an empty file pending
55371         definitions.
55372         * tests/test-netdb.c: New file.
55373         * doc/posix-headers/netdb.texi: Mention that we replace it if
55374         needed.
55375         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55376         netdb.
55377
55378 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55379
55380         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55381         with code.
55382
55383 2008-10-13  Bruno Haible  <bruno@clisp.org>
55384
55385         * lib/glthread/cond.c (glthread_cond_wait_func,
55386         glthread_cond_timedwait_func): Add a comment.
55387
55388 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55389
55390         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55391         * tests/test-select.c: Likewise,
55392
55393 2008-10-13  Bruno Haible  <bruno@clisp.org>
55394
55395         * lib/glthread/cond.c (glthread_cond_wait_func,
55396         glthread_cond_timedwait_func): Fix variable name.
55397         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55398
55399 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55400
55401         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55402         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55403         struct sockaddr.sa_len.
55404         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55405
55406 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55407
55408         * build-aux/pmccabe2html: Add css and css_url parameters.
55409
55410 2008-10-12  Bruno Haible  <bruno@clisp.org>
55411
55412         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55413         calling aclx_get.
55414         Reported by Rainer Tammer <tammer@tammer.net>.
55415
55416 2008-10-12  Bruno Haible  <bruno@clisp.org>
55417
55418         Use msvcrt aware primitives for creation/termination of Win32 threads.
55419         * lib/glthread/thread.c: Include <process.h>.
55420         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55421         (wrapper_func): Update signature.
55422         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55423
55424 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55425             Bruno Haible  <bruno@clisp.org>
55426
55427         Provide a Win32 implementation of the 'cond' module.
55428         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55429         * lib/glthread/cond.c (glthread_cond_init_func,
55430         glthread_cond_wait_func, glthread_cond_timedwait_func,
55431         glthread_cond_signal_func, glthread_cond_broadcast_func,
55432         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55433         * modules/cond (Dependencies): Add gettimeofday.
55434
55435 2008-10-11  Bruno Haible  <bruno@clisp.org>
55436
55437         Make sleep work on older versions of mingw.
55438         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55439         only whether it exists.
55440         * doc/posix-functions/sleep.texi: Mention the problem with older
55441         versions of mingw.
55442
55443 2008-10-11  Bruno Haible  <bruno@clisp.org>
55444
55445         New module 'shutdown'.
55446         * modules/shutdown: New file.
55447         * lib/sys_socket.in.h (shutdown): New declaration.
55448         * lib/winsock.c (shutdown): New function.
55449         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55450         GNULIB_SHUTDOWN.
55451         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55452         * doc/posix-functions/shutdown.texi: Document the new module.
55453
55454 2008-10-11  Jim Meyering  <meyering@redhat.com>
55455
55456         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55457
55458 2008-10-11  Bruno Haible  <bruno@clisp.org>
55459
55460         New module 'fclose'.
55461         * modules/fclose: New file.
55462         * lib/stdio.in.h (fclose): New declaration.
55463         * lib/fclose.c: New file.
55464         * m4/fclose.m4: New file.
55465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55466         REPLACE_FCLOSE.
55467         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55468         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55469         REPLACE_FCLOSE.
55470         * modules/close (Depends-on): fclose.
55471         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55472
55473 2008-10-11  Bruno Haible  <bruno@clisp.org>
55474
55475         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55476         set errno and don't call _close.
55477
55478 2008-10-10  Bruno Haible  <bruno@clisp.org>
55479
55480         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55481         ACL, not afterwards. Fixes test failure on Cygwin.
55482
55483 2008-10-09  Ben Pfaff  <blp@gnu.org>
55484
55485         * build-aux/announce-gen: Fix gnulib version related part of usage
55486         message.  Die with a useful error message if no tarballs are
55487         found.
55488
55489 2008-10-10  Jim Meyering  <meyering@redhat.com>
55490
55491         bootstrap: use git's --depth=N option only if it's supported
55492         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55493         recognize the --depth option.  Reported by Pádraig Brady.
55494
55495 2008-10-09  Bruno Haible  <bruno@clisp.org>
55496
55497         New module 'ioctl'.
55498         * modules/ioctl: New file.
55499         * lib/sys_socket.in.h (ioctl): Remove declaration.
55500         * lib/winsock.c: Include <sys/ioctl.h>.
55501         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55502         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55503         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55504         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55505         * doc/posix-functions/ioctl.texi: Mention the new module.
55506
55507 2008-10-09  Bruno Haible  <bruno@clisp.org>
55508
55509         New module 'sys_ioctl'.
55510         * lib/sys_ioctl.in.h: New file.
55511         * m4/sys_ioctl_h.m4: New file.
55512         * modules/sys_ioctl: New file.
55513         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55514
55515 2008-10-09  Bruno Haible  <bruno@clisp.org>
55516
55517         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55518         * lib/winsock.c: Include <stdarg.h>.
55519         (rpl_ioctl): Change to second argument 'int' and then varargs.
55520
55521 2008-10-09  Bruno Haible  <bruno@clisp.org>
55522
55523         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55524         when the sys_socket module is present and the system has <winsock2.h>.
55525
55526 2008-10-09  Bruno Haible  <bruno@clisp.org>
55527
55528         * doc/posix-functions/close.texi: Mention module 'close' instead of
55529         module 'sys_socket'.
55530
55531 2008-10-09  Bruno Haible  <bruno@clisp.org>
55532
55533         * doc/glibc-headers/sys_ioctl.texi: New file.
55534         * doc/gnulib.texi: Include it.
55535
55536 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55537             Bruno Haible  <bruno@clisp.org>
55538
55539         Combine the two replacements of 'close'.
55540         * lib/sys_socket.in.h (close): Define to a reminder to include
55541         <unistd.h>.
55542         (_gl_close_fd_maybe_socket): New declaration.
55543         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55544         * lib/winsock.c (close): Remove undefinition.
55545         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55546         needed for the gnulib module 'close'.
55547         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55548         define to an error symbol or to a warning, if suitable.
55549         * lib/close.c: Include <sys/socket.h>.
55550         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55551         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55552         UNISTD_H_HAVE_WINSOCK2_H.
55553         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55555         UNISTD_H_HAVE_WINSOCK2_H.
55556         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55557         (configure.ac): Set a module indicator.
55558         (Makefile.am): Substitute GNULIB_CLOSE.
55559         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55560         * modules/poll-tests (Depends-on): Add close.
55561         * modules/select-tests (Depends-on): Likewise.
55562
55563 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55564             Bruno Haible  <bruno@clisp.org>
55565
55566         New module 'close'.
55567         * modules/close: New file.
55568         * lib/unistd.in.h (close): Move declaration out of the
55569         FCHDIR_REPLACEMENT scope.
55570         (_gl_unregister_fd): New declaration.
55571         * lib/close.c: New file.
55572         * lib/fchdir.c (rpl_close): Remove function.
55573         * m4/close.m4: New file.
55574         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55575         close.
55576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55577         REPLACE_CLOSE.
55578         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55579         REPLACE_CLOSE.
55580         * modules/fchdir (Depends-on): Add close.
55581
55582 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55583             Bruno Haible  <bruno@clisp.org>
55584
55585         * lib/fcntl.in.h (open): Simplify conditionals.
55586         (_gl_register_fd): New declaration.
55587         * lib/fchdir.c (rpl_open): Remove function.
55588         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55589         also.
55590         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55591         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55592         open.
55593
55594 2008-10-09  Jim Meyering  <meyering@redhat.com>
55595
55596         GNUmakefile: use the more name-space-friendly "_version"
55597         * top/GNUmakefile (_dummy): Update.
55598         (_version): Rename from "version".
55599
55600 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55601             Bruno Haible  <bruno@clisp.org>
55602
55603         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55604         rpl_close.
55605         (_gl_register_fd): New function, extracted from rpl_open.
55606         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55607         (rpl_open, rpl_opendir): Use _gl_register_fd.
55608
55609 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55610
55611         Fix organization of 'open' replacement.
55612         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55613         (gl_FUNC_OPEN): Use it.
55614         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55615
55616 2008-10-08  Bruno Haible  <bruno@clisp.org>
55617
55618         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55619
55620 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55621
55622         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55623         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55624         listen).
55625
55626 2008-10-08  Eric Blake  <ebb9@byu.net>
55627
55628         GNUmakefile: add 'make version' target
55629         * top/GNUmakefile (_curr-ver): Split version update rules...
55630         (version): ...into a target.
55631
55632 2008-10-07  Bruno Haible  <bruno@clisp.org>
55633
55634         Use a more portable replacement expression for -0.0L.
55635         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55636         instead of -0.0L. Fix m4 quotation.
55637
55638         * tests/test-signbit.c: Include <float.h>.
55639         (minus_zero): New variable.
55640         (test_signbitl): Use minus_zero instead of -zero.
55641         * modules/signbit-tests (Depends-on): Add float.
55642
55643         * tests/test-ceill.c: Include <float.h>.
55644         (zero): Remove variable.
55645         (minus_zero): New variable.
55646         (main): Use minus_zero instead of -zero.
55647         * modules/ceill-tests (Depends-on): Add float.
55648
55649         * tests/test-floorl.c: Include <float.h>.
55650         (zero): Remove variable.
55651         (minus_zero): New variable.
55652         (main): Use minus_zero instead of -zero.
55653         * modules/floorl-tests (Depends-on): Add float.
55654
55655         * tests/test-roundl.c: Include <float.h>.
55656         (zero): Remove variable.
55657         (minus_zero): New variable.
55658         (main): Use minus_zero instead of -zero.
55659         * modules/roundl-tests (Depends-on): Add float.
55660
55661         * tests/test-truncl.c: Include <float.h>.
55662         (zero): Remove variable.
55663         (minus_zero): New variable.
55664         (main): Use minus_zero instead of -zero.
55665         * modules/truncl-tests (Depends-on): Add float.
55666
55667         * tests/test-frexpl.c (zero): Remove variable.
55668         (minus_zero): New variable.
55669         (main): Use minus_zero instead of -zero.
55670         * modules/frexpl-tests (Depends-on): Add float.
55671
55672         * tests/test-isnan.c (zerol): Remove variable.
55673         (minus_zerol): New variable.
55674         (test_long_double): Use minus_zerol instead of -zerol.
55675         * modules/isnan-tests (Depends-on): Add float.
55676
55677         * tests/test-isnanl.h (zero): Remove variable.
55678         (minus_zero): New variable.
55679         (main): Use minus_zero instead of -zero.
55680         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55681         * modules/isnanl-tests (Depends-on): Add float.
55682
55683         * tests/test-ldexpl.c (zero): Remove variable.
55684         (minus_zero): New variable.
55685         (main): Use minus_zero instead of -zero.
55686         * modules/ldexpl-tests (Depends-on): Add float.
55687
55688         * tests/test-snprintf-posix.h (zerol): Remove variable.
55689         (minus_zerol): New variable.
55690         (test_function): Use minus_zerol instead of -zerol.
55691         * modules/snprintf-posix-tests (Depends-on): Add float.
55692         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55693
55694         * tests/test-sprintf-posix.h (zerol): Remove variable.
55695         (minus_zerol): New variable.
55696         (test_function): Use minus_zerol instead of -zerol.
55697         * modules/sprintf-posix-tests (Depends-on): Add float.
55698         * modules/vsprintf-posix-tests (Depends-on): Add float.
55699
55700         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55701         (minus_zerol): New variable.
55702         (test_function): Use minus_zerol instead of -zerol.
55703         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55704
55705         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55706         (minus_zerol): New variable.
55707         (test_function): Use minus_zerol instead of -zerol.
55708         * modules/vasprintf-posix-tests (Depends-on): Add float.
55709
55710 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55711
55712         * MODULES.html.sh (Support for building documentation): Mention
55713         pmccabe2html.  Sort entries.
55714
55715         Add pmccabe2html module, from gnupdf.
55716         * build-aux/pmccabe.css: New file.
55717         * build-aux/pmccabe2html: New file.
55718         * m4/pmccabe2html.m4: New file.
55719         * modules/pmccabe2html: New file.
55720
55721 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55722
55723         flock: new module
55724         * MODULES.html.sh: Add to list of modules.
55725         * lib/flock.c: flock implementation for Windows and Unix systems
55726         which have fcntl.
55727         * doc/glibc-functions/flock.texi: Update documentation.
55728         * lib/sys_file.in.h: <sys/file.h> header file.
55729         * m4/flock.m4: M4 macros.
55730         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55731         * modules/flock: flock module.
55732         * modules/flock-tests: flock tests module.
55733         * modules/sys_file: sys/file.h module.
55734         * tests/test-flock.c: test suite for flock.
55735
55736 2008-10-06  Jim Meyering  <meyering@redhat.com>
55737
55738         bootstrap: check for LT_INIT more portably still ;-)
55739         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55740         Spotted by Bruno Haible.
55741
55742 2008-10-06  Eric Blake  <ebb9@byu.net>
55743
55744         test-signbit: avoid tripping Irix cc bug on -0.0L
55745         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55746         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55747         entire testsuite consistent and avoids an Irix 6.2 bug.
55748
55749 2008-10-05  Bruno Haible  <bruno@clisp.org>
55750             Jim Meyering  <jim@meyering.net>
55751
55752         Add an option for ignoring EPIPE during close_stdout.
55753         * lib/closeout.h: Include <stdbool.h>.
55754         (close_stdout_set_ignore_EPIPE): New declaration.
55755         * lib/closeout.c: Include <stdbool.h>.
55756         (ignore_EPIPE): New variable.
55757         (close_stdout_set_ignore_EPIPE): New function.
55758         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55759         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55760         failure.
55761         * modules/closeout (Depends-on): Add stdbool.
55762
55763 2008-10-05  Bruno Haible  <bruno@clisp.org>
55764
55765         * modules/accept: New file.
55766         * modules/bind: New file.
55767         * modules/connect: New file.
55768         * modules/getpeername: New file.
55769         * modules/getsockname: New file.
55770         * modules/getsockopt: New file.
55771         * modules/listen: New file.
55772         * modules/recv: New file.
55773         * modules/recvfrom: New file.
55774         * modules/send: New file.
55775         * modules/sendto: New file.
55776         * modules/setsockopt: New file.
55777         * modules/socket: New file.
55778         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55779         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55780         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55781         the particular module is requested. Add a link warning when the
55782         particular module is not requested.
55783         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55784         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55785         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55786         the particular module is requested.
55787         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55788         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55789         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55790         * modules/sys_socket (Depends-on): Add link-warning.
55791         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55792         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55793         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55794         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55795         GL_LINK_WARNING.
55796         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55797         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55798         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55799         * doc/posix-functions/getpeername.texi: Mention the new module
55800         'getpeername'.
55801         * doc/posix-functions/getsockname.texi: Mention the new module
55802         'getsockname'.
55803         * doc/posix-functions/getsockopt.texi: Mention the new module
55804         'getsockopt'.
55805         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55806         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55807         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55808         * doc/posix-functions/send.texi: Mention the new module 'send'.
55809         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55810         * doc/posix-functions/setsockopt.texi: Mention the new module
55811         'setsockopt'.
55812         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55813         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55814         listen, connect, accept.
55815         * modules/select-tests (Depends-on): Likewise.
55816
55817 2008-10-05  Bruno Haible  <bruno@clisp.org>
55818
55819         * lib/winsock.c (strerror): Remove unused #undef.
55820         (rpl_close): Remove unused local variable.
55821
55822         * modules/sys_socket (Depends-on); Add errno.
55823
55824 2008-10-05  Bruno Haible  <bruno@clisp.org>
55825
55826         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55827         (select): Add a link warning when the 'select' module is not used.
55828         * modules/sys_select (Depends-on): Add link-warning.
55829         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55830         Suggested by Paolo Bonzini.
55831
55832 2008-10-05  Jim Meyering  <meyering@redhat.com>
55833
55834         bootstrap: check for LT_INIT more portably
55835         * build-aux/bootstrap: Avoid using grep -E, since it's not
55836         portable enough.  Suggestion from Bruno Haible.
55837
55838 2008-10-05  Bruno Haible  <bruno@clisp.org>
55839
55840         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55841         as being fixed by gnulib.
55842
55843 2008-10-05  Bruno Haible  <bruno@clisp.org>
55844
55845         * modules/select-tests: New file, mostly copied from
55846         modules/sys_select-tests.
55847         * tests/test-select.c: New file, mostly copied from
55848         tests/test-sys_select.c.
55849         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55850         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55851         (Makefile.am): Remove test_sys_select_LDADD.
55852
55853         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55854         to an undefined symbol, for an error message.
55855         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55856         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55857         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55858         winsock-select.c here.
55859         * modules/sys_select (Files): Remove lib/winsock-select.c.
55860         (Depends-on): Remove alloca.
55861         (Makefile.am): Substitute GNULIB_SELECT.
55862         * modules/select: New file.
55863         * doc/posix-functions/select.texi: Update.
55864
55865 2008-10-05  Bruno Haible  <bruno@clisp.org>
55866
55867         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55868         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55869         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55870         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55871         getdtablesize.
55872         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55873         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55874
55875 2008-10-05  Bruno Haible  <bruno@clisp.org>
55876
55877         * modules/getdtablesize-tests: New file.
55878         * tests/test-getdtablesize.c: New file.
55879
55880         New module 'getdtablesize'.
55881         * lib/unistd.in.h (getdtablesize): New declaration.
55882         * lib/getdtablesize.c: New file.
55883         * m4/getdtablesize.m4: New file.
55884         * modules/getdtablesize: New file.
55885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55886         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55887         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55888         HAVE_GETDTABLESIZE.
55889         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55890
55891 2008-10-05  Bruno Haible  <bruno@clisp.org>
55892
55893         * modules/sched (Makefile.am): Fix typo.
55894         Reported by Simon Josefsson.
55895
55896 2008-10-05  Jim Meyering  <meyering@redhat.com>
55897
55898         bootstrap: check for LT_INIT, too
55899         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55900         are deprecated.  Suggestion from Ralf Wildenhues.
55901
55902 2008-10-05  Bruno Haible  <bruno@clisp.org>
55903
55904         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55905         overriding them by ours.
55906         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55907
55908 2008-10-05  Jim Meyering  <meyering@redhat.com>
55909
55910         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55911         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55912         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55913
55914 2008-10-04  Bruno Haible  <bruno@clisp.org>
55915
55916         * modules/dup2 (License): Change to LGPLv2+.
55917         * modules/sleep (License): Likewise.
55918         * modules/perror (License): Likewise.
55919         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55920         Blake.
55921         * modules/signal (License): Likewise.
55922         * modules/sigprocmask (License): Likewise.
55923         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55924         Meyering.
55925
55926 2008-10-04  Bruno Haible  <bruno@clisp.org>
55927
55928         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55929         Reported by Rainer Tammer <tammer@tammer.net>.
55930
55931 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55932             Bruno Haible  <bruno@clisp.org>
55933
55934         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55935         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55936         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55937
55938 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55939
55940         filevercmp: new module
55941         * lib/filevercmp.h: New function filevercmp comparing version strings.
55942         * lib/filevercmp.c: Implementation of filevercmp function.
55943         * modules/filevercmp: Module metadata.
55944         * tests/test-filevercmp.c: Unit test for new module.
55945         * modules/filevercmp-tests: Unit test metadata.
55946         * MODULES.html.sh: Add filevercmp module.
55947
55948 2008-10-03  Bruno Haible  <bruno@clisp.org>
55949
55950         * lib/c-ctype.h: Add comment.
55951         Reported by Jim Meyering.
55952
55953 2008-10-02  Bruno Haible  <bruno@clisp.org>
55954
55955         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55956
55957 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55958
55959         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55960         name of bootstrap.conf accordingly.
55961
55962 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55963
55964         * build-aux/bootstrap: Install git-merge-changelog configuration
55965         items into .gitconfig if needed.
55966
55967 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55968
55969         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55970         git repository, and initialize/update it accordingly.
55971
55972 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55973
55974         * modules/fsync-tests: New file.
55975         * tests/test-fsync.c: New file.
55976
55977         New module 'fsync'.
55978         * lib/fsync.c: New file.
55979         * m4/fsync.m4: New file.
55980         * modules/fsync: New file.
55981         * lib/unistd.in.h (fsync): New declaration.
55982         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55983         GNULIB_FSYNC and HAVE_FSYNC.
55984         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55985         * MODULES.html.sh (posix_functions): Add fsync.
55986         * doc/posix-functions/fsync.texi: Mention the new module.
55987
55988 2008-10-02  Jim Meyering  <meyering@redhat.com>
55989
55990         fts.c: sync with similar code from coreutils' remove.c
55991         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55992         Guard also with "#if defined __linux__", since for now at least,
55993         this code is Linux-kernel-specific.
55994
55995 2008-10-02  Jim Meyering  <meyering@redhat.com>
55996
55997         fts: bug fixes
55998         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55999         Include <sys/vfs.h>, not <sys/statfs.h>.
56000
56001         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56002         Include <sys/vfs.h>, not <sys/statfs.h>.
56003
56004 2008-10-01  Bruno Haible  <bruno@clisp.org>
56005
56006         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56007         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56008         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56009         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56010         * doc/posix-functions/posix_spawnp.texi: Likewise.
56011         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56012         whether posix_spawn actually works.
56013         * m4/pipe.m4 (gl_PIPE): Likewise.
56014         * modules/execute (Files): Add m4/posix_spawn.m4.
56015         * modules/pipe (Files): Add m4/posix_spawn.m4.
56016         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56017
56018 2008-10-01  Jim Meyering  <meyering@redhat.com>
56019
56020         remove trailing spaces
56021         * NEWS: Likewise.
56022         * lib/poll.c (poll): Likewise.
56023         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56024         * lib/winsock.c (rpl_close): Likewise.
56025         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56026         * modules/yield: Likewise.
56027         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56028         * tests/test-sys_select.c (connect_to_socket): Likewise.
56029
56030         fts.c: adjust a new interface to be more generally useful
56031         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56032         (fts_build): Adjust caller.
56033
56034 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56035
56036         * modules/cond-tests: New file.
56037         * tests/test-cond.c: New file.
56038
56039 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56040             Bruno Haible  <bruno@clisp.org>
56041
56042         * modules/cond (Dependencies): Add errno, time.
56043         * lib/glthread/cond.h: Include <time.h>.
56044         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56045         across platforms.
56046
56047 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56048             Bruno Haible  <bruno@clisp.org>
56049
56050         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56051
56052 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56053             Bruno Haible  <bruno@clisp.org>
56054
56055         * modules/tls-tests (Depends-on): Add thread, yield.
56056         (configure.ac): Remove all checks.
56057         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56058         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56059         gl_thread_self): Remove definitions. Include glthread/thread.h and
56060         glthread/yield.h instead.
56061         (test_tls): Pass an additional NULL argument to gl_thread_join.
56062
56063 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56064             Bruno Haible  <bruno@clisp.org>
56065
56066         * modules/lock-tests (Depends-on): Add thread, yield.
56067         (configure.ac): Remove all checks.
56068         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56069         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56070         gl_thread_self): Remove definitions. Include glthread/thread.h and
56071         glthread/yield.h instead.
56072         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56073         additional NULL argument to gl_thread_join.
56074
56075 2008-09-30  Bruno Haible  <bruno@clisp.org>
56076
56077         Fix the Win32 implementation of the 'thread' module.
56078         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56079         pointer type.
56080         (gl_thread_self): Invoke gl_thread_self_func.
56081         (gl_thread_self_func): New declaration.
56082         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56083         (do_init_self_key, init_self_key): New functions.
56084         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56085         Remove some fields.
56086         (running_threads, running_lock): Remove variables.
56087         (get_current_thread_handle): New function.
56088         (gl_thread_self_func, wrapper_func, glthread_create_func,
56089         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56090         simplified.
56091
56092 2008-09-30  Bruno Haible  <bruno@clisp.org>
56093
56094         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56095         files.
56096
56097 2008-09-30  Jim Meyering  <meyering@redhat.com>
56098
56099         fts.m4: correct the test for statfs.f_type
56100         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56101         when checking for statfs.f_type.
56102
56103 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56104
56105         tests: avoid some compiler warnings
56106         * tests/test-memchr.c (main): Pass NULL indirectly.
56107         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56108
56109 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
56110
56111         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56112         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56113         exactly specified dayshifts.
56114         (dayshift): New rule.
56115         (rel): Add dayshift.
56116         (relative_time_table) [tomorrow, yesterday, today, now]:
56117         Use tDAY_SHIFT in place of tDAY_UNIT.
56118         * tests/test-getdate.c: Add tests for now-disallowed countable
56119         dayshifts, e.g., "4 yesterday ago".
56120
56121 2008-09-29  Bruno Haible  <bruno@clisp.org>
56122
56123         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56124         * tests/test-posix_spawn1.in.sh: Renamed from
56125         tests/test-posix_spawn.in.sh.
56126         * tests/test-posix_spawn2.c: New file.
56127         * tests/test-posix_spawn2.in.sh: New file.
56128         * modules/posix_spawnp-tests (Files): Update.
56129         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56130
56131 2008-09-29  Bruno Haible  <bruno@clisp.org>
56132
56133         Propagate effects of putenv/setenv/unsetenv to child processes.
56134         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56135         * lib/pipe.c (create_pipe): Likewise.
56136
56137 2008-09-29  Bruno Haible  <bruno@clisp.org>
56138
56139         Enable use of shell scripts as executables in mingw.
56140         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56141         run the program as a shell script.
56142         * lib/pipe.c (create_pipe): Likewise.
56143         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56144         resulting array.
56145
56146 2008-09-29  Eric Blake  <ebb9@byu.net>
56147
56148         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56149
56150 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56151
56152         * doc/posix-functions/accept.texi: Update mingw problems.
56153         * doc/posix-functions/bind.texi: Update mingw problems.
56154         * doc/posix-functions/close.texi: Update mingw problems.
56155         * doc/posix-functions/connect.texi: Update mingw problems.
56156         * doc/posix-functions/getpeername.texi: Update mingw problems.
56157         * doc/posix-functions/getsockname.texi: Update mingw problems.
56158         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56159         * doc/posix-functions/ioctl.texi: Update mingw problems.
56160         * doc/posix-functions/listen.texi: Update mingw problems.
56161         * doc/posix-functions/recv.texi: Update mingw problems.
56162         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56163         * doc/posix-functions/select.texi: Update mingw problems.
56164         * doc/posix-functions/send.texi: Update mingw problems.
56165         * doc/posix-functions/sendto.texi: Update mingw problems.
56166         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56167         * doc/posix-functions/socket.texi: Update mingw problems.
56168
56169 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56170             Bruno Haible  <bruno@clisp.org>
56171
56172         * lib/sys_select.in.h: Include sys/time.h.
56173         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56174         * modules/sys_select: Depend on sys_time.
56175         * tests/test-sys_select.c: Test that sys/select.h defines struct
56176         timeval fully.
56177
56178 2008-09-29  Bruno Haible  <bruno@clisp.org>
56179
56180         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56181         * lib/sys_select.in.h: Likewise.
56182
56183 2008-09-29  Bruno Haible  <bruno@clisp.org>
56184
56185         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56186
56187 2008-09-29  Bruno Haible  <bruno@clisp.org>
56188
56189         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56190         Set LIBSOCKET instead of augmenting LIBS.
56191         * modules/sockets (Link): New section.
56192         * modules/sockets-tests (test_sockets_LDADD): New variable.
56193         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56194         * modules/poll-tests (test_poll_LDADD): New variable.
56195         * NEWS: Document the change.
56196
56197 2008-09-29  Bruno Haible  <bruno@clisp.org>
56198
56199         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56200         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56201         ARPA_INET_H directly.
56202         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56203
56204 2008-09-28  Bruno Haible  <bruno@clisp.org>
56205
56206         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56207         from gl_HEADER_SYS_SOCKET.
56208         (gl_HEADER_SYS_SOCKET): Invoke it.
56209         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56210
56211 2008-09-28  Bruno Haible  <bruno@clisp.org>
56212
56213         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56214         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56215         Needed on OSF/1 4.0.
56216
56217 2008-09-28  Bruno Haible  <bruno@clisp.org>
56218
56219         Override open more carefully.
56220         * lib/open.c (orig_open): New function.
56221         (rpl_open): Use orig_open instead of open.
56222         * lib/fcntl.in.h: Add special invocation convention.
56223         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56224         (gl_FUNC_OPEN): Invoke it.
56225
56226         Override freopen more carefully.
56227         * lib/freopen.c (orig_freopen): New function.
56228         (rpl_freopen): Use orig_freopen instead of freopen.
56229         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56230         (gl_FUNC_FREOPEN): Invoke it.
56231
56232         Override fopen more carefully.
56233         * lib/fopen.c (orig_fopen): New function.
56234         (rpl_fopen): Use orig_fopen instead of fopen.
56235         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56236         (gl_FUNC_FOPEN): Invoke it.
56237         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56238
56239 2008-09-28  Bruno Haible  <bruno@clisp.org>
56240
56241         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56242         SIGPIPE.
56243
56244 2008-09-28  Bruno Haible  <bruno@clisp.org>
56245
56246         * tests/test-sigaction.c (handler, main): Disable the check whether
56247         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56248         glibc systems with LinuxThreads.
56249
56250 2008-09-28  Bruno Haible  <bruno@clisp.org>
56251
56252         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56253
56254         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56255         with AIX xlc.
56256         * lib/fcntl.in.h (open): Likewise.
56257         Reported by Rainer Tammer <tammer@tammer.net>.
56258
56259 2008-09-28  Bruno Haible  <bruno@clisp.org>
56260
56261         * modules/posix_spawnp-tests: New file.
56262         * tests/test-posix_spawn.c: New file.
56263         * tests/test-posix_spawn.in.sh: New file.
56264
56265         New module 'posix_spawnp'.
56266         * modules/posix_spawnp: New file.
56267         * lib/spawnp.c: New file, from GNU libc with modifications.
56268         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56269
56270         New module 'posix_spawn'.
56271         * modules/posix_spawn: New file.
56272         * lib/spawn.c: New file, from GNU libc with modifications.
56273         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56274
56275         New module 'posix_spawnattr_destroy'.
56276         * modules/posix_spawnattr_destroy: New file.
56277         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56278         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56279         module.
56280
56281         New module 'posix_spawnattr_setsigmask'.
56282         * modules/posix_spawnattr_setsigmask: New file.
56283         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56284         modifications.
56285         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56286         new module.
56287
56288         New module 'posix_spawnattr_getsigmask'.
56289         * modules/posix_spawnattr_getsigmask: New file.
56290         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56291         modifications.
56292         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56293         new module.
56294
56295         New module 'posix_spawnattr_setsigdefault'.
56296         * modules/posix_spawnattr_setsigdefault: New file.
56297         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56298         modifications.
56299         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56300         new module.
56301
56302         New module 'posix_spawnattr_getsigdefault'.
56303         * modules/posix_spawnattr_getsigdefault: New file.
56304         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56305         modifications.
56306         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56307         new module.
56308
56309         New module 'posix_spawnattr_setschedpolicy'.
56310         * modules/posix_spawnattr_setschedpolicy: New file.
56311         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56312         modifications.
56313         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56314         new module.
56315
56316         New module 'posix_spawnattr_getschedpolicy'.
56317         * modules/posix_spawnattr_getschedpolicy: New file.
56318         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56319         modifications.
56320         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56321         new module.
56322
56323         New module 'posix_spawnattr_setschedparam'.
56324         * modules/posix_spawnattr_setschedparam: New file.
56325         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56326         modifications.
56327         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56328         new module.
56329
56330         New module 'posix_spawnattr_getschedparam'.
56331         * modules/posix_spawnattr_getschedparam: New file.
56332         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56333         modifications.
56334         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56335         new module.
56336
56337         New module 'posix_spawnattr_setpgroup'.
56338         * modules/posix_spawnattr_setpgroup: New file.
56339         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56340         modifications.
56341         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56342         module.
56343
56344         New module 'posix_spawnattr_getpgroup'.
56345         * modules/posix_spawnattr_getpgroup: New file.
56346         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56347         modifications.
56348         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56349         module.
56350
56351         New module 'posix_spawnattr_setflags'.
56352         * modules/posix_spawnattr_setflags: New file.
56353         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56354         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56355         module.
56356
56357         New module 'posix_spawnattr_getflags'.
56358         * modules/posix_spawnattr_getflags: New file.
56359         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56360         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56361         module.
56362
56363         New module 'posix_spawnattr_init'.
56364         * modules/posix_spawnattr_init: New file.
56365         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56366         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56367         module.
56368
56369         New module 'posix_spawn_file_actions_destroy'.
56370         * modules/posix_spawn_file_actions_destroy: New file.
56371         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56372         modifications.
56373         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56374         the new module.
56375
56376         New module 'posix_spawn_file_actions_addopen'.
56377         * modules/posix_spawn_file_actions_addopen: New file.
56378         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56379         modifications.
56380         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56381         the new module.
56382
56383         New module 'posix_spawn_file_actions_adddup2'.
56384         * modules/posix_spawn_file_actions_adddup2: New file.
56385         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56386         modifications.
56387         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56388         the new module.
56389
56390         New module 'posix_spawn_file_actions_addclose'.
56391         * modules/posix_spawn_file_actions_addclose: New file.
56392         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56393         modifications.
56394         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56395         the new module.
56396
56397         New module 'posix_spawn_file_actions_init'.
56398         * modules/posix_spawn_file_actions_init: New file.
56399         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56400         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56401         new module.
56402
56403         New module 'posix_spawn-internal'.
56404         * modules/posix_spawn-internal: New file.
56405         * lib/spawn_int.h: New file, from GNU libc with modifications.
56406         * lib/spawni.c: New file, from GNU libc with modifications.
56407         * m4/posix_spawn.m4: New file.
56408
56409         New module 'spawn'.
56410         * modules/spawn: New file.
56411         * lib/spawn.in.h: New file, from GNU libc with modifications.
56412         * m4/spawn_h.m4: New file.
56413         * doc/posix-headers/spawn.texi: Mention the new module.
56414
56415 2008-09-28  Bruno Haible  <bruno@clisp.org>
56416
56417         * modules/sched-tests: New file.
56418         * tests/test-sched.c: New file.
56419
56420         New module 'sched'.
56421         * modules/sched: New file.
56422         * lib/sched.in.h: New file.
56423         * m4/sched_h.m4: New file.
56424         * doc/posix-headers/sched.texi: Mention the new module.
56425
56426 2008-09-27  Eric Blake  <ebb9@byu.net>
56427
56428         Fix previous patch, and tweak references to $0.
56429         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56430         (func_version, func_gnulib_dir): Don't call this program
56431         gnulib-tool.
56432         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56433         with using $0 in function.
56434         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56435         (func_fatal_error): Reuse the name the user invoked us with.
56436
56437 2008-09-27  Bruno Haible  <bruno@clisp.org>
56438
56439         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56440         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56441         (gl_ICONV_H): Not here.
56442         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56443         instead of assigning ICONV_H directly.
56444
56445         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56446         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56447         WCHAR_H directly.
56448
56449 2008-09-27  Bruno Haible  <bruno@clisp.org>
56450
56451         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56452         * modules/arpa_inet (Depends-on): Add link-warning.
56453         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56454         * modules/unistd (Makefile.am): Likewise.
56455
56456 2008-09-26  Bruno Haible  <bruno@clisp.org>
56457
56458         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56459         variables.
56460         (func_version): Essentially copied from gnulib-tool.
56461         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56462         func_readlink): Copied from gnulib-tool.
56463
56464 2008-09-26  Bruno Haible  <bruno@clisp.org>
56465
56466         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56467         invoking git-version-gen.
56468
56469 2008-09-26  Bruno Haible  <bruno@clisp.org>
56470
56471         * posix-modules: Update to directory names changed on 2008-01-19.
56472         Remove commas in output before splitting into words. No more need to
56473         avoid 'ftruncate' since 2007-02-19.
56474
56475 2008-09-26  Bruno Haible  <bruno@clisp.org>
56476
56477         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56478
56479 2008-09-26  Bruno Haible  <bruno@clisp.org>
56480
56481         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56482         * modules/fwriteerror (Depends-on): Add errno.
56483
56484 2008-09-26  Bruno Haible  <bruno@clisp.org>
56485
56486         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56487         * tests/test-vc-list-files-cvs.sh: Likewise.
56488
56489 2008-09-26  Bruno Haible  <bruno@clisp.org>
56490
56491         * doc/posix-headers/sys_resource.texi: Reorder items.
56492
56493 2008-09-26  Jim Meyering  <meyering@redhat.com>
56494
56495         fts: tweak inode comparison function
56496         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56497         inode numbers, as documented.
56498
56499         fts: sort dirent entries on inode number before traversing
56500         This avoids a quadratic, seek-related performance penalty when
56501         operating on a directory containing many entries (measurable at 10k;
56502         3.5 hours at 2 million entries with a cold cache) on certain types
56503         of file systems, including ext3 and ext4, but not tmpfs.
56504         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56505         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56506         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56507         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56508         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56509         (fts_build): Set the stat.st_ino member from D_INO.
56510         If it is likely to be useful, sort dirent entries on inode number.
56511
56512         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56513         and the struct statfs.f_type member.
56514         * modules/fts (Depends-on): Add d-ino.
56515
56516 2008-09-26  Bruno Haible  <bruno@clisp.org>
56517
56518         * modules/sigpipe-die (Depends-on): Add sigpipe.
56519
56520         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56521         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56522         and GNULIB_STDIO_H_SIGPIPE are set.
56523         * lib/stdio-write.c: New file.
56524         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56525         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56526         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56527         REPLACE_STDIO_WRITE_FUNCS.
56528         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56529         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56530         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56531         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56532         * modules/stdio (Files): Add lib/stdio-write.c.
56533         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56534         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56535         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56536         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56537         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56538         REPLACE_FPRINTF_POSIX.
56539         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56540         REPLACE_PRINTF_POSIX.
56541         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56542         REPLACE_VFPRINTF_POSIX.
56543         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56544         REPLACE_VPRINTF_POSIX.
56545         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56546         SIGPIPE issue.
56547         * doc/posix-functions/fputc.texi: Likewise.
56548         * doc/posix-functions/fputs.texi: Likewise.
56549         * doc/posix-functions/fwrite.texi: Likewise.
56550         * doc/posix-functions/printf.texi: Likewise.
56551         * doc/posix-functions/putc.texi: Likewise.
56552         * doc/posix-functions/putchar.texi: Likewise.
56553         * doc/posix-functions/puts.texi: Likewise.
56554         * doc/posix-functions/vfprintf.texi: Likewise.
56555         * doc/posix-functions/vprintf.texi: Likewise.
56556
56557         * modules/safe-write (Depends-on): Add write.
56558
56559         * modules/sigpipe-tests: New file.
56560         * tests/test-sigpipe.c: New file.
56561         * tests/test-sigpipe.sh: New file.
56562
56563         * modules/write: New file.
56564         * lib/unistd.in.h: Include <sys/types.h>.
56565         (write): New declaration.
56566         * lib/write.c: New file.
56567         * m4/write.m4: New file.
56568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56569         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56570         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56571         GNULIB_WRITE, REPLACE_WRITE.
56572         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56573         and the SIGPIPE issue.
56574
56575         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56576         (raise): New declaration.
56577         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56578         (ext_signal): New function.
56579         (rpl_raise): New function.
56580         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56581         GNULIB_SIGNAL_H_SIGPIPE.
56582         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56583         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56584
56585         * modules/sigpipe: New file.
56586         * m4/sigpipe.m4: New file.
56587
56588 2008-09-25  Derek Price  <derek@ximbiot.com>
56589             Bruno Haible  <bruno@clisp.org>
56590
56591         * gnulib-tool (func_import): Report all license incompatibilities, not
56592         just the first one.
56593
56594 2008-09-25  Bruno Haible  <bruno@clisp.org>
56595
56596         * gnulib-tool (func_import): When computing the edits, consider not
56597         only the Makefile.ams that exist but also those that will be generated.
56598
56599 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56600
56601         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56602         fixes gnulib-tool --test warning about duplicate dependency.
56603
56604 2008-09-25  Bruno Haible  <bruno@clisp.org>
56605
56606         * gnulib-tool: Don't ask the user to perform edits in the generated
56607         Makefile.ams.
56608         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56609         apply to the Makefile.am being generated.
56610         (func_emit_tests_Makefile_am): Execute edits that apply to the
56611         Makefile.am being generated.
56612         (func_import): Setup list of Makefile.am edits before emitting the
56613         Makefile.ams, not at the end.
56614         (func_create_testdir): Update.
56615         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56616
56617 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56618
56619         * gnulib-tool (func_import): Store the --tests-base option in the
56620         comment in gnulib-cache.m4.
56621
56622 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56623
56624         * NEWS: Document increased portability that sys_select now provides.
56625
56626         * lib/sys_select.in.h: Install select wrapper.
56627         * lib/sys_socket.in.h: Use more descriptive name when there is no
56628         select wrapper.
56629         * lib/winsock-select.c: New.
56630         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56631         Require gl_HEADER_SYS_SOCKET.
56632         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56633         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56634         * tests/test-sys_select.c: Add functional tests.
56635
56636 2008-09-24  Eric Blake  <ebb9@byu.net>
56637
56638         open, fopen: close fd leak in last patch
56639         * lib/open.c (rpl_open): Close fd before returning error.
56640         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56641         * doc/posix-functions/open.texi (open): Document that Irix also
56642         has the bug.
56643         * doc/posix-functions/fopen.texi (fopen): Likewise.
56644         Reported by Paolo Bonzini.
56645
56646 2008-09-24  Bruno Haible  <bruno@clisp.org>
56647
56648         Ensure that a filename ending in a slash cannot be used to access a
56649         non-directory.
56650         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56651         to check whether it's really a directory.
56652         * lib/fopen.c: Include fcntl.h, unistd.h.
56653         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56654         and fdopen().
56655         * modules/fopen (Depends-on): Add unistd.
56656         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56657         * tests/test-fopen.c (main): Likewise.
56658         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56659         * doc/posix-functions/fopen.texi: Likewise.
56660         Reported by Eric Blake.
56661
56662 2008-09-23  Eric Blake  <ebb9@byu.net>
56663
56664         c-stack: avoid compiler optimizations when provoking overflow
56665         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56666         recursion harder to optimize, to ensure a stack overflow occurs.
56667         * tests/test-c-stack.c (recurse): Likewise.
56668         Borrowed from libsigsegv.
56669
56670         c-stack: work around Irix sigaltstack bug
56671         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56672         whether sigaltstack uses wrong end of stack_t (copied in part from
56673         libsigsegv).
56674         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56675         Irix bug, without requiring an over-allocation.
56676         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56677         bug.
56678
56679         fopen: document mingw bug on directories
56680         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56681         not allowing a stream visiting a directory, even though reading
56682         from such a stream is not portable.
56683
56684 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56685
56686         * lib/poll.c: Rewrite.
56687         * modules/poll: Depend on alloca.
56688
56689 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56690
56691         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56692         instead define prototypes for a full set of wrappers.  Ensure
56693         that Cygwin does not use the compatibility code, which is only
56694         for MinGW.
56695         * lib/winsock.c: New.
56696         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56697         * modules/sys_socket: Add lib/winsock.c.
56698
56699         * modules/poll-tests: Add errno and perror.
56700         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56701
56702 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56703
56704         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56705
56706 2008-09-23  Bruno Haible  <bruno@clisp.org>
56707
56708         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56709         * doc/glibc-functions/*: Likewise.
56710
56711 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56712
56713         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56714         success.
56715
56716 2008-09-22  Eric Blake  <ebb9@byu.net>
56717             Bruno Haible  <bruno@clisp.org>
56718
56719         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56720         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56721         supply %A but mishandle pseudo-NaN.
56722         Reported by Simon Josefsson.
56723
56724 2008-09-21  Bruno Haible  <bruno@clisp.org>
56725
56726         * tests/test-lock.c (main): Tweak skip message.
56727         * tests/test-tls.c (main): Likewise.
56728
56729 2008-09-21  Bruno Haible  <bruno@clisp.org>
56730
56731         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56732         whether 'struct sigaction' has sa_sigaction here...
56733         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56734         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56735
56736 2008-09-21  Bruno Haible  <bruno@clisp.org>
56737
56738         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56739         section.
56740         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56741         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56742         the new section.
56743         (Support for obsolete systems lacking POSIX:2001): New section.
56744         (String handling <string.h>): Move strdup to the new section.
56745         Suggested by Simon Josefsson and Paolo Bonzini.
56746
56747 2008-09-21  Bruno Haible  <bruno@clisp.org>
56748
56749         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56750         exponents in %e and %g results on 'long double'. Needed for mingw's
56751         improved *printf functions.
56752         * tests/test-vasprintf-posix.c (test_function): Likewise.
56753         * tests/test-snprintf-posix.h (test_function): Likewise.
56754         * tests/test-sprintf-posix.h (test_function): Likewise.
56755         Reported by Eric Blake.
56756
56757 2008-09-21  Bruno Haible  <bruno@clisp.org>
56758
56759         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56760         * tests/test-sprintf-posix.h (test_function): Likewise.
56761
56762 2008-09-21  Bruno Haible  <bruno@clisp.org>
56763
56764         * modules/getpass (Depends-on): Add strdup-posix.
56765
56766         New module 'strdup-posix'.
56767         * modules/strdup-posix: New file.
56768         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56769         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56771         REPLACE_STRDUP.
56772         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56773         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56774         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56775         strdup-posix.
56776
56777         * modules/strdup (Depends-on): Remove malloc-posix.
56778
56779 2008-09-20  Bruno Haible  <bruno@clisp.org>
56780
56781         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56782         Wildenhues.
56783
56784 2008-09-20  Bruno Haible  <bruno@clisp.org>
56785
56786         Ensure that wint_t gets defined on IRIX 5.3.
56787         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56788         * lib/wctype.in.h (wint_t): Likewise.
56789         (__wctype_wint_t): Remove type.
56790         (isw*): Use wint_t instead of __wctype_wint_t.
56791         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56792         * modules/wchar (Files): Add m4/wint_t.m4.
56793         (Makefile.am): Substitute HAVE_WINT_T.
56794         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56795         * tests/test-wctype.c: Check that wint_t is defined.
56796         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56797         * doc/posix-headers/wctype.texi: Likewise.
56798         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56799
56800 2008-09-18  Bruno Haible  <bruno@clisp.org>
56801
56802         * gnulib-tool (func_exit): Update comment.
56803
56804 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56805
56806         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56807         assumes strdup exists and does not depend on strdup to return
56808         ENOMEM on out of memory conditions.
56809
56810 2008-09-18  Bruno Haible  <bruno@clisp.org>
56811
56812         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56813         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56814         digits for the exponent.
56815
56816 2008-09-18  Jim Meyering  <meyering@redhat.com>
56817             Bruno Haible  <bruno@clisp.org>
56818
56819         * lib/vasnprintf.c (decimal_point_char): Define also if
56820         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56821
56822 2008-09-16  Bruno Haible  <bruno@clisp.org>
56823         and Eric Blake  <ebb9@byu.net>
56824
56825         vasnprintf: support Irix 5.3
56826         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56827         that mishandle long double infinity.
56828         Reported by Tom G. Christensen.
56829
56830 2008-09-16  Bruno Haible  <bruno@clisp.org>
56831
56832         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56833         Solaris 9.
56834         * doc/glibc-functions/alphasort.texi: Likewise.
56835         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56836
56837 2008-09-16  Jim Meyering  <meyering@redhat.com>
56838
56839         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56840         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56841         a umask modification leak out of a subshell.  Otherwise, the
56842         opensolaris /bin/sh would be accepted and thus cause unwarranted
56843         failures in the coreutils test suite.
56844
56845 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56846
56847         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56848         to succeed.
56849
56850 2008-09-16  Jim Meyering  <meyering@redhat.com>
56851
56852         avoid spurious test failure when library is built without ACL support
56853         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56854         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56855         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56856         * tests/test-copy-acl.sh: Likewise.
56857
56858 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56859
56860         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56861         based on character occurrence counts.
56862
56863 2008-09-15  Eric Blake  <ebb9@byu.net>
56864
56865         tests: avoid some compiler warnings
56866         * tests/test-memchr.c (main): Pass NULL indirectly.
56867         * tests/test-closein.c (main): Avoid unused variable.
56868
56869 2008-09-15  Bruno Haible  <bruno@clisp.org>
56870
56871         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56872         are missing on OpenBSD 4.0 individually.
56873         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56874
56875 2008-09-15  Bruno Haible  <bruno@clisp.org>
56876
56877         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56878         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56879         * doc/posix-functions/perror.texi: Likewise.
56880         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56881         is missing.
56882         Reported by Eric Blake.
56883
56884         * lib/errno.in.h: Use replacement values >= 2000.
56885         Reported by Eric Blake.
56886
56887 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56888
56889         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56890         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56891         limit.
56892         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56893         compareseq was aborted.
56894
56895 2008-09-14  Bruno Haible  <bruno@clisp.org>
56896
56897         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56898         yvec_edit_count.
56899         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56900         (fstrcmp_bounded): Simplify result computation accordingly.
56901
56902 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56903
56904         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56905         (fstrcmp): Define in terms of fstrcmp_bounded.
56906         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56907         lower_bound argument.
56908         Return quickly if the result is certainly < lower_bound.
56909         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56910
56911 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56912
56913         * lib/diffseq.h (EARLY_ABORT): New macro.
56914         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56915         evaluates to true.
56916
56917 2008-09-14  Bruno Haible  <bruno@clisp.org>
56918
56919         * modules/perror-tests: New file.
56920         * tests/test-perror.sh: New file.
56921         * tests/test-perror.c: New file.
56922
56923         New module 'perror'.
56924         * lib/stdio.in.h (perror): New declaration.
56925         * lib/perror.c: New file.
56926         * m4/perror.m4: New file.
56927         * modules/perror: New file.
56928         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56929         * doc/posix-functions/perror.texi: Mention the perror module.
56930         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56931         REPLACE_PERROR.
56932         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56933         REPLACE_PERROR.
56934
56935 2008-09-14  Bruno Haible  <bruno@clisp.org>
56936
56937         * modules/stdio (Makefile.am): Reorder to match the order in
56938         lib/stdio.in.h.
56939         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56940
56941 2008-09-13  Bruno Haible  <bruno@clisp.org>
56942
56943         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56944
56945 2008-09-13  Bruno Haible  <bruno@clisp.org>
56946
56947         Extend strerror to cover the added errno values.
56948         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56949         (rpl_strerror): Provide error messages for the added errno values and
56950         for the WSA* values.
56951         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56952         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56953         strerror.
56954         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56955         * modules/strerror (Depends-on): Add errno.
56956         * doc/posix-functions/strerror.texi: Document the change.
56957         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56958         and EOVERFLOW.
56959
56960 2008-09-13  Bruno Haible  <bruno@clisp.org>
56961
56962         * modules/EOVERFLOW: Remove file.
56963         * m4/eoverflow.m4: Remove file.
56964         * modules/EOVERFLOW-tests: Remove file.
56965         * tests/test-EOVERFLOW.c: Remove file.
56966         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56967         * modules/ftell (Depends-on): Likewise.
56968         * modules/getdelim (Depends-on): Likewise.
56969         * modules/getugroups (Depends-on): Likewise.
56970         * modules/poll (Depends-on): Likewise.
56971         * modules/snprintf (Depends-on): Likewise.
56972         * modules/sprintf-posix (Depends-on): Likewise.
56973         * modules/vasnprintf (Depends-on): Likewise.
56974         * modules/vasprintf (Depends-on): Likewise.
56975         * modules/vfprintf-posix (Depends-on): Likewise.
56976         * modules/vsnprintf (Depends-on): Likewise.
56977         * modules/vsprintf-posix (Depends-on): Likewise.
56978         * modules/xvasprintf (Depends-on): Likewise.
56979         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56980         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56981         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56982         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56983         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56984         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56985         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56986         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56987         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56988         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56989         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56990         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56991         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56992         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56993         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56994         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56995         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56996         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56997         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56998         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56999         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57000         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57001         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57002         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57003         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57004         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57005         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57006         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57007         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57008         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57009         * MODULES.html.sh: Remove EOVERFLOW.
57010         * NEWS: Mention the change.
57011
57012 2008-09-13  Bruno Haible  <bruno@clisp.org>
57013
57014         * modules/errno-tests: New file.
57015         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57016
57017         * lib/errno.in.h: New file.
57018         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57019         * modules/errno: New file.
57020         * doc/posix-headers/errno.texi: Update documentation.
57021         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57022
57023 2008-09-13  Bruno Haible  <bruno@clisp.org>
57024
57025         * tests/test-poll.c: Use #if for native Windows, rather than testing
57026         __MSVCRT__.
57027
57028 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57029             Bruno Haible  <bruno@clisp.org>
57030
57031         * lib/glob.c: Don't include <pwd.h> on native Windows.
57032         (WINDOWS32): New macro.
57033         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57034
57035 2008-09-13  Bruno Haible  <bruno@clisp.org>
57036
57037         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57038         (ETIMEDOUT): Remove macro.
57039         (glthread_cond_timedwait_multithreaded): New declaration.
57040         (glthread_cond_timedwait): Use it.
57041         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57042         (glthread_cond_timedwait_multithreaded): New function.
57043
57044 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57045
57046         * modules/poll-tests: Do not check for io.h.
57047         * tests/test-poll.c: Check for __MSVCRT__ instead.
57048
57049 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57050
57051         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57052         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57053         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57054
57055 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57056
57057         * modules/poll-tests: New.
57058         * tests/test-poll.c: New.
57059
57060 2008-09-12  Eric Blake  <ebb9@byu.net>
57061
57062         frexp: test for NetBSD failure on -0.0
57063         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57064         not all, bugs from NetBSD 3.0 have been fixed.
57065         * doc/posix-functions/frexp.texi (frexp): Document bug.
57066         Reported by Thomas Klausner.
57067
57068         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57069         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57070         literal -0.0.
57071         Reported by Jonathan C. Patschke <jp@centtech.com>.
57072
57073 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57074
57075         * lib/glthread/cond.h: Use dummy implementation also if
57076         USE_WIN32_THREADS.
57077
57078 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57079
57080         * modules/fnmatch-posix (License): Change to LGPLv2+.
57081         * modules/fnmatch-gnu (License): Likewise.
57082
57083 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57084
57085         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57086
57087 2008-09-11  Jim Meyering  <meyering@redhat.com>
57088
57089         * users.txt: Add gtk-vnc.
57090
57091 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57092
57093         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57094         rotate amounts.
57095
57096         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57097         required for 16-bit and 8-bit rotates.
57098         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57099         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57100         UINT8_MAX instead of hard-coded constants.
57101         Suggested by Paul Eggert.
57102
57103 2008-09-07  Bruno Haible  <bruno@clisp.org>
57104
57105         * tests/test-striconveh.c (main): Check behaviour when converting from
57106         UTF-7.
57107
57108         Make striconveh work better with stateful encodings.
57109         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57110         that iconv does not increment the inptr when returning -1/EINVAL.
57111
57112 2008-09-07  Bruno Haible  <bruno@clisp.org>
57113
57114         * build-aux/config.rpath: Update according to libtool-2.2.6.
57115         * build-aux/config.libpath: Likewise.
57116
57117 2008-09-06  Bruno Haible  <bruno@clisp.org>
57118
57119         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57120         * lib/freadptr.c (freadptr): Likewise.
57121         * lib/freadseek.c (freadptrinc): Likewise.
57122         Reported by Simon Josefsson.
57123
57124 2008-09-06  Bruno Haible  <bruno@clisp.org>
57125
57126         * modules/freadptr (License): Change to LGPLv2+.
57127         * modules/freadseek (License): Likewise.
57128         Suggested by Eric Blake.
57129
57130         * modules/memchr2 (License): Change to LGPLv2+.
57131         Approved by Eric Blake.
57132
57133 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57134             Bruno Haible  <bruno@clisp.org>
57135
57136         Make gnulib-tool work with native 'sed' on AIX.
57137         * gnulib-tool (sed_noop): New variable.
57138         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57139         func_add_or_update, func_create_testdir): Use it to initialize sed
57140         script variables.
57141         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57142
57143 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57144             Bruno Haible  <bruno@clisp.org>
57145
57146         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57147         also works after #include directives.
57148
57149 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
57150
57151         getdate.y: reject an out-of-range timezone value
57152         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57153         the range [-24...+24].  When specified with only one or two digits,
57154         * tests/test-getdate.c: Tests for the fix.
57155         * doc/getdate.texi: Document this change.
57156
57157 2008-09-03  Bruno Haible  <bruno@clisp.org>
57158
57159         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57160
57161 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57162
57163         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57164         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57165         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57166         Blake <ebb9@byu.net>.
57167
57168         * tests/test-bitrotate.c: Add more test vectors.
57169
57170 2008-09-02  Eric Blake  <ebb9@byu.net>
57171
57172         vasnprintf-posix: handle large precision via %.*d
57173         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57174         when handling it ourselves.
57175         * tests/test-vasnprintf-posix.c (test_function): Add test.
57176         * tests/test-snprintf-posix.h (test_function): Likewise.
57177         * tests/test-sprintf-posix.h (test_function): Likewise.
57178         * tests/test-vasprintf-posix.c (test_function): Likewise.
57179         Reported by Alain Guibert.
57180
57181 2008-09-01  Eric Blake  <ebb9@byu.net>
57182
57183         c-stack: make configure-time check more robust
57184         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57185         successful sigaction call.
57186         Reported by Tom G. Christensen.
57187
57188 2008-09-01  Bruno Haible  <bruno@clisp.org>
57189
57190         New module 'findprog-lgpl'.
57191         * modules/findprog-lgpl: New file.
57192         * lib/findprog-lgpl.c: New file.
57193         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57194         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57195         to decide whether to use strdup or xstrdup, concatenated_filename or
57196         xconcatenated_filename.
57197
57198 2008-09-01  Bruno Haible  <bruno@clisp.org>
57199
57200         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57201         'xconcat-filename' (GPL).
57202         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57203         (License): Change to LGPLv2+.
57204         * modules/xconcat-filename: New file.
57205         * lib/concat-filename.h (concatenated_filename): Change specification.
57206         (xconcatenated_filename): New declaration.
57207         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57208         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57209         memory situations.
57210         * lib/xconcat-filename.c: New file.
57211         * NEWS: Mention the change.
57212         * lib/findprog.c: Include concat-filename.h, not filename.h.
57213         (find_in_path): Use xconcatenated_filename instead of
57214         concatenated_filename.
57215         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57216         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57217         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57218         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57219         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57220         instead of concatenated_filename.
57221         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57222         (execute_java_class): Use xconcatenated_filename instead of
57223         concatenated_filename.
57224         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57225         * modules/javacomp (Depends-on): Likewise.
57226         * modules/javaexec (Depends-on): Likewise.
57227
57228 2008-09-01  Bruno Haible  <bruno@clisp.org>
57229
57230         Split module 'filename' into 'filename' and 'concat-filename'.
57231         * modules/filename: Keep only lib/filename.h.
57232         (License): Change to LGPLv2+.
57233         * modules/concat-filename: New file, extracted from modules/filename.
57234         * lib/filename.h (concatenated_filename): Remove declaration.
57235         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57236         * lib/concat-filename.c: Include concat-filename.h.
57237         * NEWS: Mention the change.
57238
57239 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57240
57241         * lib/bitrotate.h (rotl8, rotr8): Add.
57242
57243         * modules/bitrotate (configure.ac): Need
57244         AC_REQUIRE([AC_C_INLINE]).
57245         (Description): Mention stdint.h.  Reported by Bruno Haible
57246         <bruno@clisp.org>.
57247
57248         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57249         Paolo Bonzini <bonzini@gnu.org>.
57250
57251 2008-08-31  Bruno Haible  <bruno@clisp.org>
57252
57253         Assume Solaris specific bi-arch conventions on Solaris systems.
57254         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57255         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57256         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57257         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57258         like acl_libdirstem.
57259         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57260         acl_libdirstem.
57261         * NEWS: Mention the change.
57262         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57263
57264 2008-08-31  Jim Meyering  <meyering@redhat.com>
57265
57266         * lib/strftime.h: Add comments describing the two added arguments.
57267
57268         remove duplicate #include directives
57269         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57270         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57271
57272 2008-08-31  Bruno Haible  <bruno@clisp.org>
57273
57274         New module 'sigpipe-die'.
57275         * modules/sigpipe-die: New file.
57276         * lib/sigpipe-die.h: New file.
57277         * lib/sigpipe-die.c: New file.
57278         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57279
57280 2008-08-31  Bruno Haible  <bruno@clisp.org>
57281
57282         Don't override previously installed signal handlers.
57283         * lib/fatal-signal.c (saved_sigactions): New variable.
57284         (uninstall_handlers): Reset the signal to the saved handler, not
57285         to SIG_DFL (except when ignored).
57286         (install_handlers): Save the previous handlers.
57287
57288 2008-08-30  Bruno Haible  <bruno@clisp.org>
57289
57290         * gnulib-tool (func_reset_sigpipe): New function.
57291         (func_get_automake_snippet, func_modules_transitive_closure,
57292         func_import): Invoke it before a join command that reads from stdin,
57293         to avoid "echo: write error: Broken pipe" error messages on stderr.
57294         Reported by Sam Steingold <sds@gnu.org>.
57295
57296 2008-08-30  Bruno Haible  <bruno@clisp.org>
57297
57298         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57299         Code copied from m4/open.m4.
57300         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57301         access and the filename ends in a slash. Code copied from lib/open.c.
57302         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57303         * tests/test-fopen.c (main): Check against bug with trailing slash.
57304
57305 2008-08-29  Bruno Haible  <bruno@clisp.org>
57306
57307         Avoid some "gcc -pedantic" warnings.
57308         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57309         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57310         * lib/dirent.in.h: Likewise.
57311         * lib/fcntl.in.h: Likewise.
57312         * lib/float.in.h: Likewise.
57313         * lib/iconv.in.h: Likewise.
57314         * lib/inttypes.in.h: Likewise.
57315         * lib/locale.in.h: Likewise.
57316         * lib/math.in.h: Likewise.
57317         * lib/netinet_in.in.h: Likewise.
57318         * lib/search.in.h: Likewise.
57319         * lib/signal.in.h: Likewise.
57320         * lib/stdarg.in.h: Likewise.
57321         * lib/stdint.in.h: Likewise.
57322         * lib/stdio.in.h: Likewise.
57323         * lib/stdlib.in.h: Likewise.
57324         * lib/string.in.h: Likewise.
57325         * lib/strings.in.h: Likewise.
57326         * lib/sys_select.in.h: Likewise.
57327         * lib/sys_socket.in.h: Likewise.
57328         * lib/sys_stat.in.h: Likewise.
57329         * lib/sys_time.in.h: Likewise.
57330         * lib/sysexits.in.h: Likewise.
57331         * lib/time.in.h: Likewise.
57332         * lib/unistd.in.h: Likewise.
57333         * lib/wchar.in.h: Likewise.
57334         * lib/wctype.in.h: Likewise.
57335         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57336         * modules/fchdir (Makefile.am): Likewise.
57337         * modules/fcntl (Makefile.am): Likewise.
57338         * modules/float (Makefile.am): Likewise.
57339         * modules/iconv_open (Makefile.am): Likewise.
57340         * modules/inttypes (Makefile.am): Likewise.
57341         * modules/locale (Makefile.am): Likewise.
57342         * modules/math (Makefile.am): Likewise.
57343         * modules/netinet_in (Makefile.am): Likewise.
57344         * modules/search (Makefile.am): Likewise.
57345         * modules/signal (Makefile.am): Likewise.
57346         * modules/stdarg (Makefile.am): Likewise.
57347         * modules/stdint (Makefile.am): Likewise.
57348         * modules/stdio (Makefile.am): Likewise.
57349         * modules/stdlib (Makefile.am): Likewise.
57350         * modules/string (Makefile.am): Likewise.
57351         * modules/strings (Makefile.am): Likewise.
57352         * modules/sys_select (Makefile.am): Likewise.
57353         * modules/sys_socket (Makefile.am): Likewise.
57354         * modules/sys_stat (Makefile.am): Likewise.
57355         * modules/sys_time (Makefile.am): Likewise.
57356         * modules/sysexits (Makefile.am): Likewise.
57357         * modules/time (Makefile.am): Likewise.
57358         * modules/unistd (Makefile.am): Likewise.
57359         * modules/wchar (Makefile.am): Likewise.
57360         * modules/wctype (Makefile.am): Likewise.
57361         Reported by Reuben Thomas <rrt@sc3d.org>.
57362
57363 2008-08-29  Bruno Haible  <bruno@clisp.org>
57364
57365         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57366         any more.
57367
57368 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57369
57370         * MODULES.html.sh (Misc): Add bitrotate.
57371
57372         * modules/bitrotate: New file.
57373
57374         * lib/bitrotate.h: New file.
57375
57376         * modules/bitrotate-tests: New file.
57377
57378         * tests/test-bitrotate.c: New file.
57379
57380         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57381         on the bitrotate module.
57382
57383         * lib/arctwo.c: Use new bitrotate module.
57384
57385 2008-08-29  Jim Meyering  <meyering@redhat.com>
57386
57387         bootstrap: merge changes from coreutils
57388         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57389         of copied files.  Remove a kludge, now that this is fixed.
57390         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57391         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57392         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57393
57394 2008-08-29  Bruno Haible  <bruno@clisp.org>
57395
57396         * MODULES.html.sh: Remove --cvs-urls option.
57397
57398 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57399
57400         maint.mk: adjust to file name change
57401         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57402
57403 2008-08-28  Jim Meyering  <meyering@redhat.com>
57404
57405         * modules/getndelim2 (License): Relicense to LGPLv2+.
57406         Approved by Richard Stallman for the version of 1995, and by
57407         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57408
57409 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57410
57411         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57412         dummy if one is not available.  Do not touch them if
57413         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57414         (getc_maybe_unlocked): New.
57415         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57416
57417 2008-08-26  Eric Blake  <ebb9@byu.net>
57418
57419         doc/INSTALL: resync from autoconf
57420         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57421         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57422         moving...
57423         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57424         * INSTALL: Regenerate.
57425         * INSTALL.ISO: New file.
57426         * INSTALL.UTF-8: Likewise.
57427
57428 2008-08-26  Jim Meyering  <meyering@redhat.com>
57429
57430         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57431         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57432         these definitions conditional, so that they may be overridden, too.
57433
57434 2008-08-26  Bruno Haible  <bruno@clisp.org>
57435
57436         Generate INSTALL file variants with prettier quotes.
57437         * doc/Makefile (INSTALL_PRELUDE): New macro.
57438         (INSTALL): Use it.
57439         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57440
57441 2008-08-26  Bruno Haible  <bruno@clisp.org>
57442
57443         Run makeinfo in an English locale.
57444         * doc/Makefile (MAKEINFO): New variable.
57445
57446 2008-08-26  Bruno Haible  <bruno@clisp.org>
57447
57448         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57449         Suggested by Eric Blake.
57450
57451 2008-08-25  Bruno Haible  <bruno@clisp.org>
57452
57453         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57454
57455 2008-08-25  Eric Blake  <ebb9@byu.net>
57456
57457         c-stack: test that stack overflow can be caught
57458         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57459         that platform allows handling stack overflow; at least OS/2 EMX
57460         has sigaltstack, but crashes before transferring control to
57461         handler on stack overflow.
57462         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57463         check for HAVE_STACK_OVERFLOW_HANDLING.
57464         Reported by Elbert Pol.
57465
57466 2008-08-25  Bruno Haible  <bruno@clisp.org>
57467
57468         * doc/posix-functions/strftime.texi: Fix description of strftime
57469         module.
57470
57471 2008-08-24  Bruno Haible  <bruno@clisp.org>
57472
57473         * tests/uniwidth/test-uc_width2.c: New file.
57474         * tests/uniwidth/test-uc_width2.sh: New file.
57475         * modules/uniwidth/width-tests (Files): Add the new files.
57476         (TESTS): Add uniwidth/test-uc_width2.sh.
57477         (TESTS_ENVIRONMENT): New variable.
57478         (check_PROGRAMS): Add test-uc_width2.
57479         (test_uc_width2_SOURCES): New variable.
57480
57481         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57482         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57483         not 0x00AB.
57484         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57485
57486 2008-08-22  Eric Blake  <ebb9@byu.net>
57487
57488         test-lock, test-tls: mention why a test is skipped
57489         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57490         skipped.
57491         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57492
57493         count-one-bits: relax license
57494         * modules/count-one-bits (License): Relicense to LGPLv2+.
57495         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57496
57497 2008-08-22  Andreas Schwab  <schwab@suse.de>
57498
57499         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57500         Remove spurious space in assignment.
57501
57502 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57503
57504         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57505         Paul Eggert <eggert@CS.UCLA.EDU>.
57506
57507 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57508
57509         * modules/gettext: Add m4/threadlib.m4.
57510
57511 2008-08-19  Eric Blake  <ebb9@byu.net>
57512
57513         test-c-stack: fix compilation failure on FreeBSD 5.0
57514         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57515         headers before <sys/resource.h>.
57516         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57517         the bug.
57518         Reported by Nelson H. F. Beebe.
57519
57520         strverscmp: migrate from "strverscmp.h" to <string.h>
57521         * modules/string (Makefile.am): Add new hooks.
57522         * modules/strverscmp (Files): Remove strverscmp.h.
57523         (Depends-on): Add string.
57524         (configure.ac): Add indicator.
57525         (Include): Mention new header.
57526         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57527         defaults.
57528         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57529         results.
57530         * lib/strverscmp.h: Delete.
57531         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57532         * tests/test-strverscmp.c (includes): Adjust client.
57533         * lib/check-version.c (includes): Likewise.
57534         * NEWS: Document the change.
57535
57536         strverscmp: add unit test
57537         * modules/strverscmp-tests: New file.
57538         * tests/test-strverscmp.c: Likewise.
57539
57540 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57541
57542         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57543         regarding Windows crypto stuff, from Mono.
57544
57545 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57546
57547         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57548         if present, for intel RND.  Return error on failures.
57549
57550 2008-08-18  Ben Pfaff  <blp@gnu.org>
57551
57552         gitlog-to-changelog: give better diagnostic for failed pipe-open
57553         * build-aux/gitlog-to-changelog: Improve error message: suggest
57554         that the version of Git may be too old.
57555
57556 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57557
57558         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57559         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57560
57561 2008-08-18  Bruno Haible  <bruno@clisp.org>
57562
57563         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57564         pthread_in_use().
57565
57566 2008-08-18  Bruno Haible  <bruno@clisp.org>
57567
57568         * lib/glthread/threadlib.c: Include <pthread.h>.
57569
57570 2008-08-18  Bruno Haible  <bruno@clisp.org>
57571
57572         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57573         glthread_recursive_lock_* macros.
57574         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57575         Fix syntax error.
57576
57577 2008-08-18  Bruno Haible  <bruno@clisp.org>
57578
57579         * lib/glthread/thread.c: Avoid forcing a context switch right after
57580         thread creation.
57581
57582 2008-08-17  Bruno Haible  <bruno@clisp.org>
57583
57584         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57585         * lib/glthread/thread.h: Provide Win32 specific implementation.
57586         * modules/thread (Files): Add lib/glthread/thread.c.
57587         (Depends-on): Add lock.
57588         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57589
57590 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57591
57592         New module 'yield'.
57593         * modules/yield: New file.
57594         * lib/glthread/yield.h: New file.
57595         * m4/yield.m4: New file.
57596         * MODULES.html.sh (Multithreading): Add yield.
57597
57598 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57599
57600         New module 'thread'.
57601         * modules/thread: New file.
57602         * lib/glthread/thread.h: New file.
57603         * m4/thread.m4: New file.
57604         * MODULES.html.sh (Multithreading): Add thread.
57605
57606 2008-08-17  Bruno Haible  <bruno@clisp.org>
57607
57608         * lib/glthread/lock.h: Include <stdlib.h> always.
57609         * lib/glthread/tls.h: Likewise.
57610         * lib/glthread/cond.h: Likewise.
57611
57612 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57613
57614         New module 'cond'.
57615         * modules/cond: New file.
57616         * lib/glthread/cond.h: New file.
57617         * lib/glthread/cond.c: New file.
57618         * m4/cond.m4: New file.
57619         * MODULES.html.sh (Multithreading): Add cond.
57620
57621 2008-08-16  Eric Blake  <ebb9@byu.net>
57622
57623         c-stack: fix regression on Irix 5.3 from 2008-06-21
57624         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57625         sa_sigaction...
57626         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57627         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57628         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57629         * modules/signal (Makefile.am): Use the value.
57630         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57631         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57632         * doc/posix-headers/signal.texi (signal.h): Document this
57633         portability issue.
57634         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57635         Reported by Tom G. Christensen.
57636
57637 2008-08-17  Bruno Haible  <bruno@clisp.org>
57638
57639         New module 'threadlib'.
57640         * modules/threadlib: New file.
57641         * lib/glthread/threadlib.c: New file, extracted from
57642         lib/glthread/lock.c.
57643         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57644         functions.
57645         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57646         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57647         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57648         macros.
57649         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57650         (gl_DISABLE_THREADS): Remove macro.
57651         * modules/lock (Files): Remove build-aux/config.rpath.
57652         (Depends-on): Remove havelib. Add threadlib.
57653         (configure.ac-early): Remove section.
57654         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57655         * modules/tls (Depends-on): Remove lock. Add threadlib.
57656         (Link): New section, copied from threadlib.
57657         * MODULES.html.sh (Multithreading): Add threadlib.
57658
57659 2008-08-14  Bruno Haible  <bruno@clisp.org>
57660
57661         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57662         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57663         glthread_rwlock_unlock, glthread_rwlock_destroy,
57664         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57665         glthread_recursive_lock_destroy): Define as macros always.
57666         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57667         glthread_lock_lock.
57668         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57669         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57670         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57671         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57672         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57673         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57674         (glthread_recursive_lock_lock_func): Renamed from
57675         glthread_recursive_lock_lock.
57676         (glthread_recursive_lock_unlock_func): Renamed from
57677         glthread_recursive_lock_unlock.
57678         (glthread_recursive_lock_destroy_func): Renamed from
57679         glthread_recursive_lock_destroy.
57680
57681 2008-08-14  Bruno Haible  <bruno@clisp.org>
57682
57683         * lib/glthread/lock.h: Renamed from lib/lock.h.
57684         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57685         * lib/glthread/tls.h: Renamed from lib/tls.h.
57686         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57687         * lib/fstrcmp.c: Update includes.
57688         * lib/strsignal.c: Update includes.
57689         * modules/lock (Files, Makefile.am): Update.
57690         (Include): Change to "glthread/lock.h".
57691         * modules/tls (Files, Makefile.am): Update.
57692         (Include): Change to "glthread/tls.h".
57693         * tests/test-lock.c: Update includes.
57694         * tests/test-tls.c: Update includes.
57695         * NEWS: Mention the renamed header files.
57696
57697 2008-08-11  Jim Meyering  <meyering@redhat.com>
57698
57699         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57700
57701 2008-08-11  Eric Blake  <ebb9@byu.net>
57702
57703         test-c-stack: avoid C99-ism
57704         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57705         before statement.
57706         Reported by Alain Guibert.
57707
57708 2008-08-10  Jim Meyering  <meyering@redhat.com>
57709
57710         ensure that return value of uinttostr et al are not ignored
57711         * lib/inttostr.h (__GNUC_PREREQ): Define.
57712         (__attribute_warn_unused_result__): Define.
57713         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57714
57715 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57716
57717         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57718         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57719
57720 2008-08-07  Jim Meyering  <meyering@redhat.com>
57721
57722         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57723
57724         * modules/mkstemp (License): Relicense under LGPLv2+.
57725         * modules/tempname (License): Likewise.
57726
57727 2008-08-06  Bruno Haible  <bruno@clisp.org>
57728
57729         * lib/poll.c (poll): Further micro-optimization.
57730
57731 2008-08-06  Jim Meyering  <meyering@redhat.com>
57732
57733         inet_pton.c: use locale-independent tolower
57734         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57735         (inet_pton6): Use c_tolower rather than tolower.
57736         * modules/inet_pton (Depends-on): Add c-ctype.
57737
57738 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57739
57740         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57741         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57742
57743 2008-08-06  Jim Meyering  <meyering@redhat.com>
57744
57745         * modules/inet_pton (License): Relicense under LGPLv2+.
57746
57747 2008-08-03  Bruno Haible  <bruno@clisp.org>
57748
57749         Additional non-aborting API for lock and tls.
57750         * lib/lock.h: Include <errno.h>.
57751         (glthread_lock_init): New macro/function.
57752         (gl_lock_init): Define as wrapper around glthread_lock_init.
57753         (glthread_lock_lock): New macro/function.
57754         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57755         (glthread_lock_unlock): New macro/function.
57756         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57757         (glthread_lock_destroy): New macro/function.
57758         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57759         (glthread_rwlock_init): New macro/function.
57760         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57761         (glthread_rwlock_rdlock): New macro/function.
57762         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57763         (glthread_rwlock_wrlock): New macro/function.
57764         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57765         (glthread_rwlock_unlock): New macro/function.
57766         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57767         (glthread_rwlock_destroy): New macro/function.
57768         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57769         (glthread_recursive_lock_init): New macro/function.
57770         (gl_recursive_lock_init): Define as wrapper around
57771         glthread_recursive_lock_init.
57772         (glthread_recursive_lock_lock): New macro/function.
57773         (gl_recursive_lock_lock): Define as wrapper around
57774         glthread_recursive_lock_lock.
57775         (glthread_recursive_lock_unlock): New macro/function.
57776         (gl_recursive_lock_unlock): Define as wrapper around
57777         glthread_recursive_lock_unlock.
57778         (glthread_recursive_lock_destroy): New macro/function.
57779         (gl_recursive_lock_destroy): Define as wrapper around
57780         glthread_recursive_lock_destroy.
57781         (glthread_once): New macro/function.
57782         (gl_once): Define as wrapper around glthread_once.
57783         Update function declarations.
57784         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57785         glthread_rwlock_init. Return error code.
57786         (glthread_rwlock_rdlock_multithreaded): Renamed from
57787         glthread_rwlock_rdlock. Return error code.
57788         (glthread_rwlock_wrlock_multithreaded): Renamed from
57789         glthread_rwlock_wrlock. Return error code.
57790         (glthread_rwlock_unlock_multithreaded): Renamed from
57791         glthread_rwlock_unlock. Return error code.
57792         (glthread_rwlock_destroy_multithreaded): Renamed from
57793         glthread_rwlock_destroy. Return error code.
57794         (glthread_recursive_lock_init_multithreaded): Renamed from
57795         glthread_recursive_lock_init. Return error code.
57796         (glthread_recursive_lock_lock_multithreaded): Renamed from
57797         glthread_recursive_lock_lock. Return error code.
57798         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57799         glthread_recursive_lock_unlock. Return error code.
57800         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57801         glthread_recursive_lock_destroy. Return error code.
57802         (glthread_once_call): Make static.
57803         (glthread_once_multithreaded): Renamed from glthread_once.
57804         * lib/tls.h: Include <errno.h>.
57805         (glthread_tls_key_init): New macro/function.
57806         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57807         (glthread_tls_set): New macro/function.
57808         (gl_tls_set): Define as wrapper around glthread_tls_set.
57809         (glthread_tls_key_destroy): New macro/function.
57810         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57811         Update function declarations.
57812         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57813         glthread_tls_get.
57814         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57815
57816 2008-08-04  Eric Blake  <ebb9@byu.net>
57817
57818         gnumakefile: use space, not TAB, outside of targets
57819         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57820
57821 2008-08-02  Jim Meyering  <meyering@redhat.com>
57822
57823         getdate.y: avoid locale-dependent date parsing failure
57824         In Turkish locales, getdate would fail to recognize keywords
57825         containing a lowercase "i".  The solution is not to rely on
57826         locale-sensitive case-conversion.
57827         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57828         (lookup_word): Use c_toupper in place of toupper.
57829         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57830         Reported by Vefa Bicakci <bicave@superonline.com> in
57831         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57832         * modules/getdate (Depends-on): Add c-ctype.
57833
57834 2008-08-02  Bruno Haible  <bruno@clisp.org>
57835
57836         * gnulib-tool (func_import): When updating or creating a .gitignore
57837         file, prepend each added line with a slash, and ignore leading slashes
57838         from the existing lines.
57839         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57840
57841 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57842
57843         Portability fix for GNU make 3.79.1.
57844         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57845         versions do not understand.
57846
57847 2008-08-01  Bruno Haible  <bruno@clisp.org>
57848
57849         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57850         * tests/test-isnanf.h (zero): New variable.
57851         (main): Avoid literal -0.0f.
57852         * tests/test-isnand.h (zero): New variable.
57853         (main): Avoid literal -0.0.
57854         * tests/test-isnanl.h (zero): New variable.
57855         (main): Avoid literal -0.0L.
57856         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57857         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57858         -0.0, -0.0L.
57859         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57860         (test_signbitd): Avoid literal -0.0.
57861         (test_signbitl): Avoid literal -0.0L.
57862         * tests/test-ceilf1.c (zero): New variable.
57863         (main): Avoid literal -0.0f.
57864         * tests/test-ceill.c (zero): New variable.
57865         (main): Avoid literal -0.0L.
57866         * tests/test-floorf1.c (zero): New variable.
57867         (main): Avoid literal -0.0f.
57868         * tests/test-floorl.c (zero): New variable.
57869         (main): Avoid literal -0.0L.
57870         * tests/test-roundf1.c (zero): New variable.
57871         (main): Avoid literal -0.0f.
57872         * tests/test-round1.c (zero): New variable.
57873         (main): Avoid literal -0.0.
57874         * tests/test-roundl.c (zero): New variable.
57875         (main): Avoid literal -0.0L.
57876         * tests/test-truncf1.c (zero): New variable.
57877         (main): Avoid literal -0.0f.
57878         * tests/test-trunc1.c (zero): New variable.
57879         (main): Avoid literal -0.0.
57880         * tests/test-truncl.c (zero): New variable.
57881         (main): Avoid literal -0.0L.
57882         * tests/test-frexp.c (zero): New variable.
57883         (main): Avoid literal -0.0.
57884         * tests/test-frexpl.c (zero): New variable.
57885         (main): Avoid literal -0.0L.
57886         * tests/test-ldexpl.c (zero): New variable.
57887         (main): Avoid literal -0.0L.
57888         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57889         (zerod, zerol): New variables.
57890         (test_function): Avoid literals -0.0, -0.0L.
57891         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57892         (zerod, zerol): New variables.
57893         (test_function): Avoid literals -0.0, -0.0L.
57894         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57895         (zerod, zerol): New variables.
57896         (test_function): Avoid literals -0.0, -0.0L.
57897         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57898         (zerod, zerol): New variables.
57899         (test_function): Avoid literals -0.0, -0.0L.
57900         * tests/test-strtod.c (zero): New variable.
57901         (main): Avoid literal -0.0.
57902         Reported by Jonathan C. Patschke <jp@centtech.com>.
57903
57904 2008-07-31  Jim Meyering  <meyering@redhat.com>
57905
57906         sha256.h: correct definition of SHA224_DIGEST_SIZE
57907         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57908         Reported by Paulie Pena IV <paulie4@gmail.com>.
57909         Define as 224 / 8, rather than as a literal.
57910         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57911         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57912         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57913
57914 2008-07-31  Bruno Haible  <bruno@clisp.org>
57915
57916         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57917         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57918         Reported by Jonathan Patschke <jp@centtech.com>.
57919
57920 2008-07-31  Bruno Haible  <bruno@clisp.org>
57921
57922         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57923         Reported by Paolo Bonzini <bonzini@gnu.org>.
57924
57925 2008-07-30  Eric Blake  <ebb9@byu.net>
57926
57927         test-strtod: allow compilation without -lm
57928         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57929         Reported by Dennis Clarke <blastwave@gmail.com>.
57930
57931 2008-07-28  Jim Meyering  <meyering@redhat.com>
57932
57933         bootstrap: work also when there are no .po files in po/
57934         * build-aux/bootstrap (update_po_files): Complete the change
57935         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57936
57937 2008-07-27  Jim Meyering  <meyering@redhat.com>
57938
57939         * users.txt: Add zile.
57940
57941 2008-07-26  Ben Pfaff  <blp@gnu.org>
57942
57943         Add missing dependencies on new m4/exponent[fdl].m4 files.
57944         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57945         * modules/isnand-nolibm: Add m4/exponentd.m4.
57946         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57947         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57948         m4/isnan[fdl].m4, because the macros actually used moved.
57949         Reported by Jim Meyering.
57950
57951 2008-07-14  Ben Pfaff  <blp@gnu.org>
57952
57953         Add isinf module.
57954         * lib/isinf.c: New file.
57955         * lib/math.in.h: Define isinf macro if we have decided to replace
57956         it.
57957         * m4/isinf.m4: New file.
57958         * m4/math_h.m4: Initialize and substitute variables for isinf
57959         module.
57960         * modules/isinf: New file.
57961         * modules/isinf-tests: New file.
57962         * modules/math: Add substitutions for new module.
57963         * tests/test-isinf.c: New file.
57964         * doc/posix-functions/isinf.texi: Mention new module.
57965         * MODULES.html.sh: Mention new module.
57966
57967 2008-07-14  Ben Pfaff  <blp@gnu.org>
57968
57969         Factor out some macros for use by additional modules.
57970         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57971         exponentf.m4.
57972         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57973         exponentd.m4.
57974         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57975         file exponentl.m4.
57976         * m4/exponentf.m4: New file.
57977         * m4/exponentd.m4: New file.
57978         * m4/exponentl.m4: New file.
57979         * modules/isnanf: Use new file m4/exponentf.m4.
57980         * modules/isnand: Use new file m4/exponentd.m4.
57981         * modules/isnanl: Use new file m4/exponentl.m4.
57982
57983 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57984
57985         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57986         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57987         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57988         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57989
57990         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57991         readlink on platforms without PATH_MAX.
57992
57993 2008-07-21  Eric Blake  <ebb9@byu.net>
57994
57995         Warn, not fail, on stale version.
57996         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57997
57998         Don't allow installation with stale devel version number.
57999         * top/GNUmakefile (_is-install-target): New macro.
58000         (_curr-ver): Forbid installation with stale version number.
58001
58002 2008-07-20  Bruno Haible  <bruno@clisp.org>
58003
58004         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58005         TESTS_ENVIRONMENT.
58006         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58007
58008 2008-07-20  Bruno Haible  <bruno@clisp.org>
58009
58010         * lib/c-stack.h (c_stack_action): Add documentation.
58011         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58012
58013 2008-07-20  Bruno Haible  <bruno@clisp.org>
58014
58015         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58016         * modules/readlink (License): Likewise.
58017
58018 2008-07-17  Eric Blake  <ebb9@byu.net>
58019
58020         * modules/c-stack (Link): Fix typo.
58021
58022         Make c-stack use libsigsegv, when available.
58023         * modules/c-stack (Depends-on): Add libsigsegv.
58024         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58025         needed.
58026         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58027         (segv_handler, overflow_handler, c_stack_action)
58028         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58029         implementation when libsigsegv is available, but only when using
58030         the library is necessary.
58031         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58032         comment, explaining why XSI check fails on Linux.
58033         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58034         * tests/test-c-stack2.sh: Tweak skip message.
58035         * NEWS: Document new link-time requirements.
58036
58037 2008-07-16  Eric Blake  <ebb9@byu.net>
58038
58039         c-stack: Expose false positives when not using libsigsegv.
58040         * modules/c-stack-tests (Files): Expand test.
58041         * tests/test-c-stack.c (main): Add means to conditionally trigger
58042         non-overflow SIGSEGV.
58043         * tests/test-c-stack2.sh: New file.
58044
58045 2008-07-14  Bruno Haible  <bruno@clisp.org>
58046
58047         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58048         Reported by Eric Blake.
58049
58050 2008-07-14  Sam Steingold  <sds@gnu.org>
58051             Bruno Haible  <bruno@clisp.org>
58052
58053         New module libsigsegv.
58054         * modules/libsigsegv: New file.
58055         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58056         modifications.
58057         * MODULES.html.sh (Signal handling): New section.
58058
58059 2008-07-14  Bruno Haible  <bruno@clisp.org>
58060
58061         * modules/unictype/ctype-* (Description): Add the word "function".
58062         Improves the resulting doc in MODULES.html.
58063
58064 2008-07-12  Ben Pfaff  <blp@gnu.org>
58065
58066         Add longlong module.
58067         * modules/longlong: New file.
58068
58069 2008-07-12  Bruno Haible  <bruno@clisp.org>
58070
58071         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58072         to empty.
58073
58074 2008-07-10  Ben Pfaff  <blp@gnu.org>
58075
58076         Add isnan module.
58077         * doc/posix-functions/isnan.texi: Mention new module.
58078         * lib/math.in.h: Define isnan macro if we have decided to replace
58079         it.
58080         * m4/isnan.m4: New file.
58081         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58082         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58083         also.
58084         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58085         redundancy.
58086         * m4/math_h.m4: Initialize and substitute variables for isnan
58087         module.
58088         * modules/isnan: New file.
58089         * modules/isnan-tests: New file.
58090         * modules/math: Add substitutions for new module.
58091         * tests/test-isnan.c: New file.
58092         * MODULES.html.sh: Mention new module.
58093
58094 2008-07-10  Ben Pfaff  <blp@gnu.org>
58095
58096         Add isnanf module.
58097         * lib/isnanf.m4: New file.
58098         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58099         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58100         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58101         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58102         * modules/isnanf: New file.
58103         * modules/isnanf-tests: New file.
58104         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58105         files.
58106         * tests/test-isnanf-nolibm.c: factored most of its contents into
58107         new file tests/test-isnanf.h.
58108         * tests/test-isnanf.h: New file.
58109         * tests/test-isnanf.c: New file.
58110         * MODULES.html.sh: Mention new module.
58111         * doc/glibc-functions/isnanf.texi: Mention new module.
58112
58113 2008-07-10  Ben Pfaff  <blp@gnu.org>
58114
58115         Add isnand module.
58116         * lib/isnand.h: New file.
58117         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58118         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58119         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58120         functionality also.
58121         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58122         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58123         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58124         * modules/isnand: New file.
58125         * modules/isnand-tests: New file.
58126         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58127         files.
58128         * tests/test-isnand-nolibm.c: factored most of its contents into
58129         new file tests/test-isnand.h.
58130         * tests/test-isnand.h: New file.
58131         * tests/test-isnand.c: New file.
58132         * MODULES.html.sh: Mention new module.
58133
58134 2008-07-10  Ben Pfaff  <blp@gnu.org>
58135
58136         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58137         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58138         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58139         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58140         * modules/isnanf-nolibm: Update references to renamed files.
58141         * modules/isnand-nolibm: Likewise.
58142         * modules/isnanf-nolibm-tests: Likewise.
58143         * modules/isnand-nolibm-tests: Likewise.
58144         * lib/frexp.c: Likewise.
58145         * lib/isfinite.c: Likewise.
58146         * lib/signbitd.c: Likewise.
58147         * lib/signbitf.c: Likewise.
58148         * lib/vasnprintf.c: Likewise.
58149         * tests/test-ceilf1.c: Likewise.
58150         * tests/test-ceilf2.c: Likewise.
58151         * tests/test-floorf1.c: Likewise.
58152         * tests/test-floorf2.c: Likewise.
58153         * tests/test-frexp.c: Likewise.
58154         * tests/test-round1.c: Likewise.
58155         * tests/test-round2.c: Likewise.
58156         * tests/test-roundf1.c: Likewise.
58157         * tests/test-strtod.c: Likewise.
58158         * tests/test-trunc1.c: Likewise.
58159         * tests/test-trunc2.c: Likewise.
58160         * tests/test-truncf1.c: Likewise.
58161         * tests/test-truncf2.c: Likewise.
58162         * NEWS: Mention the renamed header files.
58163
58164 2008-07-11  Jim Meyering  <meyering@redhat.com>
58165
58166         vc-list-files: make the last-resort awk code more portable
58167         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58168         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58169         does not support it.
58170
58171 2008-07-10  Eric Blake  <ebb9@byu.net>
58172
58173         Work with tar's bootstrap.
58174         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58175         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58176         an m4 comment.
58177
58178 2008-07-09  Jim Meyering  <meyering@redhat.com>
58179
58180         posix-shell.m4: fix typo that made this test malfunction
58181         * m4/posix-shell.m4: Remove capitalization in variable name.
58182
58183 2008-07-08  Bruno Haible  <bruno@clisp.org>
58184
58185         * m4/onceonly.m4: Update comments.
58186         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58187
58188 2008-07-04  Jim Meyering  <meyering@redhat.com>
58189
58190         * users.txt: Add vc-dwim.
58191         (bison, coreutils): Use the gitweb URL.
58192
58193 2008-07-03  Jim Meyering  <meyering@redhat.com>
58194
58195         * users.txt: Add libffcall.  From Sam Steingold.
58196
58197 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
58198
58199         getdate.y: do not ignore TZ with relative day, month or year offset
58200         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58201         relative-date-handling, since otherwise, the latter would clobber the
58202         sole output (an updated Start value) of the tz-handling block.
58203         * tests/test-getdate.c: Tests for the fix
58204
58205 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58206
58207         Recognize 'foo_LIBRARIES += libgnu.a'.
58208         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58209         makefile snippet has already specified an installation location,
58210         also using '+='.
58211
58212 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
58213
58214         getdate.y: factor out common actions
58215         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58216         Use them in place of open-coded actions.
58217
58218 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58219
58220         Add self-test for getdate module.
58221         * modules/getdate-tests: New file.
58222         * tests/test-getdate.c: New file.
58223
58224 2008-06-29  Bruno Haible  <bruno@clisp.org>
58225
58226         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58227         .gitignore.
58228         Reported by Sylvain Beucler <beuc@beuc.net>.
58229
58230 2008-06-29  Bruno Haible  <bruno@clisp.org>
58231
58232         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58233         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58234
58235 2008-06-29  Bruno Haible  <bruno@clisp.org>
58236
58237         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58238         EXTRA_DIST.
58239         Reported by Sylvain Beucler <beuc@beuc.net>.
58240
58241 2008-06-26  Jim Meyering  <meyering@redhat.com>
58242
58243         make several modules depend on the "open" module
58244         This provides slightly increased consistency when opening-for-write
58245         the name of a non-directory spelled with a trailing slash.
58246         * modules/chdir-safer: Likewise.
58247         * modules/chown: Likewise.
58248         * modules/clean-temp: Likewise.
58249         * modules/copy-file: Likewise.
58250         * modules/fchdir: Likewise.
58251         * modules/fcntl-safer: Likewise.
58252         * modules/pipe: Likewise.
58253         * modules/utime: Likewise.
58254         Prompted by Eric Blake and Bruno Haible.
58255
58256 2008-06-24  Andreas Schwab  <schwab@suse.de>
58257
58258         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58259         literals can be used as initializers for global variables.
58260
58261 2008-06-23  Eric Blake  <ebb9@byu.net>
58262
58263         Make gnulib-cache.m4 easier to diff.
58264         * gnulib-tool (func_import): Allow newlines when reading cached
58265         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58266
58267 2008-06-23  Bruno Haible  <bruno@clisp.org>
58268
58269         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58270         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58271         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58272         m4/signalblocking.m4.
58273         (gl_PREREQ_SIGACTION): Don't invoke it.
58274         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58275         gl_PREREQ_SIG_HANDLER_H.
58276         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58277         Don't check for sigaction here.
58278
58279 2008-06-23  Bruno Haible  <bruno@clisp.org>
58280
58281         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58282         (install_handlers): Don't set the SA_RESETHAND flag.
58283
58284 2008-06-23  Bruno Haible  <bruno@clisp.org>
58285
58286         * m4/sigaction.m4: Comment fixes.
58287         * lib/signal.in.h: Likewise.
58288
58289 2008-06-23  Eric Blake  <ebb9@byu.net>
58290
58291         Fix typo.
58292         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58293
58294         Avoid SA_ namespace.
58295         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58296         Reported by Ralf Wildenhues.
58297
58298         Avoid test failure due to SA_RESTORER.
58299         * tests/test-sigaction.c (SA_MASK): New macro.
58300         (main): Avoid failing due to extension flags being set.
58301         Reported by Jim Meyering.
58302
58303         Revert use of sig-handler.h in sigprocmask.c.
58304         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58305         it requires the existence of struct sigaction.
58306         * lib/sigprocmask.c (handler_t): Restore typedef.
58307         (rpl_signal, old_handlers): Use local type.
58308
58309 2008-06-22  Bruno Haible  <bruno@clisp.org>
58310
58311         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58312         conditionally.
58313         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58314
58315 2008-06-22  Bruno Haible  <bruno@clisp.org>
58316
58317         * doc/posix-functions/siginterrupt.texi: Move note.
58318
58319         * lib/signal.in.h (SA_RESTART): New macro.
58320         * lib/sigaction.c: Update comment.
58321
58322         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58323
58324         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58325         (gl_PREREQ_SIGPROCMASK): Invoke it.
58326         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58327
58328         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58329
58330         * lib/sigprocmask.c: Update a comment.
58331
58332 2008-06-21  Eric Blake  <ebb9@byu.net>
58333
58334         Use sigaction module rather than signal().
58335         * modules/c-stack (Depends-on): Add sigaction.
58336         * modules/fatal-signal (Depends-on): Likewise.
58337         * modules/nanosleep (Depends-on): Likewise.
58338         * modules/sigprocmask (Files): Add sig-handler.h.
58339         * modules/sigaction (Files): Likewise.
58340         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58341         Eggert.
58342         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58343         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58344         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58345         (init_fatal_signals): Likewise.
58346         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58347         (siginterrupt): Delete fallback.
58348         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58349         instead.
58350         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58351         siginterrupt.
58352
58353         New module sigaction, for mingw.
58354         * modules/sigaction: New module...
58355         * modules/sigaction-tests: ...and its test.
58356         * m4/sigaction.m4: New file.
58357         * lib/sigaction.c: Likewise.
58358         * tests/test-sigaction.c: Likewise.
58359         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58360         * modules/signal (Makefile.am): Likewise.
58361         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58362         needed.
58363         * doc/posix-headers/signal.texi (signal.h): Mention provided
58364         types.
58365         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58366         that sigaction is preferable.
58367         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58368         module.
58369         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58370         sigaction.
58371
58372         Improve robustness of sigprocmask by overriding signal.
58373         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58374         is in use.
58375         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58376         (SIGKILL, SIGSTOP): Provide fallbacks.
58377         (rpl_signal): Implement.
58378         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58379         signal can be called inside handlers.
58380
58381         Fix nanosleep module on mingw.
58382         * modules/nanosleep (Depends-on): Add sys_select.
58383         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58384
58385         Fix licensing of sigprocmask.
58386         * modules/raise (License): Relicense as LGPL.
58387
58388 2008-06-21  Bruno Haible  <bruno@clisp.org>
58389
58390         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58391         result if it contains question marks.
58392         Reported by Michael Geng <linux@michaelgeng.de>.
58393
58394 2008-06-19  Bruno Haible  <bruno@clisp.org>
58395
58396         Fix CVS-ism.
58397         * doc/gnulib.texi: Include updated-stamp.texi.
58398         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58399         (updated-stamp.texi): New rule.
58400         (gnulib.info): Depend on it.
58401         * doc/.gitignore: Add updated-stamp.texi.
58402         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58403
58404 2008-06-19  Bruno Haible  <bruno@clisp.org>
58405
58406         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58407         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58408
58409 2008-06-19  Eric Blake  <ebb9@byu.net>
58410
58411         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58412         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58413         Reported by Stepan Kasal.
58414
58415 2008-06-18  Bruno Haible  <bruno@clisp.org>
58416
58417         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58418         Reported by Eric Blake.
58419
58420 2008-06-18  Eric Blake  <ebb9@byu.net>
58421
58422         Work around cygwin 1.5.25 strsignal bug.
58423         * tests/test-strsignal.c: Allow for const char *.
58424         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58425
58426 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58427
58428         * users.txt: Update URL to article and add author/date
58429         information.
58430
58431 2008-06-17  Bruno Haible  <bruno@clisp.org>
58432
58433         New macro gl_DISABLE_THREADS.
58434         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58435         if the user did not pass --enable-threads or --disable-threads option.
58436         (gl_DISABLE_THREADS): New macro.
58437         Reported by Eric Blake <ebb9@byu.net>.
58438
58439 2008-06-17  Bruno Haible  <bruno@clisp.org>
58440
58441         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58442         when the macro ignores it.
58443         Based on a patch by Eric Blake <ebb9@byu.net>.
58444
58445 2008-06-17  Bruno Haible  <bruno@clisp.org>
58446
58447         * modules/tls (License): Change to LGPLv2+.
58448         Reported by Eric Blake.
58449
58450 2008-06-17  Eric Blake  <ebb9@byu.net>
58451
58452         Simplify c-stack prerequisites.
58453         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58454         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58455         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58456         check.
58457         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58458         <sys/resource.h>.
58459
58460         Move c-stack test into testsuite.
58461         * modules/c-stack-tests: New file.
58462         * lib/c-stack.c [DEBUG]: Move test program...
58463         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58464         fail test if sigaltstack is lacking.
58465         * tests/test-c-stack.sh: New driver file.
58466
58467 2008-06-16  Eric Blake  <ebb9@byu.net>
58468
58469         Use raise module consistently.
58470         * modules/fatal-signal (Depends-on): Add raise.
58471         * modules/sigprocmask (Depends-on): Likewise.
58472         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58473         * lib/sigprocmask.c (sigprocmask): Likewise.
58474         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58475         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58476
58477         Fix compliance bug in sigpending.
58478         * lib/sigprocmask.c (sigpending): Return pending array via
58479         parameter, not return value.
58480
58481 2008-06-14  Eric Blake  <ebb9@byu.net>
58482
58483         Improve obstack-printf test code.
58484         * tests/test-obstack-printf.c (test_function): Fix comment, and
58485         simplify usage of obstack_* in macros.  Add a test for coverage.
58486         Reported by Bruno Haible.
58487
58488 2008-06-14  Bruno Haible  <bruno@clisp.org>
58489
58490         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58491         array size as a constant, not as a const variable.
58492         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58493         AC_USE_SYSTEM_EXTENSIONS.
58494         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58495         Test whether the obstack_printf function actually exists.
58496         * modules/obstack-printf (Depends-on): Add extensions.
58497         (Include): Remove obstack.h.
58498         * modules/obstack-printf-posix (Depends-on): Add extensions.
58499         (Include): Remove obstack.h.
58500
58501 2008-06-13  Eric Blake  <ebb9@byu.net>
58502
58503         Add obstack-printf and obstack-printf-posix modules.
58504         * modules/obstack-printf: New file.
58505         * modules/obstack-printf-posix: Likewise.
58506         * MODULES.html.sh (Misc): Mention them.
58507         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58508         Likewise.
58509         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58510         Likewise.
58511         * modules/stdio (Makefile.am): Accomodate new modules.
58512         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58513         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58514         Declare.
58515         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58516         functions.
58517         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58518         (gl_REPLACE_OBSTACK_PRINTF): New macros
58519         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58520         * tests/test-obstack-printf.c: New file.
58521         * modules/obstack-printf-tests: Likewise.
58522         * modules/obstack-printf-posix-tests: Likewise.
58523
58524 2008-06-11  Bruno Haible  <bruno@clisp.org>
58525
58526         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58527         * lib/open.c: Include errno.h.
58528         (open): Fail when attempting to write to a file that has a trailing
58529         slash.
58530         * tests/test-open.c (main): Test against trailing slash bug.
58531         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58532
58533 2008-06-10  Bruno Haible  <bruno@clisp.org>
58534
58535         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58536         for $? to work inside the trap command, with various /bin/sh-s.
58537         * tests/test-vc-list-files-cvs.sh: Likewise.
58538
58539 2008-06-10  Bruno Haible  <bruno@clisp.org>
58540
58541         * lib/acl-internal.h: Don't include gettext.h here.
58542         * lib/set-mode-acl.c: Include gettext.h here.
58543         * lib/copy-acl.c: Likewise.
58544
58545 2008-06-10  Bruno Haible  <bruno@clisp.org>
58546
58547         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58548         * lib/wait-process.c (wait_subprocess): Likewise.
58549         * lib/execute.h (execute): Add termsigp argument.
58550         * lib/execute.c (execute): Likewise.
58551         * lib/csharpcomp.c (compile_csharp_using_pnet,
58552         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58553         * lib/csharpexec.c (execute_csharp_using_pnet,
58554         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58555         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58556         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58557         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58558         is_jikes_present): Update.
58559         * lib/javaexec.c (execute_java_class): Update.
58560         * lib/javaversion.c (execute_and_read_line): Update.
58561         * NEWS: Document the changes.
58562         Reported by Eric Blake.
58563
58564 2008-06-10  Eric Blake  <ebb9@byu.net>
58565
58566         Add missing include.
58567         * tests/test-strstr.c (includes): Add <signal.h>.
58568         * tests/test-strcasestr.c (includes): Likewise.
58569         * tests/test-memmem.c (includes): Likewise.
58570
58571 2008-06-10  Bruno Haible  <bruno@clisp.org>
58572
58573         * lib/wait-process.c (wait_subprocess): Add an assertion.
58574
58575 2008-06-10  Bruno Haible  <bruno@clisp.org>
58576
58577         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58578
58579 2008-06-10  Bruno Haible  <bruno@clisp.org>
58580
58581         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58582         using alarm().
58583         * tests/test-strcasestr.c (main): Likewise.
58584         * tests/test-strstr.c (main): Likewise.
58585
58586 2008-06-09  Bruno Haible  <bruno@clisp.org>
58587
58588         Work around the Solaris 10 ACE ACLs ABI change.
58589         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58590         declare if ACL_NO_TRIVIAL is present.
58591         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58592         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58593         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58594         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58595         define if ACL_NO_TRIVIAL is present.
58596         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58597         and use the current ABI.
58598         (file_has_acl): Use same #if condition as elsewhere.
58599         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58600         in use, and use the current ABI.
58601         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58602         Reported by Jim Meyering.
58603
58604 2008-06-09  Eric Blake  <ebb9@byu.net>
58605
58606         Work around environments that (stupidly) ignore SIGALRM.
58607         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58608         before using alarm().
58609         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58610         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58611         Reported by Ian Beckwith <ianb@erislabs.net>.
58612
58613         Produce autobuild blurb earlier in log.
58614         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58615
58616 2008-06-09  Jim Meyering  <meyering@redhat.com>
58617         and OndÅ™ej Vašík  <ovasik@redhat.com>
58618
58619         utimens.c: correct kernel bug work-around
58620         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58621         failure, not success, and the kernel bug we're trying to work
58622         around affects not just the utimensat call, but also the fallback
58623         futimens call.
58624         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58625         not success.
58626         [HAVE_FUTIMENS]: Use the same work-around, here.
58627
58628 2008-06-09  Jim Meyering  <meyering@redhat.com>
58629
58630         add more guards around definition of ACE_-related code
58631         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58632         ALLOW and ACE_OWNER are also defined.
58633
58634 2008-06-08  Bruno Haible  <bruno@clisp.org>
58635
58636         * lib/acl-internal.h: Add me as co-author.
58637         * lib/file-has-acl.c: Likewise.
58638         * lib/set-mode-acl.c: Likewise.
58639         * lib/copy-acl.c: Likewise.
58640
58641 2008-06-08  Bruno Haible  <bruno@clisp.org>
58642
58643         Add support for AIX ACLs.
58644         * lib/acl-internal.h (acl_nontrivial): New declaration.
58645         * lib/file-has-acl.c (acl_nontrivial): New function.
58646         (file_has_acl): Add implementation using AIX 4 ACL API.
58647         * lib/set-mode-acl.c (qset_acl): Likewise.
58648         * lib/copy-acl.c (qcopy_acl): Likewise.
58649
58650 2008-06-08  Bruno Haible  <bruno@clisp.org>
58651
58652         Add support for HP-UX ACLs.
58653         * lib/acl-internal.h (acl_nontrivial): New declaration.
58654         * lib/file-has-acl.c (acl_nontrivial): New function.
58655         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58656         * lib/set-mode-acl.c (qset_acl): Likewise.
58657         * lib/copy-acl.c (qcopy_acl): Likewise.
58658
58659 2008-06-08  Bruno Haible  <bruno@clisp.org>
58660
58661         Add support for Cygwin ACLs.
58662         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58663         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58664         the chmod_or_fchmod call.
58665         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58666
58667 2008-06-08  Bruno Haible  <bruno@clisp.org>
58668
58669         Fix bug with setuid modes in Solaris 10+ code.
58670         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58671         succeeded, when the mode contains some special bits.
58672
58673 2008-06-08  Bruno Haible  <bruno@clisp.org>
58674
58675         Add support for Solaris 7..10 ACLs.
58676         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58677         declarations.
58678         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58679         functions.
58680         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58681         * lib/set-mode-acl.c (qset_acl): Likewise.
58682         * lib/copy-acl.c (qcopy_acl): Likewise.
58683
58684 2008-06-08  Bruno Haible  <bruno@clisp.org>
58685
58686         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58687         declaration.
58688         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58689         (acl_access_nontrivial): Remove MacOS X case.
58690         (file_has_acl): Use acl_extended_nontrivial.
58691         * lib/copy-acl.c (qcopy_acl): Likewise.
58692
58693 2008-06-08  Bruno Haible  <bruno@clisp.org>
58694
58695         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58696
58697 2008-06-08  Jim Meyering  <meyering@redhat.com>
58698
58699         * modules/acl (Maintainer): Add Bruno Haible.
58700
58701 2008-06-07  Bruno Haible  <bruno@clisp.org>
58702
58703         Improve support for Tru64 ACLs.
58704         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58705         ACL on OSF/1.
58706
58707 2008-06-07  Bruno Haible  <bruno@clisp.org>
58708
58709         Add support for MacOS X ACLs.
58710         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58711         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58712         * lib/set-mode-acl.c (qset_acl): Likewise.
58713         * lib/copy-acl.c (qcopy_acl): Likewise.
58714
58715 2008-06-07  Bruno Haible  <bruno@clisp.org>
58716
58717         Fix memory leak introduced on 2008-05-22.
58718         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58719         use.
58720
58721 2008-06-07  Bruno Haible  <bruno@clisp.org>
58722
58723         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58724         to construct an empty ACL.
58725
58726 2008-06-07  Bruno Haible  <bruno@clisp.org>
58727
58728         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58729         precisely.
58730         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58731
58732 2008-06-07  Bruno Haible  <bruno@clisp.org>
58733
58734         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58735         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58736
58737 2008-06-07  Bruno Haible  <bruno@clisp.org>
58738
58739         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58740         regardless of POSIX.
58741         * doc/posix-functions/_longjmp.texi: Likewise.
58742         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58743         SystemV platform in this case.
58744
58745 2008-06-06  Eric Blake  <ebb9@byu.net>
58746
58747         Document abort() bugs.
58748         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58749
58750         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58751         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58752         sigsetjmp.
58753         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58754         siglongjmp, but only as a macro.
58755         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58756         is obsolete.
58757         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58758
58759         Tweak documentation to cover cygwin argz bugs.
58760         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58761         argz bug fix; no code change needed since no cygwin releases
58762         occurred between the last fix and the bug being tested.
58763         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58764         module and recently fixed cygwin bugs.
58765         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58766         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58767         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58768         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58769         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58770         Likewise.
58771         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58772         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58773         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58774         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58775         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58776         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58777         Likewise.
58778
58779         Avoid gcc warning on cygwin.
58780         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58781         !ACL_NO_TRIVIAL]: Avoid unused variable.
58782
58783 2008-06-05  Eric Blake  <ebb9@byu.net>
58784
58785         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58786         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58787         git-version-gen fails to come up with a version.
58788         Reported by Simon Josefsson.
58789
58790 2008-06-05  Jim Meyering  <meyering@redhat.com>
58791             Paul Eggert  <eggert@cs.ucla.edu>
58792
58793         utimens.c: work around a probable Linux kernel bug
58794         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58795         appears to be a kernel bug that causes utimensat to return 280
58796         instead of 0, indicating success.
58797
58798 2008-06-04  Bruno Haible  <bruno@clisp.org>
58799
58800         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58801         2008-06-01 commit.
58802
58803 2008-06-04  Bruno Haible  <bruno@clisp.org>
58804
58805         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58806         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58807         (file_has_acl): Use it. Save errno afterwards.
58808         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58809
58810 2008-06-03  Bruno Haible  <bruno@clisp.org>
58811
58812         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58813         draft code. Simplify #ifs.
58814         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58815         Put Solaris code after POSIX-draft code. Fix comments regarding
58816         Solaris 10, HP-UX. Mention Cygwin.
58817         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58818
58819 2008-06-03  Eric Blake  <ebb9@byu.net>
58820
58821         Provide fallback for older kernels.
58822         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58823         Provide runtime fallback if kernel lacks support.
58824         Reported by Mike Frysinger.
58825
58826 2008-06-02  Bruno Haible  <bruno@clisp.org>
58827
58828         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58829         it exists.
58830
58831 2008-06-02  Bruno Haible  <bruno@clisp.org>
58832
58833         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58834         * lib/copy-acl.c (qcopy_acl): Update comment.
58835
58836 2008-06-02  Bruno Haible  <bruno@clisp.org>
58837
58838         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58839         like ACL APIs.
58840
58841 2008-06-02  Bruno Haible  <bruno@clisp.org>
58842
58843         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58844         * tests/test-set-mode-acl.sh: Likewise.
58845         * tests/test-copy-acl.sh: Likewise.
58846         * tests/test-copy-file.sh: Likewise.
58847
58848 2008-06-02  Bruno Haible  <bruno@clisp.org>
58849
58850         * tests/test-file-has-acl.sh: Remove unused code.
58851
58852 2008-06-01  Bruno Haible  <bruno@clisp.org>
58853
58854         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58855         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58856         messages.
58857         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58858
58859 2008-06-01  Bruno Haible  <bruno@clisp.org>
58860
58861         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58862         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58863         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58864         APIs.
58865         * modules/acl-tests (configure.ac): Remove tests now contained in
58866         m4/acl.m4.
58867
58868 2008-06-02  Jim Meyering  <meyering@redhat.com>
58869
58870         announce-gen: use a better key-server host name
58871         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58872         it may be more consistently reliable.  Suggested by Werner Koch
58873         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58874
58875 2008-06-01  Bruno Haible  <bruno@clisp.org>
58876
58877         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58878         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58879
58880 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58881
58882         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58883
58884 2008-06-01  Bruno Haible  <bruno@clisp.org>
58885
58886         New ACL tests.
58887         * tests/test-file-has-acl.sh: New file.
58888         * tests/test-file-has-acl.c: New file.
58889         * tests/test-set-mode-acl.sh: New file.
58890         * tests/test-set-mode-acl.c: New file.
58891         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58892         * tests/test-copy-acl.c: New file.
58893         * modules/acl-tests: New file, based on modules/copy-file-tests.
58894         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58895         (Depends-on): Add acl-tests.
58896         (configure.ac): Remove checks.
58897         (Makefile.am): Don't create test-sameacls program here any more.
58898
58899 2008-06-01  Bruno Haible  <bruno@clisp.org>
58900
58901         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58902         * tests/test-sameacls.c: Include progname.h.
58903         (main): Invoke set_program_name. Portability fixes for MacOS X,
58904         Solaris, HP-UX.
58905
58906 2008-06-01  Bruno Haible  <bruno@clisp.org>
58907
58908         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58909         function.
58910         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58911
58912 2008-06-01  Bruno Haible  <bruno@clisp.org>
58913
58914         * modules/rpmatch (Depends-on): Add strdup.
58915
58916 2008-06-01  Bruno Haible  <bruno@clisp.org>
58917
58918         * lib/pipe.c: Include unistd-safer.h.
58919         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58920         * modules/pipe (Depends-on): Add unistd-safer.
58921
58922 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58923
58924         * modules/autobuild (configure.ac): Call AB_INIT.
58925
58926 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58927
58928         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58929         Suggested by Bruno Haible <bruno@clisp.org>.
58930
58931 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58932
58933         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58934         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58935         <bruno@clisp.org>.
58936
58937 2008-05-29  Eric Blake  <ebb9@byu.net>
58938
58939         Prefer new POSIX 200x interfaces over futimesat.
58940         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58941         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58942         when available.
58943         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58944
58945 2008-05-28  Bruno Haible  <bruno@clisp.org>
58946
58947         * modules/stpcpy (License): Change to LGPLv2+.
58948         Requested by David Lutterkort <dlutter@redhat.com>.
58949
58950 2008-05-27  Bruno Haible  <bruno@clisp.org>
58951
58952         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58953         current mingw.
58954         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58955
58956 2008-05-27  Bruno Haible  <bruno@clisp.org>
58957
58958         * modules/iconv_open (Link): New section, from module 'iconv'.
58959         * modules/striconv (Link): Likewise.
58960         * modules/striconveh (Link): Likewise.
58961         * modules/xstriconv (Link): Likewise.
58962         * modules/unicodeio (Link): Likewise.
58963         * modules/propername (Link): Likewise.
58964         Reported by Jim Meyering.
58965
58966 2008-05-26  Jim Meyering  <meyering@redhat.com>
58967
58968         sha256: do not artificially restrict buffer length to be < 2^32
58969         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58970         uint32_t to size_t.
58971         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58972         to match.
58973
58974         avoid unaligned access errors, e.g., on sparc
58975         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58976         direct access through a possibly-unaligned uint64* pointer.
58977         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58978         direct access through a possibly-unaligned uint32* pointer.
58979         Prompted by this patch from Tom "spot" Callaway:
58980         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58981
58982         sha512.c: fix typo in comment
58983         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58984
58985 2008-05-25  Bruno Haible  <bruno@clisp.org>
58986
58987         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58988         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58989         (Makefile.am): Update lib_SOURCES.
58990
58991 2008-05-25  Bruno Haible  <bruno@clisp.org>
58992
58993         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58994
58995 2008-05-25  Jim Meyering  <meyering@redhat.com>
58996
58997         useless-if-before-free: freed expr may have white-space differences
58998         * build-aux/useless-if-before-free: Recognize cases in which the
58999         freed expression differs from the tested one in embedded white
59000         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59001         $1 was used, so we can't make any regexp shy.  Improved tests now
59002         detect this.
59003
59004         useless-if-before-free: accept white space in the expression.
59005         * build-aux/useless-if-before-free: For now, any white space
59006         in the expression must be identical in the free argument.
59007
59008         useless-if-before-free: efficiency tweak
59009         * build-aux/useless-if-before-free: Make the expression-matching
59010         regexp "shy".
59011         Make the *outer* regexp shy, not the expr-matching one.
59012
59013         update code-in-comment to accept cast of free arg
59014         * build-aux/useless-if-before-free: Update regexp.
59015
59016 2008-05-25  Bruno Haible  <bruno@clisp.org>
59017
59018         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59019         * modules/copy-file-tests (Files, Makefile.am): Update.
59020         * tests/test-copy-file.c (func_test_copy): Update.
59021
59022 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59023
59024         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59025
59026 2008-05-23  Bruno Haible  <bruno@clisp.org>
59027
59028         Improve support for ACLs on OSF/1.
59029         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59030         Remove fallback for unknown flavors of ACLs.
59031
59032 2008-05-22  Bruno Haible  <bruno@clisp.org>
59033
59034         Add support for ACLs on OSF/1.
59035         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59036         replacements.
59037         (acl_free_text): New macro fallback.
59038         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59039         acl_free.
59040         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59041         acl_free_text function. Require AC_C_INLINE.
59042
59043 2008-05-22  Bruno Haible  <bruno@clisp.org>
59044
59045         Make copy_acl work on MacOS X 10.5.
59046         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59047         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59048         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59049         If MODE_INSIDE_ACL, don't assume that every system has the same text
59050         representation for ACLs as FreeBSD.
59051         * lib/copy-acl.c (copy_acl): Add support for platforms with
59052         !MODE_INSIDE_ACL.
59053         * lib/file-has-acl.c (file_has_acl): Likewise.
59054         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59055         FreeBSD, MacOS X, or IRIX, respectively.
59056
59057 2008-05-22  Bruno Haible  <bruno@clisp.org>
59058
59059         * lib/acl.h: Don't include <sys/acl.h>.
59060         (GETACLCNT): Move fallback to lib/acl-internal.h.
59061         * lib/acl-internal.h: Include <sys/acl.h> here.
59062         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59063
59064 2008-05-22  Bruno Haible  <bruno@clisp.org>
59065
59066         Split off copy_acl function to separate file.
59067         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59068         * lib/acl.c (copy_acl): Moved function to separate file.
59069         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59070         * modules/acl (Files): Add lib/copy-acl.c.
59071         (Makefiles.am): Augment lib_SOURCES.
59072
59073 2008-05-22  Bruno Haible  <bruno@clisp.org>
59074
59075         * modules/copy-file-tests: New file.
59076         * tests/test-copy-file.sh: New file.
59077         * tests/test-copy-file.c: New file.
59078         * tests/test-copy-file-sameacls.c: New file.
59079
59080 2008-05-22  Eric Blake  <ebb9@byu.net>
59081
59082         Avoid gcc warning.
59083         * tests/test-memcmp.c (main): Pass NULL indirectly.
59084
59085 2008-05-21  Bruno Haible  <bruno@clisp.org>
59086
59087         Add reference doc about ACLs.
59088         * doc/acl-resources.txt: New file.
59089         * doc/acl-cygwin.txt: New file.
59090
59091 2008-05-21  Bruno Haible  <bruno@clisp.org>
59092
59093         Avoid one more warning from gcc.
59094         * lib/vasnprintf.c (IF_LINT): Update comments.
59095         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59096
59097 2008-05-21  Jim Meyering  <meyering@redhat.com>
59098
59099         avoid a warning from gcc
59100         * lib/vasnprintf.c (IF_LINT): Define.
59101         (scale10_round_decimal_long_double):
59102         Use it to avoid a "may be used uninitialized" warning.
59103         (scale10_round_decimal_double): Likewise.
59104
59105 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59106
59107         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59108         declared.
59109
59110 2008-05-20  Bruno Haible  <bruno@clisp.org>
59111
59112         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59113         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59114
59115 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59116
59117         * modules/memcmp-tests: New file.
59118         * tests/test-memcmp.c: New file.
59119
59120 2008-05-19  Bruno Haible  <bruno@clisp.org>
59121
59122         * modules/propername (Notice, configure.ac): Put quoted "..." into
59123         --keyword option.
59124         * lib/propername.h: Update comments accordingly.
59125         Reported by Eric Blake.
59126
59127 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59128
59129         * modules/getpass-gnu (Depends-on): Add fseeko.
59130
59131 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59132
59133         * modules/base64-tests: New file.
59134
59135 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59136
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         * lib/base64.c (base64_decode_ctx): If a decode context structure
59146         was passed in use it to ignore newlines.  If a context structure
59147         was _not_ passed in, continue to treat newlines as garbage (this
59148         is the historical behavior).  Formerly base64_decode.
59149         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59150         takes a decode context structure.
59151         * lib/base64.h (base64_decode): Macro for four-argument calls.
59152         (base64_decode_alloc): Likewise.
59153
59154 2008-05-19  Jim Meyering  <meyering@redhat.com>
59155
59156         avoid a warning from gcc
59157         * lib/trim.c (IF_LINT): Define.
59158         (trim2): Use it to avoid a "may be used uninitialized" warning.
59159
59160         Fix doc typo.
59161         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59162
59163 2008-05-19  Bruno Haible  <bruno@clisp.org>
59164
59165         * doc/glibc-functions/getpass.texi: Document limits of other
59166         implementations.
59167
59168 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59169             Bruno Haible <bruno@clisp.org>
59170
59171         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59172
59173 2008-05-18  Bruno Haible  <bruno@clisp.org>
59174
59175         * modules/propername: New file, from GNU gettext.
59176         * lib/propername.h: New file, from GNU gettext.
59177         * lib/propername.c: New file, from GNU gettext.
59178         * MODULES.html.sh (Internationalization functions): Add propername.
59179
59180 2008-05-16  Jim Meyering  <meyering@redhat.com>
59181             Bruno Haible  <bruno@clisp.org>
59182
59183         Avoid some warnings from "gcc -Wshadow".
59184         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59185
59186 2008-05-15  Eric Blake  <ebb9@byu.net>
59187
59188         Extend previous patch to cygwin 1.7.0.
59189         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59190         fast implementation in cygwin >= 1.7.0.
59191         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59192         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59193
59194 2008-05-15  Bruno Haible  <bruno@clisp.org>
59195
59196         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59197         implementation in glibc >= 2.9.
59198         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59199         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59200
59201 2008-05-15  Bruno Haible  <bruno@clisp.org>
59202
59203         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59204         (Unicode string functions): Add unilbrk/*.
59205         Reported by Karl Berry.
59206
59207 2008-05-15  Eric Blake  <ebb9@byu.net>
59208
59209         Fix violation of <stdbool.h> replacement in regex.
59210         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59211         * lib/regexec.c (re_search_internal): Likewise.
59212         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59213
59214 2008-05-15  Jim Meyering  <meyering@redhat.com>
59215
59216         avoid distracting test output when git or cvs is not found
59217         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59218         * tests/test-vc-list-files-git.sh: Likewise.
59219
59220 2008-05-15  Eric Blake  <ebb9@byu.net>
59221
59222         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59223         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59224         glibc version.
59225         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59226         * doc/posix-functions/strstr.texi (strstr): Likewise.
59227         * lib/str-two-way.h (MAX): Sychronize with glibc.
59228
59229 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59230
59231         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59232         opr.ctx_type.
59233         (calc_first): Initialize constraint field.
59234         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59235         Fix grammar.
59236         (duplicate_node): Merge constraint field for all node types.
59237         (calc_eclosure_iter): Look at constraint field for all node types.
59238         * lib/regex_internal.c (create_cd_newstate): Don't look at
59239         opr.ctx_type.
59240
59241 2008-05-14  Bruno Haible  <bruno@clisp.org>
59242
59243         Help GCC to do better code generation.
59244         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59245         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59246         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59247         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59248         Declare with attribute 'malloc' if supported.
59249
59250 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59251
59252         use "echo STR|wc -c" rather than unportable "expr length STR"
59253         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59254         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59255
59256 2008-05-14  Jim Meyering  <meyering@redhat.com>
59257
59258         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59259         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59260         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59261         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59262         via Collin Lasse.
59263
59264 2008-05-14  Eric Blake  <ebb9@byu.net>
59265
59266         Avoid quadratic growth in gl_LIBSOURCES.
59267         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59268         Suggested by Bruno Haible.
59269
59270         Test xmemdup0.
59271         * modules/xmemdup0-tests: New file.
59272         * tests/test-xmemdup0.c: Likewise.
59273
59274 2008-05-13  Eric Blake  <ebb9@byu.net>
59275
59276         Split xmemdup0 into its own module.
59277         * modules/xmemdup0: New file.
59278         * lib/xmemdup0.h: Likewise.
59279         * lib/xmemdup0.c: Likewise.
59280         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59281         * lib/xalloc.h (xmemdup0): Remove.
59282         * lib/xmalloc.c (xmemdup0): Likewise.
59283
59284 2008-05-13  Eric Blake  <ebb9@byu.net>
59285             Bruno Haible  <bruno@clisp.org>
59286
59287         Reduce number of forks required during autoconf.
59288         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59289         and gl_LIBSOURCES_DIR.
59290         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59291         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59292         m4_syscmd per file.
59293         <m4_foreach_w>: Move...
59294         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59295
59296 2008-05-13  Eric Blake  <ebb9@byu.net>
59297
59298         * gnulib-tool: Fix various comment typos.
59299
59300 2008-05-12  Bruno Haible  <bruno@clisp.org>
59301
59302         Tailor the linebreaking algorithm.
59303         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59304
59305 2008-05-12  Bruno Haible  <bruno@clisp.org>
59306
59307         Update to Unicode 5.0.0.
59308         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59309         LBP_JV, LBP_JT. Redistribute values.
59310         (unilbrk_table): Change size.
59311         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59312         Unicode TR#14 rev. 22.
59313         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59314         LBP_JV, LBP_JT. Redistribute values.
59315         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59316         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59317         Update.
59318         * lib/unilbrk/lbrkprop1.h: Regenerated.
59319         * lib/unilbrk/lbrkprop2.h: Regenerated.
59320         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59321         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59322         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59323         Likewise.
59324         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59325         Likewise.
59326         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59327         result.
59328         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59329         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59330         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59331         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59332         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59333         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59334
59335 2008-05-11  Bruno Haible  <bruno@clisp.org>
59336
59337         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59338
59339 2008-05-11  Bruno Haible  <bruno@clisp.org>
59340
59341         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59342         * modules/unilbrk/gen-lbrk: New file.
59343
59344 2008-05-11  Bruno Haible  <bruno@clisp.org>
59345
59346         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59347         * m4/sha512.m4 (gl_SHA512): Likewise.
59348
59349 2008-05-11  Jim Meyering  <meyering@redhat.com>
59350
59351         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59352         * modules/crypto/sha256: New file.
59353         * modules/crypto/sha512: Likewise.
59354         * lib/sha256.c: Likewise.
59355         * lib/sha256.h: Likewise.
59356         * lib/sha512.c: Likewise.
59357         * lib/sha512.h: Likewise.
59358         * lib/u64.h: Likewise.
59359         * m4/sha256.m4: Likewise.
59360         * m4/sha512.m4: Likewise.
59361         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59362
59363 2008-05-10  Bruno Haible  <bruno@clisp.org>
59364
59365         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59366         (Input/Output <stdio.h>): Add xprintf.
59367         (Signal handling <signal.h>): Add strsignal.
59368         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59369         (Core language properties): Add func.
59370         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59371         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59372         strings.
59373         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59374         (Input/output): New section.
59375         (File system functions): Add openat-die, stat-macros.
59376         (Networking functions): Add sockets.
59377         (Unicode string functions): Add unictype/*.
59378         (Support for building libraries and executables): Add gperf.
59379         (Support for building documentation): Add agpl-3.0.
59380         (Misc): Add nocrash.
59381
59382 2008-05-10  Bruno Haible  <bruno@clisp.org>
59383
59384         * modules/unictype/gen-ctype: New file.
59385
59386 2008-05-10  Jim Meyering  <meyering@redhat.com>
59387
59388         Make chdir-safer.c more efficient on a system with no symlinks.
59389         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59390         also if ELOOP is zero.  Suggested by Bruno Haible.
59391
59392         Make chdir-safer.c slightly safer.
59393         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59394         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59395
59396         Avoid compile failure on systems without ELOOP (like mingw).
59397         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59398         Reported by Bruno Haible.
59399
59400 2008-05-10  Bruno Haible  <bruno@clisp.org>
59401
59402         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59403         (is_utf8_encoding): Use a case-insensitive comparison.
59404         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59405         streq.
59406
59407 2008-05-10  Bruno Haible  <bruno@clisp.org>
59408
59409         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59410         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59411         * lib/unilbrk/ulc-common.h (iconv_string_length,
59412         iconv_string_keeping_offsets): Remove declarations.
59413         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59414         Don't include <iconv.h>, streq.h, xsize.h.
59415         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59416         conversion.
59417         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59418         <iconv.h>, streq.h, xsize.h.
59419         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59420         conversion.
59421         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59422         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59423         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59424         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59425
59426 2008-05-10  Bruno Haible  <bruno@clisp.org>
59427
59428         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59429         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59430
59431         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59432         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59433
59434         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59435         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59436
59437         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59438         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59439
59440         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59441         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59442
59443         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59444         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59445
59446         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59447         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59448
59449         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59450         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59451
59452 2008-05-10  Bruno Haible  <bruno@clisp.org>
59453
59454         Split up 'linebreak' module.
59455         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59456         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59457         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59458         modifications.
59459         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59460         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59461         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59462         lib/linebreak.c.
59463         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59464         lib/linebreak.c.
59465         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59466         lib/linebreak.c.
59467         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59468         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59469         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59470         lib/linebreak.c.
59471         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59472         lib/linebreak.c.
59473         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59474         lib/linebreak.c.
59475         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59476         lib/linebreak.c.
59477         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59478         lib/linebreak.c.
59479         * modules/unilbrk/base: New file.
59480         * modules/unilbrk/tables: New file.
59481         * modules/unilbrk/u8-possible-linebreaks: New file.
59482         * modules/unilbrk/u16-possible-linebreaks: New file.
59483         * modules/unilbrk/u32-possible-linebreaks: New file.
59484         * modules/unilbrk/ulc-common: New file.
59485         * modules/unilbrk/ulc-possible-linebreaks: New file.
59486         * modules/unilbrk/u8-width-linebreaks: New file.
59487         * modules/unilbrk/u16-width-linebreaks: New file.
59488         * modules/unilbrk/u32-width-linebreaks: New file.
59489         * modules/unilbrk/ulc-width-linebreaks: New file.
59490         * lib/linebreak.h: Remove file.
59491         * lib/linebreak.c: Remove file.
59492         * m4/linebreak.m4: Remove file.
59493         * modules/linebreak: Remove file.
59494         * NEWS: Mention the changes.
59495
59496 2008-05-09  Eric Blake  <ebb9@byu.net>
59497
59498         Add xmemdup0.
59499         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59500         implementation.
59501         * lib/xmalloc.c (xmemdup0): New C implementation.
59502
59503 2008-05-08  Bruno Haible  <bruno@clisp.org>
59504
59505         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59506
59507 2008-05-07  Eric Blake  <ebb9@byu.net>
59508
59509         Support cross-compilation of <wctype.h>.
59510         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59511         AC_CACHE_CHECK.
59512
59513 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59514
59515         * build-aux/vc-list-files: Add support for bzr.
59516
59517 2008-05-03  Jim Meyering  <meyering@redhat.com>
59518
59519         avoid failed assertion with tight malloc
59520         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59521
59522 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59523
59524         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59525         are needed from arpa/inet.h.
59526         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59527         Reported by Bruno Haible.
59528
59529 2008-05-02  Jim Meyering  <meyering@redhat.com>
59530
59531         avoid compilation error on FreeBSD 6
59532         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59533
59534 2008-05-01  Jim Meyering  <meyering@redhat.com>
59535
59536         useless-if-before-free: correct --help's exit status description
59537         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59538         for one or more matches, etc.  Reported by Bruno Haible.
59539
59540         vc-list-files: make the stand-alone gnulib test work
59541         * modules/vc-list-files-tests (configure.ac):
59542         Define and AC_SUBST abs_aux_dir.
59543         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59544         $(abs_top_srcdir) to each script and having each of them
59545         duplicate the work of setting PATH, set PATH here, using
59546         the new variable, abs_aux_dir instead.
59547         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59548         * tests/test-vc-list-files-git.sh: Likewise.
59549         Reported by Bruno Haible.
59550
59551 2008-05-01  Bruno Haible  <bruno@clisp.org>
59552
59553         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59554         reallocation. Rename 'done' to 'found_delimiter'.
59555
59556 2008-05-01  Jim Meyering  <meyering@redhat.com>
59557
59558         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59559         * build-aux/vc-list-files: Use `...`, not $(...).
59560
59561 2008-04-30  Jim Meyering  <meyering@redhat.com>
59562
59563         add tests for vc-list-files
59564         * modules/vc-list-files-tests: New module.
59565         * tests/test-vc-list-files-cvs.sh: New file.
59566         * tests/test-vc-list-files-git.sh: New file.
59567
59568         avoid a warning from gcc
59569         * lib/getndelim2.c (IF_LINT): Define.
59570         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59571
59572         vc-list-files: work properly with build-aux/cvsu, too
59573         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59574         to all cvs-based clauses.
59575
59576         vc-list-files: work properly in the CVS+awk case, too
59577         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59578
59579         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59580         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59581         take more than one file argument, so .  Add quotes, just in case $dir
59582         ever contains a shell meta-character.  Prompted by Soren Hansen in
59583         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59584
59585 2008-04-29  Eric Blake  <ebb9@byu.net>
59586
59587         Optimize getndelim2 to use block operations when possible.
59588         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59589         freadseek, and memchr2.
59590         * lib/getndelim2.c (getndelim2): Use them for block reads.
59591
59592 2008-04-29  Bruno Haible  <bruno@clisp.org>
59593
59594         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59595         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59596         * modules/inet_ntop (Depends-on): Add extensions.
59597         * modules/inet_pton (Depends-on): Likewise.
59598         Reported by Simon Josefsson.
59599
59600 2008-04-29  Jim Meyering  <meyering@redhat.com>
59601
59602         When the is more than one match in a block, match all of them.
59603         * build-aux/useless-if-before-free: Iterate through each block
59604         until there are no more matches.
59605
59606         Fix broken useless-if-before-free script.
59607         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59608         the expression to match cast of argument to free-like function.
59609
59610 2008-04-29  Eric Blake  <ebb9@byu.net>
59611
59612         Use new header.
59613         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59614
59615 2008-04-29  Jim Meyering  <meyering@redhat.com>
59616
59617         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59618         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59619         by gnulib to exist and to declare e.g., inet_ntop.
59620         Don't include "inet_ntop.h", now removed.
59621
59622         * m4/arpa_inet_h.m4: Remove trailing blanks.
59623
59624 2008-04-29  Eric Blake  <ebb9@byu.net>
59625
59626         Silence valgrind on safe reads beyond potential array bounds.
59627         * lib/rawmemchr.valgrind: New file.
59628         * lib/strchrnul.valgrind: Likewise.
59629         * modules/rawmemchr (Files): Distribute new file.
59630         * modules/strchrnul (Files): Likewise.
59631         Suggested by Bruno Haible.
59632
59633 2008-04-29  Bruno Haible  <bruno@clisp.org>
59634
59635         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59636         (inet_ntop, inet_pton): Change portability warning's wording.
59637         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59638         Invoke gl_CHECK_NEXT_HEADERS.
59639         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59640         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59641         set ARPA_INET_H.
59642         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59643         * modules/arpa_inet (Description): No longer only for systems that
59644         lack it.
59645         (Depends-on): Add include_next.
59646         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59647         HAVE_ARPA_INET_H.
59648
59649 2008-04-29  Jim Meyering  <meyering@redhat.com>
59650
59651         * modules/mkdir (License): Re-license as LGPLv2+.
59652
59653 2008-04-29  Bruno Haible  <bruno@clisp.org>
59654
59655         * modules/rawmemchr (Maintainer): Set to Eric.
59656         * modules/strchrnul (Maintainer): Likewise.
59657
59658 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59659
59660         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59661         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59662
59663         * modules/arpa_inet (arpa/inet.h): Use them.
59664
59665 2008-04-28  Eric Blake  <ebb9@byu.net>
59666
59667         Test getndelim2.
59668         * modules/getndelim2-tests: New file.
59669         * tests/test-getndelim2.c: Likewise.
59670         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59671         stream.
59672         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59673
59674         * MODULES.html.sh: Document new module.
59675
59676 2008-04-20  Bruno Haible  <bruno@clisp.org>
59677
59678         * lib/c-stack.c (die): Use raise.
59679         * modules/c-stack (Depends-on): Add raise.
59680
59681 2008-04-28  Bruno Haible  <bruno@clisp.org>
59682
59683         Expect rpmatch to be declared.
59684         * lib/yesno.c (rpmatch): Remove declaration.
59685
59686         Declare rpmatch.
59687         * lib/stdlib.in.h (rpmatch): New declaration.
59688         * lib/rpmatch.c: Include <stdlib.h> first.
59689         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59690         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59691         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59692         HAVE_RPMATCH.
59693         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59694         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59695         (Include): Set to <stdlib.h>.
59696         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59697         HAVE_RPMATCH.
59698         * NEWS: Document the change.
59699
59700 2008-04-28  Bruno Haible  <bruno@clisp.org>
59701
59702         Change rpmatch to use nl_langinfo when appropriate.
59703         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59704         (N_): New macro.
59705         (localized_pattern): New function/macro.
59706         (try): Remove match, nomatch arguments. Copy the pattern into safe
59707         memory before caching it.
59708         (rpmatch): Use localized_pattern. Add translator comments.
59709         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59710         Suggested by Eric Blake.
59711         * modules/rpmatch (Depends-on): Add stdbool.
59712
59713 2008-04-28  Eric Blake  <ebb9@byu.net>
59714
59715         Add rawmemchr module, matching glibc.
59716         * modules/string (Makefile.am): New indicator.
59717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59718         * lib/string.in.h (rawmemchr): Declare when appropriate.
59719         * modules/rawmemchr: New file.
59720         * m4/rawmemchr.m4: Likewise.
59721         * lib/rawmemchr.c: Likewise.
59722         * modules/rawmemchr-tests: Likewise.
59723         * tests/test-rawmemchr.c: Likewise.
59724         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59725         module.
59726         * modules/strchrnul (Depends-on): Add rawmemchr.
59727         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59728
59729         Whitespace cleanup.
59730         * tests/test-strchrnul.c: Reindent.
59731         * lib/strchrnul.c: Likewise.
59732
59733         Optimize and test strchrnul.
59734         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59735         * modules/strchrnul-tests: New file.
59736         * tests/test-strchrnul.c: Likewise.
59737
59738         Remove intprops dependency.
59739         * modules/memchr (Depends-on): Remove intprops.
59740         * modules/memrchr (Depends-on): Likewise.
59741         * modules/memchr2 (Depends-on): Likewise.
59742         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59743         * lib/memrchr.c (__memrchr): Likewise.
59744         * lib/memrchr2.c (memchr2): Likewise.
59745         Reported by Simon Josefsson.
59746
59747 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59748
59749         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59750         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59751
59752 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59753
59754         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59755
59756         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59757
59758         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59759
59760         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59761         declarations.
59762         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59763
59764         * m4/inet_pton.m4: Don't check for header files.
59765
59766         * m4/inet_ntop.m4: Don't check for header files.
59767
59768 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59769
59770         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59771         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59772         trigger for cygwin).
59773         Reported by Bruno Haible  <bruno@clisp.org>.
59774
59775 2008-04-28  Bruno Haible  <bruno@clisp.org>
59776
59777         * doc/posix-functions/strdup.texi: Mention mingw problem.
59778
59779 2008-04-27  Bruno Haible  <bruno@clisp.org>
59780
59781         * modules/stat-time-tests (Depends-on): Add sleep.
59782         * tests/test-stat-time.c (force_unlink): New function.
59783         (cleanup): Use it.
59784         (test_mtime): Remove the ctime related tests.
59785         (test_ctime): New function, containing the ctime related tests.
59786         (main): Call test_ctime, except on native Windows platforms.
59787
59788 2008-04-27  Bruno Haible  <bruno@clisp.org>
59789
59790         * lib/rpmatch.c (rpmatch): Add some comments.
59791         Reported by James Youngman <jay@gnu.org>.
59792
59793 2008-04-27  Bruno Haible  <bruno@clisp.org>
59794
59795         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59796         quiet NaNs.
59797
59798 2008-04-27  Bruno Haible  <bruno@clisp.org>
59799
59800         Make test-yesno.sh work on mingw.
59801         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59802         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59803         (main): Set stdin to binary mode.
59804         * modules/yesno-tests (Depends-on): Add binary-io.
59805
59806 2008-04-27  Bruno Haible  <bruno@clisp.org>
59807
59808         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59809         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59810         argument that lie outside the IEEE 854 domain.
59811         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59812         (gl_ISFINITE): Use it.
59813         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59814
59815 2008-04-27  Bruno Haible  <bruno@clisp.org>
59816
59817         Allow local renaming in config.h.
59818         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59819
59820 2008-04-27  Bruno Haible  <bruno@clisp.org>
59821
59822         * lib/memchr.c (__memchr): Change type of 'i'.
59823         * lib/memchr2.c (memchr2): Likewise.
59824
59825 2008-04-26  Eric Blake  <ebb9@byu.net>
59826         and Bruno Haible  <bruno@clisp.org>
59827
59828         Optimize and test memrchr.
59829         * modules/memrchr (Depends-on): Add intprops.
59830         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59831         * modules/memrchr-tests: New file.
59832         * tests/test-memrchr.c: New file.
59833
59834 2008-04-26  Bruno Haible  <bruno@clisp.org>
59835
59836         Add tentative support for DragonFly BSD.
59837         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59838         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59839         fp.
59840         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59841         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59842         * lib/fpurge.c (fpurge): Likewise.
59843         * lib/freadable.c (freaadable): Likewise.
59844         * lib/freadahead.c (freadahead): Likewise.
59845         * lib/freading.c (freading): Likewise.
59846         * lib/freadptr.c (freadptr): Likewise.
59847         * lib/freadseek.c (freadptrinc): Likewise.
59848         * lib/fseeko.c (fseeko): Likewise.
59849         * lib/fseterr.c (fseterr): Likewise.
59850         * lib/fwritable.c (fwritable): Likewise.
59851         * lib/fwriting.c (fwriting): Likewise.
59852
59853 2008-04-26  Bruno Haible  <bruno@clisp.org>
59854
59855         * lib/stdio-impl.h: New file.
59856         * lib/fbufmode.c: Include stdio-impl.h.
59857         (fbufmode): Use fp_, remove redundant #defines.
59858         * lib/fflush.c: Include stdio-impl.h.
59859         (clear_ungetc_buffer): Remove redundant #defines.
59860         * lib/fpurge.c: Include stdio-impl.h.
59861         (fpurge): Remove redundant #defines.
59862         * lib/freadable.c: Include stdio-impl.h.
59863         (freadable): Remove redundant #defines.
59864         * lib/freadahead.c: Include stdio-impl.h.
59865         (freadahead): Remove redundant #defines.
59866         * lib/freading.c: Include stdio-impl.h.
59867         (freading): Remove redundant #defines.
59868         * lib/freadptr.c: Include stdio-impl.h.
59869         (freadptr): Remove redundant #defines.
59870         * lib/freadseek.c: Include stdio-impl.h.
59871         (freadptrinc): Remove redundant #defines.
59872         * lib/fseeko.c: Include stdio-impl.h.
59873         (rpl_fseeko): Remove redundant #defines.
59874         * lib/fseterr.c: Include stdio-impl.h.
59875         (fseterr): Remove redundant #defines.
59876         * lib/fwritable.c: Include stdio-impl.h.
59877         (fwritable: Remove redundant #defines.
59878         * lib/fwriting.c: Include stdio-impl.h.
59879         (fwriting): Remove redundant #defines.
59880         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59881         * modules/fflush (Files): Likewise.
59882         * modules/fpurge (Files): Likewise.
59883         * modules/freadable (Files): Likewise.
59884         * modules/freadahead (Files): Likewise.
59885         * modules/freading (Files): Likewise.
59886         * modules/freadptr (Files): Likewise.
59887         * modules/freadseek (Files): Likewise.
59888         * modules/fseeko (Files): Likewise.
59889         * modules/fseterr (Files): Likewise.
59890         * modules/fwritable (Files): Likewise.
59891         * modules/fwriting (Files): Likewise.
59892
59893 2008-04-26  Bruno Haible  <bruno@clisp.org>
59894
59895         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59896         restore_seek_optimization, update_fpos_cache): New functions, extracted
59897         from rpl_fflush.
59898         (rpl_fflush): Use them.
59899         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59900         (gl_REPLACE_FFLUSH): Use it.
59901
59902 2008-04-26  Bruno Haible  <bruno@clisp.org>
59903
59904         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59905         on Solaris.
59906         * tests/test-xstrtoimax.sh: Likewise.
59907         * tests/test-xstrtoumax.sh: Likewise.
59908         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59909
59910 2008-04-26  Bruno Haible  <bruno@clisp.org>
59911
59912         * modules/memchr-tests: New file.
59913         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59914
59915 2008-04-26  Eric Blake  <ebb9@byu.net>
59916             Bruno Haible  <bruno@clisp.org>
59917
59918         * lib/memchr.c: Include intprops.h.
59919         (__memchr): Optimize parallel detection of matching bytes. Rename local
59920         variables. Add explanatory comments.
59921
59922 2008-04-26  Bruno Haible  <bruno@clisp.org>
59923
59924         Fix module 'memchr', broken since 2000-10-28.
59925         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59926
59927 2008-04-26  Bruno Haible  <bruno@clisp.org>
59928
59929         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59930         comments.
59931
59932 2008-04-25  Eric Blake  <ebb9@byu.net>
59933
59934         Use native fstatat on cygwin 1.7.0.
59935         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59936         first.
59937
59938 2008-04-23  Eric Blake  <ebb9@byu.net>
59939
59940         Improve memchr2 performance.
59941         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59942         NUL bytes.
59943         * modules/memchr2 (Depends-on): Use intprops.h.
59944
59945 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59946
59947         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59948         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59949         <blp@cs.stanford.edu>.
59950
59951 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59952
59953         * lib/arpa_inet.in.h: New file.
59954
59955         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59956         (Makefile.am): Sed in substitute header file.
59957
59958         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59959         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59960
59961         * modules/inet_ntop (configure.ac): Use
59962         gl_ARPA_INET_MODULE_INDICATOR.
59963
59964         * modules/inet_pton (configure.ac): Use
59965         gl_ARPA_INET_MODULE_INDICATOR.
59966
59967 2008-04-22  Jim Meyering  <meyering@redhat.com>
59968
59969         * modules/verify (License): Re-license as LGPLv2+.
59970
59971 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59972
59973         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59974         parameter to void* as per POSIX standard (MinGW uses char*).
59975
59976 2008-04-21  Bruno Haible  <bruno@clisp.org>
59977
59978         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59979         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59980         Define to replacements if REPLACE_ISWCNTRL is 1.
59981         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59982         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59983         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59984         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59985         what it fixes.
59986         * doc/posix-functions/iswalpha.texi: Likewise.
59987         * doc/posix-functions/iswblank.texi: Likewise.
59988         * doc/posix-functions/iswcntrl.texi: Likewise.
59989         * doc/posix-functions/iswdigit.texi: Likewise.
59990         * doc/posix-functions/iswgraph.texi: Likewise.
59991         * doc/posix-functions/iswlower.texi: Likewise.
59992         * doc/posix-functions/iswprint.texi: Likewise.
59993         * doc/posix-functions/iswpunct.texi: Likewise.
59994         * doc/posix-functions/iswspace.texi: Likewise.
59995         * doc/posix-functions/iswupper.texi: Likewise.
59996         * doc/posix-functions/iswxdigit.texi: Likewise.
59997         Reported by Alain Guibert.
59998
59999 2008-04-21  Bruno Haible  <bruno@clisp.org>
60000
60001         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60002         Patch by Alain Guibert.
60003
60004 2008-04-21  Bruno Haible  <bruno@clisp.org>
60005
60006         Fix test failures on mingw.
60007         * tests/test-xstrtol.c (print_no_progname): New function.
60008         (main): Install it in error_print_progname hook.
60009         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60010         * tests/test-xstrtoimax.sh: Likewise.
60011         * tests/test-xstrtoumax.sh: Likewise.
60012
60013 2008-04-21  Bruno Haible  <bruno@clisp.org>
60014
60015         Fix test failure on mingw.
60016         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60017
60018 2008-04-21  Bruno Haible  <bruno@clisp.org>
60019
60020         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60021         Actually assign a value.
60022
60023 2008-04-20  Bruno Haible  <bruno@clisp.org>
60024
60025         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60026         take 2.
60027         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60028         'canonicalize-lgpl' module is also used.
60029         * lib/canonicalize-lgpl.c: Undo last change.
60030         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60031
60032 2008-04-20  Bruno Haible  <bruno@clisp.org>
60033
60034         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60035         config.h. Provide _mkdir based fallback for mingw.
60036         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60037         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60038         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60039         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60040         rather than defining mkdir in config.h.
60041         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60042         (gl_SYS_STAT_H_DEFAULTS): New macro.
60043         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60044         HAVE_IO_H any more.
60045         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60046         HAVE_DECL_MKDIR and HAVE_IO_H.
60047
60048 2008-04-20  Bruno Haible  <bruno@clisp.org>
60049
60050         * lib/isapipe.c: Port to native Windows platforms.
60051
60052 2008-04-20  Bruno Haible  <bruno@clisp.org>
60053
60054         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60055
60056 2008-04-21  Eric Blake  <ebb9@byu.net>
60057
60058         Work around preprocessors that don't handle UINTMAX_MAX.
60059         * lib/memchr2.c (memchr2): Avoid embedded #if.
60060         Reported by Alain Guibert, fix suggested by Bruno Haible.
60061
60062 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60063
60064         * doc/posix-functions/strftime.texi (strftime): Explain better
60065         Windows incompatibility.  Suggested by Micah Cowan
60066         <micah@cowan.name>.
60067
60068 2008-04-20  Bruno Haible  <bruno@clisp.org>
60069
60070         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60071         unistr/u8-mblen.
60072
60073 2008-04-20  Bruno Haible  <bruno@clisp.org>
60074
60075         Fix test failure on platforms with non-GNU iconv.
60076         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60077         (U_TO_U8): Use it, rather than u16_to_u8.
60078         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60079         units at the end of the input string.
60080         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60081
60082 2008-04-20  Bruno Haible  <bruno@clisp.org>
60083
60084         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60085         when the resulting length is 0.
60086         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60087
60088 2008-04-20  Bruno Haible  <bruno@clisp.org>
60089
60090         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60091         works.
60092         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60093
60094 2008-04-20  Bruno Haible  <bruno@clisp.org>
60095
60096         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60097         * modules/tsearch-tests (configure.ac): Test for initstate function.
60098
60099 2008-04-20  Bruno Haible  <bruno@clisp.org>
60100
60101         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60102         for nlink_t if missing.
60103         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60104
60105 2008-04-19  Bruno Haible  <bruno@clisp.org>
60106
60107         Work around snprintf bug on Linux libc5.
60108         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60109         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60110         gl_SNPRINTF_SIZE1.
60111         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60112         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60113         that test failed.
60114         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60115         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60116         * modules/snprintf (Files): Add m4/printf.m4.
60117         * modules/vsnprintf (Files): Likewise.
60118         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60119         * doc/posix-functions/vsnprintf.texi: Likewise.
60120
60121 2008-04-19  Bruno Haible  <bruno@clisp.org>
60122
60123         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60124         from 0.0058 to less than 10^-7.
60125
60126 2008-04-19  Bruno Haible  <bruno@clisp.org>
60127
60128         Fix rounding when a precision is given.
60129         * lib/vasnprintf.c (is_borderline): New function.
60130         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60131         9...9x.
60132         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60133         %e, %g.
60134         * tests/test-vasprintf-posix.c (test_function): Likewise.
60135         * tests/test-snprintf-posix.h (test_function): Likewise.
60136         * tests/test-sprintf-posix.h (test_function): Likewise.
60137         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60138         * tests/test-printf-posix.h (test_function): Likewise.
60139         * tests/test-printf-posix.output: Update.
60140         Reported by John Darrington <john@darrington.wattle.id.au> via
60141         Ben Pfaff <blp@cs.stanford.edu>.
60142
60143 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60144
60145         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60146         Suggested by Bruno Haible <bruno@clisp.org>.
60147
60148 2008-04-17  Bruno Haible  <bruno@clisp.org>
60149
60150         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60151         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60152         implementation.
60153         Patch by Bruce Merry <bmerry@gmail.com>.
60154
60155 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60156
60157         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60158         doesn't work under Windows.
60159
60160 2008-04-16  Bruno Haible  <bruno@clisp.org>
60161
60162         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60163         New macros.
60164         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60165         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60166         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60167         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60168         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60169         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60170         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60171         macros.
60172         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60173         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60174         Northern Sotho, Uighur.
60175
60176 2008-04-16  Bruno Haible  <bruno@clisp.org>
60177
60178         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60179         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60180         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60181         Reported by Daniel Bergström <daniel@octocode.com>.
60182
60183 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60184             Bruno Haible  <bruno@clisp.org>
60185
60186         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60187         function.
60188         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60189         New functions, mostly extracted from gl_locale_name_default.
60190         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60191
60192 2008-04-16  Eric Blake  <ebb9@byu.net>
60193
60194         Adjust strtod detection to catch glibc 2.7 bug.
60195         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60196         Reported by John Gatewood Ham.
60197
60198 2008-04-16  Bruno Haible  <bruno@clisp.org>
60199
60200         Add tentative support for Linux libc5.
60201         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60202         * lib/fpurge.c (fpurge): Likewise.
60203         * lib/freadable.c (freadable): Likewise.
60204         * lib/freadahead.c (freadahead): Likewise.
60205         * lib/freading.c (freading): Likewise.
60206         * lib/freadptr.c (freadptr): Likewise.
60207         * lib/freadseek.c (freadptrinc): Likewise.
60208         * lib/fseeko.c (rpl_fseeko): Likewise.
60209         * lib/fseterr.c (fseterr): Likewise.
60210         * lib/fwritable.c (fwritable): Likewise.
60211         * lib/fwriting.c (fwriting): Likewise.
60212         Reported by Alain Guibert <alguibert+bts@free.fr>.
60213
60214 2008-04-15  Bruno Haible  <bruno@clisp.org>
60215
60216         * modules/mathl (configure.ac): Define module indicator.
60217
60218 2008-04-15  Bruno Haible  <bruno@clisp.org>
60219
60220         * lib/logl.c (logl): Remove unused variables.
60221
60222 2008-04-15  Bruno Haible  <bruno@clisp.org>
60223
60224         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60225         fails.
60226
60227 2008-04-15  Bruno Haible  <bruno@clisp.org>
60228
60229         * lib/trim.c (trim2): Fix argument of isspace() macro.
60230
60231 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60232
60233         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60234         to 0.
60235         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60236
60237 2008-04-14  Bruno Haible  <bruno@clisp.org>
60238
60239         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60240         AC_LANG_PROGRAM argument.
60241         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60242         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60244         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60245         * m4/math_h.m4 (gl_MATH_H): Likewise.
60246         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60247         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60248         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60249         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60250         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60251         * m4/regex.m4 (gl_REGEX): Likewise.
60252         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60253         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60255         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60256         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60257         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60258         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60259         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60260
60261 2008-04-14  Jim Meyering  <meyering@redhat.com>
60262
60263         test-strtod: fix typos: s/abs/fabs/
60264         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60265
60266 2008-04-13  Bruno Haible  <bruno@clisp.org>
60267
60268         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60269         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60270         module is also used and while not building the reloc-wrapper.
60271
60272 2008-04-13  Bruno Haible  <bruno@clisp.org>
60273
60274         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60275
60276 2008-04-13  Bruno Haible  <bruno@clisp.org>
60277
60278         Fix AIX compilation failure introduced on 2008-04-02.
60279         * tests/test-frexp.c (exp): Undefine before redefining.
60280         * tests/test-frexpl.c (exp): Likewise.
60281
60282 2008-04-13  Bruno Haible  <bruno@clisp.org>
60283
60284         Work around a HP-UX stdio bug.
60285         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60286         * tests/test-ftello.c (main): Likewise.
60287         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60288         * doc/posix-functions/ftello.texi: Likewise.
60289
60290 2008-04-13  Bruno Haible  <bruno@clisp.org>
60291
60292         Make test-signbit pass on HP-UX/hppa.
60293         * tests/test-signbit.c (minus_zerol): New variable.
60294         (test_signbitl): Use it.
60295
60296 2008-04-13  Bruno Haible  <bruno@clisp.org>
60297
60298         Make truncl work on OSF/1 4.0.
60299         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60300         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60301         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60303         HAVE_DECL_TRUNCL.
60304         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60305         HAVE_DECL_TRUNCL.
60306         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60307
60308 2008-04-13  Bruno Haible  <bruno@clisp.org>
60309
60310         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60311
60312 2008-04-13  Bruno Haible  <bruno@clisp.org>
60313
60314         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60315         expression, so as to avoid HP-UX 11 cc compiler bug.
60316
60317 2008-04-13  Bruno Haible  <bruno@clisp.org>
60318
60319         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60320
60321 2008-04-13  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/git-merge-changelog.c: Remove empty declaration outside of
60324         functions.
60325
60326 2008-04-13  Bruno Haible  <bruno@clisp.org>
60327
60328         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60329
60330 2008-04-13  Bruno Haible  <bruno@clisp.org>
60331
60332         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60333         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60334         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60335         also if it exists but lacks definitions of the SHUT_* macros.
60336         * modules/sys_socket (Description): Update.
60337         Reported by Elbert Pol <e.pol@chello.nl>.
60338
60339 2008-04-13  Bruno Haible  <bruno@clisp.org>
60340
60341         * lib/localcharset.c (OS2): Don't redefine if already defined.
60342         Reported by Elbert Pol <e.pol@chello.nl>.
60343
60344 2008-04-13  Bruno Haible  <bruno@clisp.org>
60345
60346         * lib/binary-io.h [__EMX__]: Include <io.h>.
60347         Reported by Elbert Pol <e.pol@chello.nl>.
60348
60349 2008-04-12  Bruno Haible  <bruno@clisp.org>
60350
60351         * lib/fpucw.h: Enable the definitions also for x86_64.
60352         Needed for NetBSD/x86_64.
60353         Reported by Thomas Klausner <tk@giga.or.at>.
60354
60355 2008-04-12  Bruno Haible  <bruno@clisp.org>
60356
60357         * tests/test-strtod.c: Include isnand.h.
60358         (main): Use isnand instead of isnan.
60359         Reported by Jim Meyering.
60360
60361 2008-04-12  Bruno Haible  <bruno@clisp.org>
60362
60363         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60364         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60365
60366 2008-04-12  Jim Meyering  <meyering@redhat.com>
60367
60368         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60369
60370 2008-04-12  Bruno Haible  <bruno@clisp.org>
60371
60372         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60373         Reported by Elbert Pol <e.pol@chello.nl>.
60374
60375 2008-04-12  Eric Blake  <ebb9@byu.net>
60376
60377         Work around Solaris 10 math.h bug.
60378         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60379         (gl_MATH_H_DEFAULTS): Set up default.
60380         * modules/math (Makefile.am): Replace new indicators.
60381         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60382         * tests/test-math.c (main): Test this.
60383         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60384         * doc/posix-headers/math.texi (math.h): Mention bug.
60385         Reported by Nelson H. F. Beebe and Jim Meyering.
60386
60387 2008-04-11  Bruno Haible  <bruno@clisp.org>
60388
60389         Adapt to future versions of Apple GCC.
60390         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60391         Reported by Peter O'Gorman <peter@pogma.com>.
60392
60393 2008-04-11  Bruno Haible  <bruno@clisp.org>
60394
60395         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60396
60397 2008-04-11  Bruno Haible  <bruno@clisp.org>
60398
60399         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60400
60401         * modules/getaddrinfo-tests (Makefile.am): Define
60402         test_getaddrinfo_LDADD.
60403
60404 2008-04-11  Bruno Haible  <bruno@clisp.org>
60405
60406         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60407         (init): Fix syntax error.
60408         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60409         is declared.
60410
60411 2008-04-11  Bruno Haible  <bruno@clisp.org>
60412
60413         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60414         * modules/glob (Depends-on): Add stdbool.
60415
60416 2008-04-11  Bruno Haible  <bruno@clisp.org>
60417
60418         * lib/trim.c: Include <string.h>.
60419
60420 2008-04-11  Eric Blake  <ebb9@byu.net>
60421
60422         Avoid compile failure on OS/2.
60423         * lib/regex_internal.h (internal_function): Disable optimization
60424         on OS/2 (__EMX__), where it caused compiler error.
60425         Reported by Elbert Pol.
60426
60427 2008-04-11  Bruno Haible  <bruno@clisp.org>
60428
60429         Flush the standard error stream before aborting. Needed on mingw.
60430         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60431         * tests/test-array_list.c (ASSERT): Likewise.
60432         * tests/test-array_oset.c (ASSERT): Likewise.
60433         * tests/test-avltree_list.c (ASSERT): Likewise.
60434         * tests/test-avltree_oset.c (ASSERT): Likewise.
60435         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60436         * tests/test-binary-io.c (ASSERT): Likewise.
60437         * tests/test-byteswap.c (ASSERT): Likewise.
60438         * tests/test-c-ctype.c (ASSERT): Likewise.
60439         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60440         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60441         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60442         * tests/test-c-strstr.c (ASSERT): Likewise.
60443         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60444         * tests/test-canonicalize.c (ASSERT): Likewise.
60445         * tests/test-carray_list.c (ASSERT): Likewise.
60446         * tests/test-ceilf1.c (ASSERT): Likewise.
60447         * tests/test-ceilf2.c (ASSERT): Likewise.
60448         * tests/test-ceill.c (ASSERT): Likewise.
60449         * tests/test-count-one-bits.c (ASSERT): Likewise.
60450         * tests/test-fbufmode.c (ASSERT): Likewise.
60451         * tests/test-fflush2.c (ASSERT): Likewise.
60452         * tests/test-floorf1.c (ASSERT): Likewise.
60453         * tests/test-floorf2.c (ASSERT): Likewise.
60454         * tests/test-floorl.c (ASSERT): Likewise.
60455         * tests/test-fopen.c (ASSERT): Likewise.
60456         * tests/test-fpending.c (ASSERT): Likewise.
60457         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60458         * tests/test-fpurge.c (ASSERT): Likewise.
60459         * tests/test-freadable.c (ASSERT): Likewise.
60460         * tests/test-freadahead.c (ASSERT): Likewise.
60461         * tests/test-freading.c (ASSERT): Likewise.
60462         * tests/test-freadptr.c (ASSERT): Likewise.
60463         * tests/test-freadptr2.c (ASSERT): Likewise.
60464         * tests/test-freadseek.c (ASSERT): Likewise.
60465         * tests/test-freopen.c (ASSERT): Likewise.
60466         * tests/test-frexp.c (ASSERT): Likewise.
60467         * tests/test-frexpl.c (ASSERT): Likewise.
60468         * tests/test-fseek.c (ASSERT): Likewise.
60469         * tests/test-fseeko.c (ASSERT): Likewise.
60470         * tests/test-fstrcmp.c (ASSERT): Likewise.
60471         * tests/test-ftell.c (ASSERT): Likewise.
60472         * tests/test-ftello.c (ASSERT): Likewise.
60473         * tests/test-func.c (ASSERT): Likewise.
60474         * tests/test-fwritable.c (ASSERT): Likewise.
60475         * tests/test-fwriting.c (ASSERT): Likewise.
60476         * tests/test-getdelim.c (ASSERT): Likewise.
60477         * tests/test-getline.c (ASSERT): Likewise.
60478         * tests/test-i-ring.c (ASSERT): Likewise.
60479         * tests/test-iconv-utf.c (ASSERT): Likewise.
60480         * tests/test-iconv.c (ASSERT): Likewise.
60481         * tests/test-isfinite.c (ASSERT): Likewise.
60482         * tests/test-isnand.c (ASSERT): Likewise.
60483         * tests/test-isnanf.c (ASSERT): Likewise.
60484         * tests/test-isnanl.h (ASSERT): Likewise.
60485         * tests/test-ldexpl.c (ASSERT): Likewise.
60486         * tests/test-linked_list.c (ASSERT): Likewise.
60487         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60488         * tests/test-localename.c (ASSERT): Likewise.
60489         * tests/test-lseek.c (ASSERT): Likewise.
60490         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60491         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60492         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60493         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60494         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60495         * tests/test-mbschr.c (ASSERT): Likewise.
60496         * tests/test-mbscspn.c (ASSERT): Likewise.
60497         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60498         * tests/test-mbspbrk.c (ASSERT): Likewise.
60499         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60500         * tests/test-mbsrchr.c (ASSERT): Likewise.
60501         * tests/test-mbsspn.c (ASSERT): Likewise.
60502         * tests/test-mbsstr1.c (ASSERT): Likewise.
60503         * tests/test-mbsstr2.c (ASSERT): Likewise.
60504         * tests/test-mbsstr3.c (ASSERT): Likewise.
60505         * tests/test-memchr2.c (ASSERT): Likewise.
60506         * tests/test-memmem.c (ASSERT): Likewise.
60507         * tests/test-open.c (ASSERT): Likewise.
60508         * tests/test-printf-frexp.c (ASSERT): Likewise.
60509         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60510         * tests/test-printf-posix.c (ASSERT): Likewise.
60511         * tests/test-quotearg.c (ASSERT): Likewise.
60512         * tests/test-rbtree_list.c (ASSERT): Likewise.
60513         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60514         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60515         * tests/test-round1.c (ASSERT): Likewise.
60516         * tests/test-roundf1.c (ASSERT): Likewise.
60517         * tests/test-roundl.c (ASSERT): Likewise.
60518         * tests/test-signbit.c (ASSERT): Likewise.
60519         * tests/test-sleep.c (ASSERT): Likewise.
60520         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60521         * tests/test-snprintf.c (ASSERT): Likewise.
60522         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60523         * tests/test-stat-time.c (ASSERT): Likewise.
60524         * tests/test-strcasestr.c (ASSERT): Likewise.
60525         * tests/test-strerror.c (ASSERT): Likewise.
60526         * tests/test-striconv.c (ASSERT): Likewise.
60527         * tests/test-striconveh.c (ASSERT): Likewise.
60528         * tests/test-striconveha.c (ASSERT): Likewise.
60529         * tests/test-strsignal.c (ASSERT): Likewise.
60530         * tests/test-strstr.c (ASSERT): Likewise.
60531         * tests/test-strtod.c (ASSERT): Likewise.
60532         * tests/test-trunc1.c (ASSERT): Likewise.
60533         * tests/test-trunc2.c (ASSERT): Likewise.
60534         * tests/test-truncf1.c (ASSERT): Likewise.
60535         * tests/test-truncf2.c (ASSERT): Likewise.
60536         * tests/test-truncl.c (ASSERT): Likewise.
60537         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60538         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60539         * tests/test-vasnprintf.c (ASSERT): Likewise.
60540         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60541         * tests/test-vasprintf.c (ASSERT): Likewise.
60542         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60543         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60544         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60545         * tests/test-vsnprintf.c (ASSERT): Likewise.
60546         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60547         * tests/test-wcwidth.c (ASSERT): Likewise.
60548         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60549         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60550         * tests/test-xvasprintf.c (ASSERT): Likewise.
60551         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60552         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60553         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60554         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60555         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60556         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60557         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60558         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60559         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60560         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60561         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60562         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60563         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60564         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60565         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60566         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60567         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60568         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60569         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60570         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60571         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60572         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60573         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60574         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60575         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60576         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60577         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60578         * tests/unictype/test-combining.c (ASSERT): Likewise.
60579         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60580         * tests/unictype/test-digit.c (ASSERT): Likewise.
60581         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60582         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60583         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60584         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60585         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60586         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60587         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60588         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60589         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60590         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60591         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60592         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60593         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60594         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60595         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60596         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60597         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60598         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60599         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60600         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60601         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60602         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60603         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60604         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60605         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60606         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60607         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60608         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60609         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60610         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60611         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60612         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60613         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60614         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60615         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60616         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60617         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60618         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60619         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60620         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60621         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60622         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60623         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60624         Reported by Eric Blake.
60625
60626 2008-04-11  Bruno Haible  <bruno@clisp.org>
60627
60628         * lib/wchar.in.h: Tweak comment.
60629
60630 2008-04-11  Bruno Haible  <bruno@clisp.org>
60631
60632         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60633         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60634         gl_COMMON.
60635         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60636
60637 2008-04-11  Bruno Haible  <bruno@clisp.org>
60638
60639         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60640
60641 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60642
60643         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60644         of attempting to use non-existing /dev/*random.  Based on patch
60645         from Adam Strzelecki <ono@java.pl> in
60646         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60647
60648 2008-04-08  Bruno Haible  <bruno@clisp.org>
60649
60650         Add tentative support for emx+gcc.
60651         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60652         * lib/fpurge.c (fpurge): Likewise.
60653         * lib/freadable.c (freadable): Likewise.
60654         * lib/freadahead.c (freadahead): Likewise.
60655         * lib/freading.c (freading): Likewise.
60656         * lib/freadptr.c (freadptr): Likewise.
60657         * lib/freadseek.c (freadptrinc): Likewise.
60658         * lib/fseeko.c (rpl_fseeko): Likewise.
60659         * lib/fseterr.c (fseterr): Likewise.
60660         * lib/fwritable.c (fwritable): Likewise.
60661         * lib/fwriting.c (fwriting): Likewise.
60662         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60663
60664 2008-04-09  Eric Blake  <ebb9@byu.net>
60665
60666         Avoid some autoconf warnings.
60667         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60668         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60669         * m4/afs.m4 (gl_AFS): Likewise.
60670         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60671         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60672         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60673         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60674         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60675         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60676         (AC_CHECK_DECLS_ONCE): Likewise.
60677         Rename file...
60678         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60679         gnulib-tool requires autoconf 2.59 or better.
60680         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60681
60682 2008-04-08  Eric Blake  <ebb9@byu.net>
60683
60684         Use 'git describe --match' if present (added in git 1.5.5).
60685         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60686         if possible.
60687
60688 2008-04-08  Bruno Haible  <bruno@clisp.org>
60689
60690         Add tentative support for OpenServer.
60691         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60692         _ptr, _cnt.
60693         * lib/fpurge.c (fpurge): Likewise.
60694         * lib/freadable.c (freadable): Likewise.
60695         * lib/freadahead.c (freadahead): Likewise.
60696         * lib/freading.c (freading): Likewise.
60697         * lib/freadptr.c (freadptr): Likewise.
60698         * lib/freadseek.c (freadptrinc): Likewise.
60699         * lib/fseeko.c (rpl_fseeko): Likewise.
60700         * lib/fseterr.c (fseterr): Likewise.
60701         * lib/fwritable.c (fwritable): Likewise.
60702         * lib/fwriting.c (fwriting): Likewise.
60703         Reported by Roger Cornelius <rac@tenzing.org> and
60704         Brian K. White <brian@aljex.com>.
60705
60706 2008-04-06  Jim Meyering  <meyering@redhat.com>
60707
60708         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60709
60710 2008-04-06  Bruno Haible  <bruno@clisp.org>
60711
60712         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60713         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60714         * tests/test-printf-posix.sh: Likewise.
60715         * tests/test-vfprintf-posix.sh: Likewise.
60716         * tests/test-vprintf-posix.sh: Likewise.
60717         * tests/test-xprintf-posix.sh: Likewise.
60718
60719 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60720
60721         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60722         hide error from 'ls', needed on OS/2.
60723         Report by Elbert Pol <elbert.pol@gmail.com>.
60724
60725 2008-04-04  Eric Blake  <ebb9@byu.net>
60726
60727         Make test-fseeko.c failures meaningful.
60728         * tests/test-fseeko.c: Print line number on failure.
60729         * tests/test-fseek.c: Likewise.
60730         Reported by Nelson H. F. Beebe.
60731
60732         Improve strtod bug detection check.
60733         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60734         required for Solaris 10.
60735         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60736
60737 2008-04-04  Bruno Haible  <bruno@clisp.org>
60738
60739         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60740         by m4/setenv.m4.
60741
60742 2008-04-03  Eric Blake  <ebb9@byu.net>
60743
60744         Ensure sane .version contents.
60745         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60746         version string.
60747         * build-aux/git-version-gen: Improve documentation.
60748
60749         Make GNU make output nicer.
60750         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60751         MAKECMDGOALS to enforce message for all command line targets.  Set
60752         srcdir for use in maint.mk.
60753
60754         Another maintainer tweak.
60755         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60756         a target that regenerates version.
60757
60758 2008-04-03  Jim Meyering  <meyering@redhat.com>
60759
60760         vc-list-files: don't cause coreutils "make po-check" failure
60761         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60762
60763 2008-04-03  Eric Blake  <ebb9@byu.net>
60764
60765         Allow VPATH usage of vc-list-files.
60766         * build-aux/vc-list-files (scriptversion): Add timestamp.
60767         (options): Add --help, --version, -C.
60768         (CVS): Support installed cvsu.
60769
60770 2008-04-02  Bruno Haible  <bruno@clisp.org>
60771
60772         Avoid some "statement with no effect" warnings from gcc.
60773         * tests/test-wctype.c (main): Explicitly ignore unused values.
60774         Reported by Jim Meyering.
60775
60776 2008-04-02  Jim Meyering  <meyering@redhat.com>
60777
60778         Avoid some warnings from "gcc -Wshadow".
60779         * tests/test-frexp.c (exp): Define to a different identifier.
60780         * tests/test-frexpl.c (exp): Likewise.
60781
60782 2008-04-03  Jim Meyering  <meyering@redhat.com>
60783
60784         bootstrap: remove dangling *.[ch] symlinks from lib
60785         * build-aux/bootstrap [dangling symlink removal]: Move find's
60786         -depth option to precede all others, to avoid a warning.
60787         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60788
60789 2008-04-02  Bruno Haible  <bruno@clisp.org>
60790
60791         Avoid some warnings from "gcc -Wshadow".
60792         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60793         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60794         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60795         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60796         Reported by Jim Meyering.
60797
60798 2008-04-01  Bruno Haible  <bruno@clisp.org>
60799
60800         Fix test to work on IRIX 6.5 with cc.
60801         * tests/test-math.c (numeric_equal): New function.
60802         (main): Use it.
60803
60804 2008-04-01  Bruno Haible  <bruno@clisp.org>
60805
60806         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60807
60808 2008-04-01  Bruno Haible  <bruno@clisp.org>
60809
60810         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60811         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60812         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60813         (Depends-on): Remove math.
60814
60815         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60816         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60817         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60818         (Depends-on): Remove math.
60819
60820         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60821         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60822         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60823         (Depends-on): Remove math.
60824         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60825         (Depends-on): Remove math.
60826
60827         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60828         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60829         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60830         (Depends-on): Remove math.
60831         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60832         (Depends-on): Remove math.
60833
60834         * tests/test-round1.c: Include nan.h.
60835         (main): Use NaNd instead of NAN.
60836         * modules/round-tests (Files): Add tests/nan.h.
60837
60838         * tests/test-trunc1.c: Include nan.h.
60839         (main): Use NaNd instead of NAN.
60840         * modules/trunc-tests (Files): Add tests/nan.h.
60841
60842         * tests/test-roundf1.c: Include nan.h.
60843         (main): Use NaNf instead of NAN.
60844         * modules/roundf-tests (Files): Add tests/nan.h.
60845
60846         * tests/test-truncf1.c: Include nan.h.
60847         (main): Use NaNf instead of NAN.
60848         * modules/truncf-tests (Files): Add tests/nan.h.
60849
60850         * tests/test-ceilf1.c: Include nan.h.
60851         (main): Use NaNf instead of NAN.
60852         * modules/ceilf-tests (Files): Add tests/nan.h.
60853
60854         * tests/test-floorf1.c: Include nan.h.
60855         (main): Use NaNf instead of NAN.
60856         * modules/floorf-tests (Files): Add tests/nan.h.
60857
60858         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60859         (main): Use NaNf instead of NAN.
60860         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60861
60862         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60863         (main): Use NaNd instead of NAN.
60864         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60865
60866         * tests/test-frexp.c: Include nan.h.
60867         (main): Use NaNd instead of NAN.
60868         * modules/frexp-tests (Files): Add tests/nan.h.
60869
60870         * lib/isnan.c: Don't include <math.h>.
60871         (FUNC): Don't use NAN macro.
60872         * modules/isnand-nolibm (Depends-on): Remove math.
60873         * modules/isnanf-nolibm (Depends-on): Remove math.
60874         * modules/isnanl (Depends-on): Remove math.
60875         * modules/isnanl-nolibm (Depends-on): Remove math.
60876
60877         * tests/nan.h: New file.
60878
60879 2008-04-01  Eric Blake  <ebb9@byu.net>
60880
60881         Fix typos.
60882         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60883         values to be the right type.
60884
60885         For now, cater to gnulib strtod inaccuracies.
60886         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60887         fractional results.  While not as nice from a QoI perspective, it
60888         is a quicker patch than correctly implementing decimal to binary
60889         rounding.
60890
60891 2008-03-31  Eric Blake  <ebb9@byu.net>
60892
60893         Guarantee a definition of NAN.
60894         * lib/math.in.h (NAN): Define if missing.
60895         * tests/test-math.c (main): Test it.
60896         * doc/posix-headers/math.texi (math.h): Document this.
60897         * lib/isnan.c (rpl_isnand): Use it.
60898         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60899         * tests/test-floorf1.c (NaN): Likewise.
60900         * tests/test-frexp.c (NaN): Likewise.
60901         * tests/test-isnand.c (NaN): Likewise.
60902         * tests/test-isnanf.c (NaN): Likewise.
60903         * tests/test-round1.c (NaN): Likewise.
60904         * tests/test-roundf1.c (NaN): Likewise.
60905         * tests/test-snprintf-posix.h (NaN): Likewise.
60906         * tests/test-sprintf-posix.h (NaN): Likewise.
60907         * tests/test-trunc1.c (NaN): Likewise.
60908         * tests/test-truncf1.c (NaN): Likewise.
60909         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60910         * tests/test-vasprintf-posix.c (NaN): Likewise.
60911         * modules/isnand-nolibm (Depends-on): Add math.
60912         * modules/isnanf-nolibm (Depends-on): Likewise.
60913         * modules/isnanl (Depends-on): Likewise.
60914         * modules/isnanl-nolibm (Depends-on): Likewise.
60915         * modules/snprintf-posix-tests (Depends-on): Likewise.
60916         * modules/sprintf-posix-tests (Depends-on): Likewise.
60917         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60918         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60919         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60920         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60921
60922 2008-03-31  Bruno Haible  <bruno@clisp.org>
60923
60924         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60925         * doc/posix-functions/strtod.texi: Likewise.
60926
60927 2008-03-31  Bruno Haible  <bruno@clisp.org>
60928
60929         * tests/test-strtod.c (main): Don't use C99 syntax.
60930
60931 2008-03-31  Bruno Haible  <bruno@clisp.org>
60932
60933         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60934         Reported by Eric Blake.
60935
60936 2008-03-31  Jim Meyering  <meyering@redhat.com>
60937
60938         Don't compare actual signbit return values.
60939         * tests/test-strtod.c (main): Rather, compare only their
60940         zero/non-zero nature.
60941
60942 2008-03-31  Eric Blake  <ebb9@byu.net>
60943
60944         More strtod documentation.
60945         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60946         failures as distinct bugs.
60947
60948 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60949
60950         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60951         Problem reported by Erik Benada in
60952         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60953
60954 2008-03-30  Bruno Haible  <bruno@clisp.org>
60955
60956         * tests/test-strtod.c: Add comments about which assertion fails on which
60957         platform.
60958         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60959
60960 2008-03-30  Eric Blake  <ebb9@byu.net>
60961
60962         Test signbit behavior on zeros.
60963         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60964         (test_signbitd, test_signbitl): Likewise.
60965
60966         More strtod touchups.
60967         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60968         sign of negative underflow, for now.  Use .5, not .1.
60969         * doc/posix-functions/strtod.texi (strtod): Mention these
60970         limitations.
60971         Reported by Jim Meyering.
60972
60973 2008-03-30  Bruno Haible  <bruno@clisp.org>
60974
60975         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60976         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60977
60978 2008-03-30  Bruno Haible  <bruno@clisp.org>
60979
60980         Avoid failure when attempting to return empty iconv results on some
60981         platforms.
60982         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60983         allocation, don't report ENOMEM when the resulting string is empty.
60984
60985 2008-03-30  Bruno Haible  <bruno@clisp.org>
60986
60987         Fix buffer overrun.
60988         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60989         Don't consider the width for tmp_length. Check count against tmp_length
60990         before doing the padding. Ensure enough allocation during padding.
60991
60992 2008-03-30  Eric Blake  <ebb9@byu.net>
60993
60994         strtod touchups.
60995         * lib/strtod.c (strtod): Avoid compiler warnings.
60996         Reported by Jim Meyering.
60997
60998 2008-03-30  Bruno Haible  <bruno@clisp.org>
60999
61000         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61001         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61002         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61003         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61004         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61005         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61006         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61007         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61008
61009         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61010         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61011         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61012         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61013         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61014         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61015         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61016         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61017
61018         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61019         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61020         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61021         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61022         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61023         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61024         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61025         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61026
61027         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61028         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61029
61030         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61031         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61032
61033         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61034         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61035
61036         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61037         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61038         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61039
61040         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61041         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61042         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61043
61044         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61045         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61046         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61047
61048         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61049         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61050         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61051
61052         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61053         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61054         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61055         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61056         (Depends-on): Add EOVERFLOW.
61057         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61058         (Depends-on): Add EOVERFLOW.
61059         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61060         (Depends-on): Add EOVERFLOW.
61061         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61062         (Depends-on): Add EOVERFLOW.
61063         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61064         (Depends-on): Add EOVERFLOW.
61065         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61066         (Depends-on): Add EOVERFLOW.
61067         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61068         (Depends-on): Add EOVERFLOW.
61069         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61070         (Depends-on): Add EOVERFLOW.
61071
61072         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61073         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61074         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61075
61076         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61077         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61078         * modules/snprintf (Depends-on): Add EOVERFLOW.
61079
61080         * lib/poll.c (EOVERFLOW): Remove fallback.
61081         * modules/poll (Depends-on): Add EOVERFLOW.
61082
61083         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61084         * modules/getugroups (Depends-on): Add EOVERFLOW.
61085
61086         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61087         * modules/getdelim (Depends-on): Add EOVERFLOW.
61088
61089         * lib/ftell.c (EOVERFLOW): Remove fallback.
61090         * modules/ftell (Depends-on): Add EOVERFLOW.
61091
61092         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61093         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61094         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61095
61096         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61097
61098         * modules/EOVERFLOW-tests: New file.
61099         * tests/test-EOVERFLOW.c: New file.
61100
61101         * modules/EOVERFLOW: New file.
61102         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61103
61104 2008-03-30  Bruno Haible  <bruno@clisp.org>
61105
61106         Fix bug introduced on 2007-06-10.
61107         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61108         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61109
61110 2008-03-30  Bruno Haible  <bruno@clisp.org>
61111
61112         Improve freadseek's efficiency after ungetc.
61113         * lib/freadseek.c: Include freadahead.h.
61114         (freadptrinc): New function, extracted from freadseek.
61115         (freadseek): Use it in a loop. Use freadahead to determine the number
61116         of loop iterations.
61117         * modules/freadseek (Depends-on): Add freadahead.
61118         (configure.ac): Require AC_C_INLINE.
61119
61120 2008-03-30  Bruno Haible  <bruno@clisp.org>
61121
61122         * lib/freadseek.c (freadseek): Don't ignore the return value of
61123         freadptr.
61124
61125 2008-03-29  Eric Blake  <ebb9@byu.net>
61126
61127         Add hex float support.
61128         * modules/strtod (Depends-on): Add c-ctype.
61129         (Link): Mention POW_LIB.
61130         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61131         whitespace between 'e' and exponent.
61132         * tests/test-strtod.c (main): Enable hex float tests.
61133         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61134         now provides.
61135
61136         Document various strtod bugs, with some fixes.
61137         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61138         "-0x", "inf", "nan", and hex constants.
61139         * doc/posix-functions/atof.texi (atof): Likewise.
61140         * modules/stdlib (Makefile.am): Support strtod.
61141         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61142         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61143         detect additional strtod bugs.
61144         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61145         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61146         bool where appropriate.  Parse 'inf' and 'nan'.
61147         * tests/test-strtod.c: New file.
61148         * modules/strtod (Depends-on): Add stdbool, stdlib.
61149         (configure.ac): Turn on module indicator.
61150         * modules/strtod-tests: New module.
61151
61152 2008-03-29  Eric Blake  <ebb9@byu.net>
61153
61154         Fix ftell on mingw.
61155         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61156         * modules/ftell-tests (Depends-on): Add binary-io.
61157         * modules/ftello-tests (Depends-on): Likewise.
61158         * tests/test-ftell.c (main): Enhance test to cover behavior after
61159         ungetc.  Enforce binary mode.
61160         * tests/test-ftello.c (main): Likewise.
61161
61162         Pass test-freadseek on cygwin.
61163         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61164         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61165         ungetc buffer.
61166
61167         * tests/test-fflush2.c (main): Fix typo.
61168
61169 2008-03-29  Bruno Haible  <bruno@clisp.org>
61170
61171         * tests/test-fflush2.c (main): Temporarily disable the contents of
61172         this test.
61173         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61174         Reported by Eric Blake.
61175
61176 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61177
61178         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61179         (GC_SHA224_DIGEST_SIZE): Add.
61180
61181         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61182         (gc_hash_digest_length): Likewise.
61183         (gc_hash_buffer): Likewise.
61184
61185 2008-03-25  Bruno Haible  <bruno@clisp.org>
61186
61187         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61188         detail which gettext release to use.
61189         Reported by Simon Josefsson.
61190
61191 2008-03-26  Jim Meyering  <meyering@redhat.com>
61192
61193         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61194         * modules/gnumakefile (clean-GNUmakefile): Also, use
61195         test ... && ... || : syntax rather than if-then ... fi.
61196
61197         gnumakefile: Don't double-quote-expand $(VPATH) value.
61198         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61199
61200 2008-03-24  Eric Blake  <ebb9@byu.net>
61201
61202         Alter GNUmakefile to install into top directory.
61203         * modules/maintainer-makefile: Split, and add dependency...
61204         * modules/gnumakefile: to this new module.
61205         * build-aux/GNUmakefile: Move...
61206         * top/GNUmakefile: ...here.
61207         * build-aux/maint.mk: Move...
61208         * top/maint.mk: ...here.
61209         * MODULES.html.sh (Support for maintaining...): Document new
61210         module.
61211
61212 2008-03-23  Bruno Haible  <bruno@clisp.org>
61213
61214         * gnulib-tool: New options --vc-files, --no-vc-files.
61215         (func_usage): Document them.
61216         (vc_files): New variable.
61217         (func_import): Consider vc_files.
61218         (func_create_testdir): Set vc_files to empty.
61219         Suggested by Jim Meyering and Karl Berry.
61220
61221 2008-03-23  Bruno Haible  <bruno@clisp.org>
61222
61223         Fix regex compilation error on HP-UX 11.
61224         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61225         * modules/regex (Files): Add m4/mbstate_t.m4.
61226         Reported by Ton Voon <ton.voon@altinity.com>.
61227
61228 2008-03-23  Bruno Haible  <bruno@clisp.org>
61229
61230         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61231
61232 2008-03-23  Eric Blake  <ebb9@byu.net>
61233             Bruno Haible  <bruno@clisp.org>
61234
61235         Install files from top/ in the destination directory.
61236         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61237         augmentation also for the files from top/.
61238         (func_import, func_create_testdir): Rewrite file names:
61239         top/filename -> filename.
61240
61241 2008-03-23  Bruno Haible  <bruno@clisp.org>
61242
61243         Tweak "gnulib --version" output.
61244         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61245
61246 2008-03-23  Bruno Haible  <bruno@clisp.org>
61247
61248         Tweak "gnulib --version" output.
61249         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61250         rather than contents of ChangeLog, when possible.
61251
61252 2008-03-21  Eric Blake  <ebb9@byu.net>
61253
61254         More --version tweaks.
61255         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61256         date of last ChangeLog entry.
61257
61258 2008-03-21  Jim Meyering  <meyering@redhat.com>
61259
61260         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61261
61262 2008-03-20  Eric Blake  <ebb9@byu.net>
61263
61264         VPATH fix.
61265         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61266
61267 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61268
61269         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61270         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61271
61272 2008-03-20  Eric Blake  <ebb9@byu.net>
61273
61274         Sync GNUmakefile with coreutils.
61275         * build-aux/GNUmakefile (have-Makefile): Rename...
61276         (_have-Makefile): ...to this, for namespace consideration.
61277         (GNUmakefile.cfg): Include, if present.
61278         (_autoreconf): Define a default.
61279         (_is-dist-target): New rule for rebuilds to pick up intra-release
61280         version.
61281         (maint-cfg.mk): Rename...
61282         (cfg.mk): ...to this.
61283
61284 2008-03-18  Jim Meyering  <meyering@redhat.com>
61285
61286         New script and module: mktempd
61287         * MODULES.html.sh (maint+release support): Add mktempd.
61288         * build-aux/mktempd: New file.
61289         * modules/mktempd: New file.
61290
61291 2008-03-15  Jim Meyering  <meyering@redhat.com>
61292
61293         Undo last change.
61294         * lib/sha1.c, lib/md5.c: 63 != ~63.
61295         Reported by Andreas Schwab.
61296
61297         sha1.c, md5.c: Hoist a redundant expression.
61298         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61299         "ctx->buflen" only once, before calling *_process_block.
61300         * lib/md5.c (md5_process_bytes): Likewise.
61301
61302 2008-03-14  Eric Blake  <ebb9@byu.net>
61303
61304         Bump copyright year in files generated by gnulib-tool.
61305         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61306         gnulib-tool, rather than hard-coding it.
61307
61308         Fix 'gnulib-tool --version' output to work with git.
61309         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61310         (startup): ...here.
61311         (func_version): Use it to invoke git-version-gen, rather than
61312         relying on CVS keyword expansion.  Modernize wording.
61313         (cvsdatestamp, last_checkin_date, version): Kill unused
61314         variables.
61315
61316 2008-03-12  Jim Meyering  <meyering@redhat.com>
61317
61318         Recognize optional cast of the argument to free.
61319         * build-aux/useless-if-before-free: Update regexps.
61320
61321         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61322
61323 2008-03-11  Bruno Haible  <bruno@clisp.org>
61324
61325         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61326         by a single package.
61327         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61328         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61329         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61330         Reported by Sam Steingold <sds@gnu.org>.
61331
61332 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61333
61334         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61335         repositories.
61336
61337 2008-03-11  Bruno Haible  <bruno@clisp.org>
61338
61339         Avoid conflicts between local macro definitions.
61340         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61341         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61342
61343 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61344             Bruno Haible  <bruno@clisp.org>
61345
61346         Make va_copy work with some version of xlc on AIX 5.1.
61347         * lib/stdarg.in.h: New file.
61348         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61349         On AIX, use a <stdarg.h> file substitute.
61350         * modules/stdarg (Files): Add lib/stdarg.in.h.
61351         (Depends-on): Add include_next.
61352         (Makefile.am): Build a stdarg.h substitute if requested.
61353         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61354
61355 2008-03-10  Bruno Haible  <bruno@clisp.org>
61356
61357         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61358         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61359         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61360
61361 2008-03-10  Bruno Haible  <bruno@clisp.org>
61362
61363         * modules/stdlib (Depends-on): Add include_next, remove
61364         absolute-header.
61365
61366 2008-03-09  Bruno Haible  <bruno@clisp.org>
61367
61368         * lib/freadahead.h (freadahead): Document more precisely.
61369         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61370         the sum of both buffer sizes.
61371         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61372         * NEWS: Document the change.
61373
61374 2008-03-09  Bruno Haible  <bruno@clisp.org>
61375
61376         Extend freadptr to return also the buffer size.
61377         * lib/freadptr.h (freadptr): Add sizep argument.
61378         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61379         (freadptr): Add sizep argument. Determine buffer size like freadahead
61380         does.
61381         * tests/test-freadptr.c: Don't include freadahead.h.
61382         (main): Adapt for new calling convention of freadptr.
61383         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61384         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61385         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61386         tests/test-freadptr2.sh.
61387         (Depends): Remove freadahead.
61388         (TESTS): Add test-freadptr2.sh.
61389         (check_PROGRAMS): Add test-freadptr2.
61390
61391 2008-03-09  Bruno Haible  <bruno@clisp.org>
61392
61393         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61394         Report and solution by Simon Josefsson.
61395
61396 2008-03-06  Bruno Haible  <bruno@clisp.org>
61397
61398         Make fflush after ungetc work on BSD platforms.
61399         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61400         * tests/test-fflush2.c: New file.
61401         * tests/test-fflush2.sh: New file.
61402         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61403         tests/test-fflush2.c.
61404         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61405         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61406
61407 2008-03-06  Eric Blake  <ebb9@byu.net>
61408
61409         Likewise for ftello.
61410         * modules/ftello (Dependencies): Add extensions.
61411         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61412
61413 2008-03-06  Bruno Haible  <bruno@clisp.org>
61414
61415         * modules/fseeko (Dependencies): Add extensions.
61416         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61417         Needed on glibc systems.
61418
61419 2008-03-06  Bruno Haible  <bruno@clisp.org>
61420
61421         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61422         email address.
61423         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61424
61425 2008-03-06  Bruno Haible  <bruno@clisp.org>
61426
61427         * users.txt: Add libgnupdf.
61428
61429 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61430
61431         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61432         (Header File Substitutes, Function Substitutes,
61433         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61434         (Build robot for gnulib): Fix typo.
61435
61436 2008-03-06  Bruno Haible  <bruno@clisp.org>
61437
61438         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61439         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61440
61441 2008-03-06  Bruno Haible  <bruno@clisp.org>
61442
61443         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61444         * doc/gnulib.texi: Include it.
61445
61446 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61447
61448         * modules/func (License): Change license to unlimited; there was
61449         no LGPL parts in the module anyway.
61450
61451 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61452
61453         * modules/__func__: Renamed to modules/func.
61454         * modules/__func__-tests: Renamed to modules/func-tests.
61455         * tests/test-__func__.c: Renamed to tests/test-func.c.
61456         * m4/__func__.m4: Renamed to m4/func.m4.
61457         * doc/gnulib.texi (__func__): Section renamed to func.
61458         Suggested by Eric Blake <ebb9@byu.net>.
61459
61460 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61461
61462         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61463         about __func__.  Make example self-contained.  Suggested by Eric
61464         Blake <ebb9@byu.net>.
61465
61466         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61467         Suggested by Eric Blake <ebb9@byu.net>.
61468
61469 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61470
61471         * modules/__func__: New file.
61472         * modules/__func__-tests: New file.
61473         * tests/test-__func__.c: New file.
61474         * m4/__func__.m4: New file.
61475         * doc/gnulib.texi (__func__): Document __func__ module.
61476
61477 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61478
61479         * modules/byteswap (License): Re-license as LGPLv2+.
61480
61481 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61482
61483         * doc/Makefile: Add pdf target.
61484
61485 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61486
61487         * modules/inline (License): Use 'unlimited', since there are only
61488         *.m4 files in this module.
61489
61490 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61491             Bruno Haible  <bruno@clisp.org>
61492
61493         Add support for HP C 7.1 on OpenVMS 8.3.
61494         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61495
61496 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61497
61498         Update VMS specifics.
61499         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61500
61501 2008-03-02  Jim Meyering  <meyering@redhat.com>
61502
61503         Remove the last dependency on the "free" module.
61504         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61505         Reported by Bob Proulx.
61506
61507         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61508
61509         Remove useless "if" tests before free.  Deprecate "free" module.
61510         * doc/posix-functions/free.texi: Mention that this
61511         module is no longer useful.
61512         * modules/free (Notice): Say this module is obsolete.
61513         * modules/readutmp (Depends-on): Remove free.
61514         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61515         * lib/putenv.c (putenv): Likewise.
61516         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61517         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61518         * tests/test-c-strcasestr.c (main): Likewise.
61519         * tests/test-c-strstr.c (main): Likewise.
61520         * tests/test-mbscasestr1.c (main): Likewise.
61521         * tests/test-mbscasestr2.c (main): Likewise.
61522         * tests/test-mbsstr1.c (main): Likewise.
61523         * tests/test-mbsstr2.c (main): Likewise.
61524         * tests/test-memmem.c (main): Likewise.
61525         * tests/test-strcasestr.c (main): Likewise.
61526         * tests/test-striconv.c (main): Likewise.
61527         * tests/test-striconveh.c (main): Likewise.
61528         * tests/test-striconveha.c (main): Likewise.
61529         * tests/test-strstr.c (main): Likewise.
61530
61531         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61532
61533         bootstrap: sync from coreutils again
61534         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61535
61536 2008-03-01  Jim Meyering  <meyering@redhat.com>
61537
61538         bootstrap: sync from coreutils
61539         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61540         also when the target doesn't exist.
61541
61542 2008-03-01  Eric Blake  <ebb9@byu.net>
61543
61544         Fix bugs in last patch.
61545         * lib/memchr2.c (memchr2): Fix typo.
61546         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61547         extension.
61548         Reported by Bruce Korb.
61549
61550         New module 'memchr2'.
61551         * modules/memchr2: New file.
61552         * modules/memchr2-tests: Likewise.
61553         * lib/memchr2.h: Likewise.
61554         * lib/memchr2.c: Likewise, based on memchr.c.
61555         * tests/test-memchr2.c: New test.
61556         * MODULES.html.sh (String handling): Add memchr2.
61557
61558 2008-02-29  Bruno Haible  <bruno@clisp.org>
61559
61560         * modules/freadseek-tests: New file.
61561         * tests/test-freadseek.sh: New file.
61562         * tests/test-freadseek.c: New file.
61563
61564         New module 'freadseek'.
61565         * modules/freadseek: New file.
61566         * lib/freadseek.h: New file.
61567         * lib/freadseek.c: New file.
61568         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61569
61570 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61571
61572         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61573         wydawca.
61574
61575         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61576         program_invocation_name and program_invocation_short_name are
61577         present.
61578
61579 2008-02-28  Bruno Haible  <bruno@clisp.org>
61580
61581         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61582         * tests/test-freadptr.sh: Also test non-seekable stdin.
61583
61584 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61585
61586         * build-aux/bootstrap (source_base, m4_base)
61587         (doc_base, tests_base): New variables.
61588         (gnulib_tool_options): Do not hardcode base directories, use
61589         the above variables instead.
61590
61591 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61592
61593         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61594
61595 2008-02-28  Bruno Haible  <bruno@clisp.org>
61596
61597         * modules/freadptr-tests: New file.
61598         * tests/test-freadptr.sh: New file.
61599         * tests/test-freadptr.c: New file.
61600
61601         New module 'freadptr'.
61602         * modules/freadptr: New file.
61603         * lib/freadptr.h: New file.
61604         * lib/freadptr.c: New file.
61605         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61606
61607 2008-02-26  Karl Berry  <karl@freefriends.org>
61608
61609         Sync from Libtool:
61610         * libltdl/argz.c (argz_add, argz_count): New functions.
61611         * libltdl/argz.in.h: Declare them.
61612         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61613
61614 2008-02-22  Bruno Haible  <bruno@clisp.org>
61615
61616         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61617         is a pointer type.  Needed for HP-UX 10.
61618         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61619         * doc/posix-functions/gmtime_r.texi: Likewise.
61620         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61621
61622 2008-02-24  Bruno Haible  <bruno@clisp.org>
61623
61624         * modules/environ-tests: New file.
61625         * tests/test-environ.c: New file.
61626
61627         New module 'environ'.
61628         * modules/environ: New file.
61629         * lib/unistd.in.h (environ): New declaration.
61630         * m4/environ.m4: New file.
61631         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61632         after use.
61633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61634         HAVE_DECL_ENVIRON.
61635         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61636         HAVE_DECL_ENVIRON.
61637         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61638         wrong claim that 'environ' is missing on some systems.
61639         * modules/execute (Depends-on): Add environ.
61640         * lib/execute.c (environ): Remove fallback declaration.
61641         * modules/pipe (Depends-on): Add environ.
61642         * lib/pipe.c (environ): Remove fallback declaration.
61643         * modules/setenv (Depends-on): Add environ.
61644         * lib/setenv.c (environ): Remove fallback declaration.
61645         * modules/unsetenv (Depends-on): Add environ.
61646         * lib/unsetenv.c (environ): Remove fallback declaration.
61647         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61648         m4/environ.m4.
61649         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61650         (gl_PREREQ_UNSETENV): Likewise.
61651
61652 2008-02-24  Bruno Haible  <bruno@clisp.org>
61653
61654         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61655
61656 2008-02-20  Bob Proulx  <bob@proulx.com>
61657
61658         Enable use of older two part flavor 'git describe'.
61659         * build-aux/git-version-gen: If using the older two part flavor of
61660         git version then recreate the third part now present in the
61661         newer three part flavor of git describe.
61662
61663 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61664
61665         * lib/fts.c (fts_build): Typo correction to comment.
61666
61667 2008-02-17  Bruno Haible  <bruno@clisp.org>
61668
61669         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61670         generating no-op conflicts.
61671
61672 2008-02-17  Bruno Haible  <bruno@clisp.org>
61673
61674         Speed up by 10%.
61675         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61676         result_entries, rather than an index-based loop.
61677
61678 2008-02-17  Bruno Haible  <bruno@clisp.org>
61679
61680         Speed up by 25%.
61681         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61682         'hashcode_cached'.
61683         (entry_create): New function.
61684         (entry_hashcode): Use the cached hashcode if possible.
61685         (read_changelog_file, try_split_merged_entry): Use entry_create.
61686
61687 2008-02-17  Bruno Haible  <bruno@clisp.org>
61688
61689         Speed up from O(n^2) to O(n) for long ChangeLog files.
61690         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61691         (read_changelog_file): Change implementation of entries_reversed list
61692         to rbtreehash.
61693         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61694
61695 2008-02-17  Bruno Haible  <bruno@clisp.org>
61696
61697         New option --split-merged-entry.
61698         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61699         (find_paragraph_end, try_split_merged_entry): New functions.
61700         (long_options): Add option --split-merged-entry.
61701         (usage): Document option --split-merged-entry.
61702         (main): Implement option --split-merged-entry.
61703         Reported by Eric Blake.
61704
61705 2008-02-17  Bruno Haible  <bruno@clisp.org>
61706
61707         * lib/git-merge-changelog.c: Include c-strstr.h.
61708         (main): Support the "git pull --rebase" situation.
61709         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61710         Reported by Eric Blake.
61711
61712 2008-02-16  Eric Blake  <ebb9@byu.net>
61713
61714         Avoid doubling \ in common case of "c-maybe" quoting style.
61715         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61716         eliding outer quotes.
61717         * lib/quotearg.h: Document this.
61718         * tests/test-quotearg.c (result_strings, inputs, results_g)
61719         (flag_results, locale_results): Test it by adding a new string to
61720         each test group.
61721         (compare_strings): Test new string.
61722
61723 2008-02-13  Eric Blake  <ebb9@byu.net>
61724
61725         Avoid trigraph quoting in default output.
61726         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61727         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61728         unless explicitly requested.
61729         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61730
61731 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61732
61733         Don't rely on signed integer overflowing to negative value.
61734         * lib/getugroups.c (getugroups): Include <limits.h>.
61735         Instead, compare against INT_MAX, and increment only if the test passes.
61736
61737 2008-02-13  Jim Meyering  <meyering@redhat.com>
61738         and Eric Blake  <ebb9@byu.net>
61739
61740         Avoid shadowing warning and compile errors on Linux.
61741         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61742         forwarding macros on Linux.
61743         (dcgettext): Define a stub, for Linux.
61744         (results_g, main): Avoid warnings.
61745
61746 2008-02-12  Eric Blake  <ebb9@byu.net>
61747
61748         Silence warning in last patch.
61749         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61750
61751         Quotearg part 4: add tests, fix c-maybe colon quoting.
61752         * lib/quotearg.h: Improve documentation.
61753         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61754         escapes when adding outer quotes.  When quoting trigraphs, use
61755         valid C notation.  When quoting NUL, omit extra characters if next
61756         character is not digit.  Alter prototype.
61757         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61758         callers.
61759         * modules/quotearg-tests: New module.
61760         * tests/test-quotearg.c: New test.
61761
61762 2008-02-07  Eric Blake  <ebb9@byu.net>
61763
61764         Quotearg part 3: add flag to control outer quote elision.
61765         * lib/quotearg.h (c_maybe_quoting_style): New style.
61766         (enum quoting_flags): Better documentation of flags.
61767         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61768         c-maybe style.
61769         (quotearg_buffer_restyled): Handle new flag to elide outer
61770         quotes.
61771
61772         Quotearg part 2: add flag that can control NUL elision.
61773         * lib/quotearg.h (set_quoting_flags): New prototype.
61774         * lib/quotearg.c (struct quoting_options): Add flag field.
61775         (set_quoting_flags): New function.
61776         (quotearg_buffer_restyled): Add flags parameter.
61777         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61778         (quotearg_n_options): Set the flag, since length cannot be
61779         returned.
61780         (quoting_options_from_style): Default flags correctly.
61781
61782         Quotearg part 1: more wrappers, restore quotearg_char state.
61783         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61784         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61785         (quotearg_colon_mem): New wrappers.
61786         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61787         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61788         functions.
61789         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61790         (quotearg_colon_mem): New functions.
61791
61792 2008-02-11  Bruno Haible  <bruno@clisp.org>
61793
61794         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61795         library in the current directory: it does not work with parallel make.
61796         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61797
61798 2008-02-11  Bruno Haible  <bruno@clisp.org>
61799
61800         * .gitattributes: New file.
61801
61802 2008-02-11  Jim Meyering  <meyering@redhat.com>
61803
61804         useless-if-before-free: Fix reversed exit values.
61805         * build-aux/useless-if-before-free: Use correct values
61806         for EXIT_MATCH and EXIT_NO_MATCH.
61807
61808         * build-aux/useless-if-before-free: Close stdout carefully.
61809
61810 2008-02-10  Bruno Haible  <bruno@clisp.org>
61811
61812         New module 'git-merge-changelog'.
61813         * modules/git-merge-changelog: New file.
61814         * lib/git-merge-changelog.c: New file.
61815
61816 2008-02-10  Jim Meyering  <meyering@redhat.com>
61817
61818         useless-if-before-free: New option: --list (-l).
61819
61820         useless-if-before-free: Don't exit immediately upon open failure.
61821         * build-aux/useless-if-before-free: Exit 2 for errors.
61822         Upon failure to open a file, don't exit immediately.
61823         Rather, just warn and continue with any remaining files.
61824
61825 2008-02-10  Bruno Haible  <bruno@clisp.org>
61826
61827         New abstract list operation 'node_set_value'.
61828         * lib/gl_list.h (gl_list_node_set_value): New function.
61829         (struct gl_list_implementation): New field node_set_value.
61830         * lib/gl_list.c (gl_list_node_set_value): New function.
61831         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61832         (gl_array_list_implementation): Update.
61833         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61834         (gl_carray_list_implementation): Update.
61835         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61836         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61837         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61838         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61839         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61840         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61841         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61842         Update.
61843         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61844         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61845         (gl_sublist_list_implementation): Update.
61846
61847 2008-02-10  Bruno Haible  <bruno@clisp.org>
61848
61849         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61850         Needed when ELEMENT is #defined to 'some_type *'.
61851
61852 2008-02-10  Jim Meyering  <meyering@redhat.com>
61853
61854         New script and module: useless-if-before-free
61855         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61856         * build-aux/useless-if-before-free: New file.
61857         * modules/useless-if-before-free: New file.
61858
61859         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61860
61861         xstrtol_error: Fix typo.
61862         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61863         s/exit_failure/exit_status/.
61864
61865 2008-02-09  Jim Meyering  <meyering@redhat.com>
61866
61867         New script and module: gitlog-to-changelog
61868         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61869         * modules/gitlog-to-changelog: New file.
61870         * build-aux/gitlog-to-changelog: New file.
61871
61872 2008-02-08  Jim Meyering  <meyering@redhat.com>
61873
61874         Avoid two "parameter unused" warnings.
61875         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61876         Mark "st" as used.
61877
61878         Use "git COMMAND", not "git-COMMAND".
61879         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61880         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61881         * build-aux/git-version-gen: Use "git status", not "git-status".
61882
61883 2008-02-07  Bruno Haible  <bruno@clisp.org>
61884
61885         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61886         Avoids a crash on Windows Vista.
61887         Reported by Adam Strzelecki <ono@java.pl> via
61888         Simon Josefsson <simon@josefsson.org>.
61889
61890 2008-02-06  Bruno Haible  <bruno@clisp.org>
61891
61892         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61893         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61894         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61895         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61896         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61897         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61898         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61899         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61900         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61901         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61902         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61903         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61904         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61905         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61906         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61907         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61908         left-adjust flag.
61909         * tests/test-snprintf-posix.h (test_function): Likewise.
61910         * tests/test-sprintf-posix.h (test_function): Likewise.
61911         * tests/test-vasprintf-posix.c (test_function): Likewise.
61912         * doc/posix-functions/fprintf.texi: Update.
61913         * doc/posix-functions/printf.texi: Update.
61914         * doc/posix-functions/snprintf.texi: Update.
61915         * doc/posix-functions/sprintf.texi: Update.
61916         * doc/posix-functions/vfprintf.texi: Update.
61917         * doc/posix-functions/vprintf.texi: Update.
61918         * doc/posix-functions/vsnprintf.texi: Update.
61919         * doc/posix-functions/vsprintf.texi: Update.
61920         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61921
61922 2008-02-06  Bruno Haible  <bruno@clisp.org>
61923
61924         Fix bug introduced on 2008-01-26.
61925         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61926
61927 2008-02-06  Bruno Haible  <bruno@clisp.org>
61928
61929         Fix bug introduced on 2007-06-10.
61930         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61931         !NEED_PRINTF_FLAG_ZERO.
61932
61933 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61934
61935         getloadavg: use libperfstat on AIX5
61936         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61937
61938 2008-02-03  Bruno Haible  <bruno@clisp.org>
61939
61940         * lib/diffseq.h: Add comments about required #includes.
61941         Reported by Michael Biggs <gnulib@doubleplum.net>.
61942
61943 2008-02-01  Bruno Haible  <bruno@clisp.org>
61944
61945         * users.txt: Add gnuit.
61946
61947 2008-01-31  Bruno Haible  <bruno@clisp.org>
61948
61949         * lib/md4.c (set_uint32): Mark as inline.
61950         * lib/md5.c (set_uint32): Likewise.
61951         * lib/sha1.c (set_uint32): Likewise.
61952         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61953         * m4/md5.m4 (gl_MD5): Likewise.
61954         * m4/sha1.m4 (gl_SHA1): Likewise.
61955
61956 2008-01-31  Jim Meyering  <meyering@redhat.com>
61957
61958         Use "sizeof VAR", rather than a literal "4".
61959         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61960         * lib/md4.c (md4_read_ctx): Likewise.
61961         * lib/sha1.c (sha1_read_ctx): Likewise.
61962
61963 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61964
61965         * tests/test-sha1.c: New file, based on test-md5.c.
61966
61967         * modules/crypto/sha1-tests: New file.
61968
61969 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61970
61971         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61972
61973 2008-01-31  Jim Meyering  <meyering@redhat.com>
61974
61975         Prefer "sizeof v" over the equivalent "4".
61976         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61977         * lib/md5.c (set_uint32): Likewise.
61978         * lib/sha1.c (set_uint32): Likewise.
61979
61980 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61981
61982         * lib/sha1.c (set_uint32): Mark function as static.
61983
61984 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61985
61986         md2: clarify comments to say that alignment is not required.
61987         * lib/md2.h: Remove warning about alignment in comment.
61988         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61989         never been required.
61990
61991 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61992
61993         md4: adapt alignment constraint fix from sha1.
61994         * lib/md4.c (set_uint32): New function, from sha1.c
61995         (md4_read_ctx): Use it.
61996         (md4_finish_ctx): Doc fix.
61997         * lib/md4.h: Doc fix.
61998
61999 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62000
62001         md5: adapt alignment constraint fix from sha1.
62002         * lib/md5.c (set_uint32): New function, from sha1.c
62003         (md5_read_ctx): Use it.
62004         (md5_finish_ctx): Doc fix.
62005         * lib/md5.h: Doc fix.
62006
62007 2008-01-30  Peter Palfrader  <weasel@debian.org>
62008
62009         sha1: remove the result buffer alignment constraint
62010         * lib/sha1.c (set_uint32): New function.
62011         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62012         constraint.
62013         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62014         * lib/sha1.h: Likewise.
62015
62016 2008-01-30  Andreas Schwab  <schwab@suse.de>
62017             Bruno Haible  <bruno@clisp.org>
62018
62019         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62020         correct definition of LDBL_MIN_EXP.
62021
62022 2008-01-30  Karl Berry  <karl@gnu.org>
62023
62024         * config/srclist-update: try to preserve x bit on updates.
62025         * config/srclistvars.sh: update for karl.
62026
62027 2008-01-29  Jim Meyering  <meyering@redhat.com>
62028
62029         vasnprintf.c: Avoid warning about unused label
62030         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62031         "overflow" label definition and associated code with the
62032         same cpp condition that guards the sole use of that label.
62033
62034 2008-01-26  Bruno Haible  <bruno@clisp.org>
62035
62036         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62037         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62038         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62039         * lib/isnanl-nolibm.h (isnanl): Likewise.
62040         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62041
62042 2008-01-26  Bruno Haible  <bruno@clisp.org>
62043
62044         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62045         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62046
62047 2008-01-26  Bruno Haible  <bruno@clisp.org>
62048
62049         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62050         GCC >= 4.0 built-in.
62051         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62052
62053 2008-01-26  Bruno Haible  <bruno@clisp.org>
62054
62055         Rename isnan, applicable to 'double' only, to isnand.
62056         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62057         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62058         (configure.ac): Update.
62059         (Include): Replace "isnan.h" with "isnand.h".
62060         * m4/isnand.m4: Renamed from m4/isnan.m4.
62061         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62062         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62063         instead of isnan.c.
62064         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62065         instead of HAVE_ISNAN_IN_LIBC.
62066         (isnand): Renamed from isnan.
62067         * lib/isnand.c: New file.
62068         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62069         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62070         (Makefile.am): Update.
62071         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62072         Include isnand.h instead of isnan.h.
62073         (main): Test isnand instead of isnan.
62074         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62075         isnan-nolibm.
62076         * modules/frexp (Depends-on): Likewise.
62077         * modules/frexp-tests (Depends-on): Likewise.
62078         * modules/frexp-nolibm (Depends-on): Likewise.
62079         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62080         * modules/isfinite (Depends-on): Likewise.
62081         * modules/round-tests (Depends-on): Likewise.
62082         * modules/signbit (Depends-on): Likewise.
62083         * modules/signbit-tests (Depends-on): Likewise.
62084         * modules/snprintf-posix (Depends-on): Likewise.
62085         * modules/sprintf-posix (Depends-on): Likewise.
62086         * modules/trunc-tests (Depends-on): Likewise.
62087         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62088         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62089         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62090         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62091         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62092         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62093         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62094         * modules/vasnprintf-posix (Depends-on): Likewise.
62095         * modules/vasprintf-posix (Depends-on): Likewise.
62096         * modules/vfprintf-posix (Depends-on): Likewise.
62097         * modules/vsnprintf-posix (Depends-on): Likewise.
62098         * modules/vsprintf-posix (Depends-on): Likewise.
62099         * lib/frexp.c: Include isnand.h instead of isnan.h.
62100         (ISNAN): Set to isnand instead of isnan.
62101         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62102         (gl_isfinited): Use isnand instead of isnan.
62103         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62104         (gl_signbitd): Use isnand instead of isnan.
62105         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62106         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62107         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62108         (main): Use isnand instead of isnan.
62109         * tests/test-round1.c: Include isnand.h.
62110         (main): Use isnand instead of isnan.
62111         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62112         (ISNAN): Set to isnand instead of isnan.
62113         * tests/test-trunc1.c: Include isnand.h.
62114         (main): Use isnand instead of isnan.
62115         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62116         (equal): Use isnand instead of isnan.
62117         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62118         isnand-nolibm.
62119         * NEWS: Mention the change.
62120
62121 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62122             Bruno Haible  <bruno@clisp.org>
62123
62124         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62125         the GCC builtins for signbits are present and set
62126         REPLACE_SIGNBIT_USING_GCC if so.
62127         * lib/math.in.h (signbit): Define using GCC builtins if
62128         REPLACE_SIGNBIT_USING_GCC is set.
62129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62130         REPLACE_SIGNBIT_USING_GCC.
62131         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62132
62133 2008-01-25  Jim Meyering  <meyering@redhat.com>
62134
62135         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62136         * lib/poll.c: Include <config.h>, not "config.h".
62137         * tests/test-getaddrinfo.c: Likewise.
62138
62139 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62140
62141         * modules/sockets-tests: New file.
62142
62143 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62144
62145         * modules/sockets: New module, can be used to call WSA_Startup and
62146         WSA_Cleanup when needed.
62147
62148         * lib/sockets.h, lib/sockets.c: New files.
62149
62150         * m4/sockets.m4: New file.
62151
62152         * tests/test-sockets.c: New file.
62153
62154 2008-01-19  Bruno Haible  <bruno@clisp.org>
62155
62156         * doc/posix-headers: Renamed from doc/headers.
62157         * doc/posix-functions: Renamed from doc/functions.
62158         * doc/gnulib.texi: Update.
62159
62160 2008-01-19  Bruno Haible  <bruno@clisp.org>
62161
62162         * doc/glibc-functions/strcasestr.texi: Include contents of
62163         doc/functions/strcasestr.texi, fixing the list of platforms.
62164         * doc/functions/strcasestr.texi: Remove file.
62165
62166 2008-01-19  Bruno Haible  <bruno@clisp.org>
62167
62168         * doc/glibc-functions/memmem.texi: Include contents of
62169         doc/functions/memmem.texi.
62170         * doc/functions/memmem.texi: Remove file.
62171
62172 2008-01-18  Bruno Haible  <bruno@clisp.org>
62173
62174         * doc/glibc-functions/*.texi: New files.
62175         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62176         to use the new files.
62177
62178 2008-01-17  Bruno Haible  <bruno@clisp.org>
62179
62180         * tests/test-gethostname.c (main): Fix printf statement.
62181
62182 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62183
62184         * modules/gethostname-tests: New file.
62185
62186         * tests/test-gethostname.c: New file.
62187
62188 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62189
62190         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62191         used by the UNAME case.  Reported by Bruno Haible
62192         <bruno@clisp.org>.
62193
62194 2008-01-17  Eric Blake  <ebb9@byu.net>
62195
62196         Convert c-strcasestr to be more efficient.
62197         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62198         (Depends-on): Add c-strcase, remove malloca, strnlen.
62199         * tests/test-c-strcasestr.c (main): Enhance test.
62200         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62201
62202 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62203
62204         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62205         Use it in creating po/Makevars.
62206
62207 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62208
62209         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62210         Applications that requires it should initialize libgcrypt
62211         manually.
62212
62213 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62214
62215         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62216
62217 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62218
62219         Fix problem with getdate on mingw32 reported by Simon Josefsson
62220         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62221         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62222         tzname", when deciding whether to declare tzname.
62223         * lib/strftime.c (tzname): Likewise.
62224
62225 2008-01-15  Bruno Haible  <bruno@clisp.org>
62226
62227         Work around a MacOS X 10.5 bug in frexpl().
62228         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62229         * doc/functions/frexpl.texi: Document the bug.
62230         Reported by Elias Pipping <pipping@gentoo.org>.
62231
62232 2008-01-14  Eric Blake  <ebb9@byu.net>
62233
62234         Touch up previous patch.
62235         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62236         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62237
62238         Convert strcasestr module to use Two-Way algorithm.
62239         * modules/strcasestr-simple: New module, based on the old
62240         strcasestr, but with Two-Way rather than KMP.
62241         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62242         * lib/string.in.h (rpl_strcasestr): Declare.
62243         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62244         performance.
62245         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62246         * modules/string (Makefile.am): Support strcasestr.
62247         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62248         * modules/strcasestr-tests (Depends-on): Check for alarm.
62249         * tests/test-strcasestr.c: Augment test.
62250         * lib/str-two-way.h: Clean up stray macro.
62251         * NEWS: Document new module.
62252         * MODULES.html.sh (string handling): Likewise.
62253         * doc/functions/strcasestr.texi: New file.
62254         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62255         here, since it is not a POSIX function.
62256
62257 2008-01-14  Colin Watson  <cjwatson@debian.org>
62258             Bruno Haible  <bruno@clisp.org>
62259
62260         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62261         works fine; if not, set REPLACE_STRSIGNAL.
62262         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62264         REPLACE_STRSIGNAL.
62265         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62266         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62267         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62268
62269 2008-01-14  Bruno Haible  <bruno@clisp.org>
62270
62271         * modules/strsignal (Include): Change to <string.h>.
62272
62273 2008-01-14  Colin Watson  <cjwatson@debian.org>
62274
62275         * modules/argp (Notice): Add a notice recommending to change
62276         XGETTEXT_OPTIONS.
62277         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62278
62279 2008-01-13  Colin Watson  <cjwatson@debian.org>
62280
62281         * modules/strsignal-tests: New file.
62282         * tests/test-strsignal.c: New file.
62283
62284         * lib/strsignal.c: New file, from glibc with modifications.
62285         * lib/siglist.h: New file, from glibc with modifications.
62286         * lib/string.in.h (strsignal): New declaration.
62287         * m4/strsignal.m4: New file.
62288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62289         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62290         * modules/strsignal: New file.
62291         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62292         HAVE_DECL_STRSIGNAL.
62293
62294 2008-01-13  Bruno Haible  <bruno@clisp.org>
62295
62296         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62297         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62298         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62299         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62300
62301 2008-01-13  Bruno Haible  <bruno@clisp.org>
62302
62303         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62304         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62305         * lib/argp.h (__attribute__): Likewise.
62306         * lib/c-stack.c (__attribute__): Likewise.
62307         * lib/error.h (__attribute__): Likewise.
62308         * lib/fts.c (__attribute__): Likewise.
62309         * lib/openat.h (__attribute__): Likewise.
62310         * lib/stdio.in.h (__attribute__): Likewise.
62311         * lib/string.in.h (__attribute__): Likewise.
62312         * lib/utimens.c (__attribute__): Likewise.
62313         * lib/vasnprintf.h (__attribute__): Likewise.
62314         * lib/xalloc.h (__attribute__): Likewise.
62315         * lib/xprintf.h (__attribute__): Likewise.
62316         * lib/xstrtol.h (__attribute__): Likewise.
62317         * lib/xvasprintf.h (__attribute__): Likewise.
62318
62319 2008-01-12  Bruno Haible  <bruno@clisp.org>
62320
62321         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62322         * doc/glibc-headers/a.out.texi: New file.
62323         * doc/glibc-headers/aliases.texi: New file.
62324         * doc/glibc-headers/alloca.texi: New file.
62325         * doc/glibc-headers/ar.texi: New file.
62326         * doc/glibc-headers/argp.texi: New file.
62327         * doc/glibc-headers/argz.texi: New file.
62328         * doc/glibc-headers/byteswap.texi: New file.
62329         * doc/glibc-headers/crypt.texi: New file.
62330         * doc/glibc-headers/endian.texi: New file.
62331         * doc/glibc-headers/envz.texi: New file.
62332         * doc/glibc-headers/err.texi: New file.
62333         * doc/glibc-headers/error.texi: New file.
62334         * doc/glibc-headers/execinfo.texi: New file.
62335         * doc/glibc-headers/fpu_control.texi: New file.
62336         * doc/glibc-headers/fstab.texi: New file.
62337         * doc/glibc-headers/fts.texi: New file.
62338         * doc/glibc-headers/getopt.texi: New file.
62339         * doc/glibc-headers/ieee754.texi: New file.
62340         * doc/glibc-headers/ifaddrs.texi: New file.
62341         * doc/glibc-headers/libintl.texi: New file.
62342         * doc/glibc-headers/mcheck.texi: New file.
62343         * doc/glibc-headers/mntent.texi: New file.
62344         * doc/glibc-headers/obstack.texi: New file.
62345         * doc/glibc-headers/paths.texi: New file.
62346         * doc/glibc-headers/printf.texi: New file.
62347         * doc/glibc-headers/pty.texi: New file.
62348         * doc/glibc-headers/resolv.texi: New file.
62349         * doc/glibc-headers/shadow.texi: New file.
62350         * doc/glibc-headers/sysexits.texi: New file.
62351         * doc/glibc-headers/ttyent.texi: New file.
62352
62353 2008-01-12  Jim Meyering  <meyering@redhat.com>
62354
62355         announce-gen: emit Gnulib's git-based version string.
62356         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62357         New option --gnulib-version=V, where V is expected to be
62358         the output of running git describe in the gnulib directory.
62359         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62360         not useful, and plan to stop publishing an xdelta file with each
62361         coreutils release.
62362
62363         * build-aux/announce-gen: Also check for lzma-compressed files.
62364
62365 2008-01-11  Bruno Haible  <bruno@clisp.org>
62366
62367         * tests/test-memmem.c (main): Increase maximum allowed time.
62368         * tests/test-strstr.c (main): Likewise.
62369
62370 2008-01-11  Bruno Haible  <bruno@clisp.org>
62371
62372         * doc/functions/memmem.texi: Add more precisions about platforms.
62373         * doc/functions/strstr.texi: Likewise.
62374
62375 2008-01-10  Eric Blake  <ebb9@byu.net>
62376
62377         * m4/strstr.m4: Delete cruft from copy-n-paste.
62378         Reported by Bruno Haible.
62379
62380 2008-01-10  Bruno Haible  <bruno@clisp.org>
62381
62382         Make c-strstr rely on strstr.
62383         * lib/c-strstr.c: Don't include str-kmp.h.
62384         (c_strstr): Define in terms of strstr.
62385         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62386         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62387
62388 2008-01-10  Bruno Haible  <bruno@clisp.org>
62389
62390         * doc/gnulib.texi (String Functions in C Locale): New section.
62391         * doc/c-ctype.texi: New file.
62392         * doc/c-strcase.texi: New file.
62393         * doc/c-strcaseeq.texi: New file.
62394         * doc/c-strcasestr.texi: New file.
62395         * doc/c-strstr.texi: New file.
62396         * doc/c-strtod.texi: New file.
62397         * doc/c-strtold.texi: New file.
62398
62399 2008-01-10  Eric Blake  <ebb9@byu.net>
62400
62401         * lib/relocatable.h: Fix a comment.
62402
62403 2008-01-10  Eric Blake  <ebb9@byu.net>
62404
62405         Share two-way algorithm.
62406         * lib/str-two-way.h: New file, merged from...
62407         * lib/memmem.c: ...here...
62408         * lib/strstr.c: ...and here.
62409         * modules/memmem (Files): Use it.
62410         * modules/strstr (Files): Likewise.
62411
62412         Avoid quadratic strstr implementations.
62413         * lib/strstr.c: New file.
62414         * m4/strstr.m4: Likewise.
62415         * modules/strstr: Likewise.
62416         * modules/strstr-tests: Likewise.
62417         * tests/test-strstr.c: Likewise.
62418         * lib/string.in.h (rpl_strstr): Declare.
62419         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62421         * modules/string (Makefile.am): Likewise.
62422         * MODULES.html.sh (string handling): Mention new module.
62423         * doc/functions/strstr.texi (strstr): Document the bug.
62424
62425 2008-01-10  Bruno Haible  <bruno@clisp.org>
62426
62427         * lib/relocatable.h (relocate): State whether result is freshly
62428         allocated or not.
62429         * lib/relocatable.c (relocate): Return a freshly allocated string
62430         instead of a pointer to a privately held string.
62431         Reported by Sylvain Beucler <beuc@gnu.org>.
62432
62433 2008-01-10  Colin Watson  <cjwatson@debian.org>
62434
62435         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62436         s/S_ISNLK/S_ISLNK/.
62437
62438 2008-01-09  Bruno Haible  <bruno@clisp.org>
62439
62440         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62441         and other files.
62442         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62443         if it's only a guess.
62444         * modules/memmem: Simplify by depending on memmem-simple.
62445
62446 2008-01-09  Bruno Haible  <bruno@clisp.org>
62447
62448         Work around OpenBSD 4.0 tdelete() bug.
62449         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62450         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62451         macros and don't redefine the enum values.
62452         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62453         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62454         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62455
62456 2008-01-09  Bruno Haible  <bruno@clisp.org>
62457
62458         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62459         (main): Don't perform the tests if setlocale did not install a UTF-8
62460         locale. Needed on OpenBSD 4.0.
62461         * modules/wcwidth-tests (Depends-on): Add localcharset.
62462
62463 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62464
62465         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62466         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62467         * NEWS: announce this.
62468         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62469
62470 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62471         and Eric Blake  <ebb9@byu.net>
62472
62473         Add memmem-simple module.
62474         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62475         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62476         * modules/memmem-simple: New file.
62477         * modules/memmem (Description): Tweak.
62478         * MODULES.html.sh (string handling): Mention new module.
62479         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62480         addressed by memmem-simple.
62481         * NEWS: Document the difference.
62482
62483 2008-01-09  Eric Blake  <ebb9@byu.net>
62484
62485         Give gcc some memmem optimization hints.
62486         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62487         (strcasestr): Declare as pure.
62488         * modules/memmem (Maintainer): Claim my implementation.
62489
62490 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62491
62492         Support AIX 6.1 and higher.
62493         * build-aux/config.libpath: Likewise.
62494         * build-aux/config.rpath: Likewise.
62495
62496 2008-01-08  Jim Meyering  <meyering@redhat.com>
62497             Bruno Haible  <bruno@clisp.org>
62498
62499         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62500         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62501         Reported by Peter Fales in
62502         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62503
62504 2008-01-08  Bruno Haible  <bruno@clisp.org>
62505
62506         * modules/unictype/category-of (Depends-on): Add
62507         unictype/category-none.
62508         * modules/unictype/category-and-tests (Depends-on): Add
62509         unictype/category-{L,N,Lu,Nd}.
62510         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62511         * modules/unictype/category-or-tests (Depends-on): Add
62512         unictype/category-{L,N}.
62513         * modules/unictype/category-name-tests (Depends-on): Add
62514         unictype/category-{Z,Nl}.
62515         Reported by Simon Josefsson.
62516
62517 2008-01-08  Bruno Haible  <bruno@clisp.org>
62518
62519         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62520         convention better.
62521         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62522         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62523         Reported by Peter Miller <millerp@canb.auug.org.au>.
62524
62525 2008-01-08  Eric Blake  <ebb9@byu.net>
62526
62527         Rewrite memmem to guarantee linear complexity without malloc.
62528         * lib/memmem.c (memmem): Use Two-Way rather than
62529         Knuth-Morris-Pratt, to allow O(1) space usage.
62530         (critical_factorization, two_way_short_needle)
62531         (two_way_long_needle): New functions.
62532         (knuth_morris_pratt): Delete.
62533         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62534         Add stdint.
62535         * tests/test-memmem.c (main): Add tests for periodic needle and
62536         sublinear performance.
62537         * doc/functions/memmem.texi (memmem): Document other deficiencies
62538         in cygwin and older glibc.
62539
62540 2008-01-08  Bruno Haible  <bruno@clisp.org>
62541
62542         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62543         augmentation.
62544
62545 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62546
62547         Add a configure time option: --disable-acl.
62548         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62549         AC_ARG_ENABLE(acl).
62550
62551 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62552
62553         * tests/test-localename.c: Don't include obsolete "setenv.h".
62554
62555         * modules/localename-tests (Depends-on): Need unsetenv.
62556
62557 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62558
62559         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62560
62561 2008-01-06  Colin Watson  <cjwatson@debian.org>
62562
62563         * users.txt: Add man-db.
62564
62565 2008-01-07  Bruno Haible  <bruno@clisp.org>
62566
62567         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62568         previous section name.
62569
62570 2008-01-07  Bruno Haible  <bruno@clisp.org>
62571
62572         * lib/progname.c (set_program_name): Don't strip off a leading
62573         "lt-" prefix outside a .libs directory.
62574         Suggested by Paul Eggert.
62575
62576 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62577             Bruno Haible  <bruno@clisp.org>
62578
62579         Improve memory cleanup in 'relocatable' module.
62580         * lib/relocatable.h (compute_curr_prefix): Change return type to
62581         'char *'.
62582         * lib/relocatable.c (compute_curr_prefix): Change return type to
62583         'char *'. Free curr_installdir after use.
62584         (relocate): Free curr_prefix_better after use.
62585         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62586
62587 2008-01-01  Bruno Haible  <bruno@clisp.org>
62588
62589         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62590         failure on older glibc systems.
62591         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62592
62593 2008-01-05  Eric Blake  <ebb9@byu.net>
62594
62595         Avoid quadratic system memmem.
62596         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62597         Reported by Ralf Wildenhues.
62598
62599         Fix memmem test for mingw.
62600         * modules/memmem-tests (configure.ac): Check for alarm.
62601         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62602         it.
62603         * doc/functions/memmem.texi: New file.
62604         * doc/gnulib.texi (Function Substitutes): Add memmem.
62605         Reported by Bruno Haible.
62606
62607 2008-01-04  Bruno Haible  <bruno@clisp.org>
62608
62609         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62610         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62611         gl_HEADER_STRING_H_DEFAULTS.
62612
62613 2008-01-04  Eric Blake  <ebb9@byu.net>
62614
62615         Shorten duration of memmem test.
62616         * tests/test-memmem.c (main): Use alarm to declare failure if test
62617         is taking too long.
62618         Reported by Ralf Wildenhues.
62619
62620 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62621
62622         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62623         string, needed by strerror.
62624
62625 2008-01-03  Colin Watson  <cjwatson@debian.org>
62626             Bruno Haible  <bruno@clisp.org>
62627
62628         * doc/gnulib-tool.texi (Localization): New section.
62629
62630 2008-01-02  Bruno Haible  <bruno@clisp.org>
62631
62632         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62633         variables to 'unsigned char *' type.
62634         Reported by Paul Eggert.
62635
62636 2008-01-02  Jim Meyering  <jim@meyering.net>
62637
62638         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62639
62640 2007-12-31  Jim Meyering  <jim@meyering.net>
62641
62642         Avoid use of private FTS type name.
62643         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62644
62645 2007-12-30  Karl Berry  <karl@gnu.org>
62646
62647         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62648         work around defect in Texinfo and/or the standalone Info browser.
62649
62650 2007-12-30  Bruno Haible  <bruno@clisp.org>
62651
62652         Unify 5 copies of the KMP code.
62653         * lib/str-kmp.h: New file.
62654         * lib/c-strcasestr.c: Include str-kmp.h.
62655         (knuth_morris_pratt): Remove function.
62656         (c_strcasestr): Update.
62657         * lib/c-strstr.c: Include str-kmp.h.
62658         (knuth_morris_pratt): Remove function.
62659         (c_strcasestr): Update.
62660         * lib/mbscasestr.c: Include str-kmp.h.
62661         (knuth_morris_pratt_unibyte): Remove function.
62662         * lib/mbsstr.c: Include str-kmp.h.
62663         (knuth_morris_pratt_unibyte): Remove function.
62664         * lib/strcasestr.c: Include str-kmp.h.
62665         (knuth_morris_pratt): Remove function.
62666         (strcasestr): Update.
62667         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62668         * modules/c-strstr (Files): Likewise.
62669         * modules/mbscasestr (Files): Likewise.
62670         * modules/mbsstr (Files): Likewise.
62671         * modules/strcasestr (Files): Likewise.
62672         Suggested by Paul Eggert.
62673
62674 2007-12-30  Bruno Haible  <bruno@clisp.org>
62675
62676         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62677         defined.
62678
62679 2007-12-30  Bruno Haible  <bruno@clisp.org>
62680
62681         * lib/xmalloca.h: Include xalloc.h.
62682         (xnmalloca): New macro.
62683
62684 2007-12-30  Bruno Haible  <bruno@clisp.org>
62685
62686         * lib/malloca.h (nmalloca): New macro.
62687         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62688         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62689         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62690         knuth_morris_pratt_multibyte): Likewise.
62691         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62692         knuth_morris_pratt_multibyte): Likewise.
62693         * lib/memmem.c (knuth_morris_pratt): Likewise.
62694         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62695
62696 2007-12-25  Bruno Haible  <bruno@clisp.org>
62697
62698         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62699         * lib/glob.c: Don't include openat.h.
62700         (link_exists2_p): Add back the code that deals with the
62701         !GLOB_ALTDIRFUNC case.
62702         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62703         let it do the filename concatenation.
62704         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62705         * modules/glob (Depends-on): Remove openat.
62706
62707 2007-12-31  Bruno Haible  <bruno@clisp.org>
62708
62709         * modules/dirfd (License): Change to LGPLv2+.
62710         Approved by Jim Meyering.
62711
62712 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62713
62714         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62715         when multiplying M by sizeof (size_t).
62716
62717 2007-12-10  Martin Lambers  <marlam@marlam.de>
62718
62719         Override getpagesize on mingw.
62720         * lib/getpagesize.c: New file.
62721         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62722         * modules/getpagesize (Files): Add lib/getpagesize.c.
62723         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62725         REPLACE_GETPAGESIZE.
62726         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62727
62728 2007-12-25  Bruno Haible  <bruno@clisp.org>
62729
62730         * modules/localcharset (Notice): New field.
62731         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62732         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62733
62734 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62735             Bruno Haible  <bruno@clisp.org>
62736
62737         Avoid using the syntax symbol() in formatted documentation.
62738         * MODULES.html.sh (func_module): When replacing symbol() with a
62739         hyperlink, remove the parentheses. Show an error if some remain.
62740         Recognize and render the '...' syntax.
62741         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62742         Rework. Add paragraph about GCC's inlining.
62743         * doc/alloca.texi: Likewise.
62744         * doc/error.texi: Remove parentheses from symbol reference.
62745         * doc/gnulib-intro.texi: Likewise.
62746         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62747         * modules/fnmatch (Description): Reword to say "the ... function".
62748         * modules/full-read (Description): Likewise.
62749         * modules/full-write (Description): Likewise.
62750         * modules/safe-read (Description): Likewise.
62751         * modules/safe-write (Description): Likewise.
62752         * modules/strchrnul (Description): Likewise.
62753         * modules/trim (Description): Likewise.
62754         * modules/error (Description): Remove parentheses from symbol
62755         references.
62756         * modules/verror (Description): Likewise.
62757         Reported by Karl Berry.
62758
62759 2007-12-25  Bruno Haible  <bruno@clisp.org>
62760
62761         Fixup after 2007-10-16 commit.
62762         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62763
62764 2007-12-24  Bruno Haible  <bruno@clisp.org>
62765
62766         Make --enable-relocatable work with DESTDIR.
62767         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62768         to compute installdir from destprog.
62769         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62770         also set the RELOC_DESTDIR variable.
62771         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62772
62773 2007-12-24  Bruno Haible  <bruno@clisp.org>
62774
62775         Fix link error due to xalloc_die().
62776         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62777         of xreadlink.
62778         * lib/relocwrapper.c: Update comments.
62779         * build-aux/install-reloc: Remove xreadlink.c from file list.
62780         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62781         xreadlink.c.
62782         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62783
62784 2007-12-24  Bruno Haible  <bruno@clisp.org>
62785
62786         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62787         * lib/setenv.h: Remove file.
62788         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62789         lib/setenv.h.
62790         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62791         (Depends-on): Add stdlib.
62792         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62793         gl_FUNC_UNSETENV.
62794         (Include): Replace setenv.h with <stdlib.h>.
62795         * modules/unsetenv: New file.
62796         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62797         * lib/unsetenv.c: Include <stdlib.h> first.
62798         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62799         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62800         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62801         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62802         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62803         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62804         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62805         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62806         * doc/functions/unsetenv.texi: Update.
62807         * modules/xsetenv (Depends-on): Add unsetenv.
62808         * modules/getdate (Depends-on): Likewise.
62809         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62810         * lib/xsetenv.c: Don't include setenv.h.
62811         * lib/getdate.y: Likewise.
62812         * lib/relocwrapper.c: Likewise.
62813         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62814         (Depends-on): Add stdlib.
62815         * NEWS: Mention the changes.
62816         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62817
62818 2007-12-23  Bruno Haible  <bruno@clisp.org>
62819
62820         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62821         indentation.
62822
62823 2007-12-23  Bruno Haible  <bruno@clisp.org>
62824
62825         * lib/c-strcasestr.c: Add more comments.
62826         * lib/c-strstr.c: Likewise.
62827         * lib/mbscasestr.c: Likewise.
62828         * lib/mbsstr.c: Likewise.
62829         * lib/strcasestr.c: Likewise.
62830         * lib/memmem.c: Likewise.
62831
62832 2007-12-23  Bruno Haible  <bruno@clisp.org>
62833
62834         * tests/test-memmem.c: Include <string.h> first.
62835
62836 2007-12-22  Bruno Haible  <bruno@clisp.org>
62837
62838         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62839         the contents of $testsbase.
62840         Reported by Ralf Wildenhues.
62841
62842 2007-12-22  Bruno Haible  <bruno@clisp.org>
62843
62844         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62845         two variables local_ldadd_before, local_ldadd_last.
62846
62847 2007-12-20  Eric Blake  <ebb9@byu.net>
62848
62849         Work around circular library issue when cross-compiling.
62850         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62851         that progname.o does not need to pull in rpl_memcmp.
62852
62853 2007-12-19  Eric Blake  <ebb9@byu.net>
62854
62855         Fix memmem to avoid O(n^2) worst-case complexity.
62856         * lib/memmem.c (knuth_morris_pratt): New function.
62857         (memmem): Use it if first few naive iterations fail.
62858         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62859         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62860         * modules/memchr (License): Likewise.
62861         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62862         malloca.
62863         * tests/test-memmem.c: Rewrite, borrowing ideas from
62864         test-mbsstr1.c; the old version wouldn't even compile!
62865         * modules/memmem-tests: New file.
62866         * lib/string.in.h (rpl_memmem): Add declaration.
62867         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62868         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62869         REPLACE_MEMMEM.
62870
62871 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62872
62873         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62874         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62875         before any system include files, and undef after them all.  This
62876         should fix a problem on VMS reported by John E. Malmberg in
62877         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62878
62879 2007-12-17  Eric Blake  <ebb9@byu.net>
62880
62881         Revert addition of verify, for BSD/OS.
62882         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62883         can't handle large files, for the sake of obsolete platforms.
62884         * modules/fseeko (Depends-on): Remove verify.
62885         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62886         * doc/functions/ftello.texi (ftello): Likewise.
62887         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62888         Reported by Larry Jones.
62889
62890 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62891
62892         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62893         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62894
62895 2007-12-17  Jim Meyering  <meyering@redhat.com>
62896
62897         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62898         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62899         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62900         * modules/getcwd (Depends-on): Add openat.
62901         Reported by Petr Salinger.
62902
62903 2007-12-17  Bruno Haible  <bruno@clisp.org>
62904
62905         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62906         avoid a segmentation fault of the configure test on x86_64 systems.
62907
62908 2007-12-15  Jim Meyering  <meyering@redhat.com>
62909
62910         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62911
62912 2007-12-13  Eric Blake  <ebb9@byu.net>
62913
62914         Another fseek test.
62915         * tests/test-fseek.c (main): Also test ungetc handling.
62916         * tests/test-fseeko.c (main): Likewise.
62917         * modules/fseeko (Depends-on): Add verify.
62918         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62919         large.
62920         Reported by Larry Jones.
62921
62922         Fix fseeko on mingw.
62923         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62924         seek.
62925
62926         Beef up fseek tests.
62927         * tests/test-fseek.c (main): Also test eof handling.
62928         * tests/test-fseeko.c (main): Likewise.
62929         Reported by Larry Jones.
62930
62931 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62932
62933         Fix fseeko on BSD-based platforms.
62934         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62935         successful seek.
62936
62937 2007-12-12  Eric Blake  <ebb9@byu.net>
62938
62939         Allow circular dependency of separate libtests.a
62940         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62941         when use_libtests.
62942
62943 2007-12-11  Eric Blake  <ebb9@byu.net>
62944
62945         Fix bug with -0.0L in previous patch.
62946         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62947         * tests/test-isnan.c (main): Also test on zeroes.
62948         * tests/test-isnanf.c (main): Likewise.
62949         * tests/test-isnanl.h (main): Likewise.
62950
62951         Detect pseudo-denormals on x86 even when cross-compiling.
62952         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62953         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62954         invalid bit patterns that happen to satisfy ==.
62955
62956         Avoid link failures with separate libtests.a.
62957         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62958         last, to satisfy circular dependencies.
62959
62960 2007-12-11  Eric Blake  <ebb9@byu.net>
62961         and Bruno Haible  <bruno@clisp.org>
62962
62963         Fix OpenBSD 4.0 <float.h> handling of long double.
62964         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62965         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62966         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62967
62968 2007-12-11  Jim Meyering  <meyering@redhat.com>
62969
62970         * users.txt: Add libvirt.
62971
62972         Support versions of autoconf prior to 2.59c.
62973         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62974         if it is not already defined.
62975
62976 2007-12-09  Bruno Haible  <bruno@clisp.org>
62977
62978         Let 'gnulib-tool --import' collect sources needed for the tests in
62979         tests/ rather than in lib/.
62980         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62981         argument. If true, add rules to generate libtests.a, and put libtests.a
62982         into $(LDADD). Consider source files in subdirectories and set
62983         uses_subdirs.
62984         (func_emit_initmacro_start, func_emit_initmacro_end,
62985         func_emit_initmacro_done): Pass all arguments explicitly.
62986         (func_import): Determine two module lists main_modules,
62987         testsrelated_modules. Determine use_libtests. Determine two variables
62988         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62989         instead of just sed_transform_lib_file. Determine two variables
62990         main_files and testsrelated_files. Compute 'files' as the union of
62991         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62992         func_add_or_update. In the generated gnulib-comp.m4, collect the
62993         object files for tests/ in different variables than those for lib/.
62994         Substitute LIBTESTS_LIBDEPS.
62995         (func_create_testdir): Combine the uses_subdirs results from
62996         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62997
62998 2007-12-09  Bruno Haible  <bruno@clisp.org>
62999
63000         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63001         the build-aux directory.
63002
63003 2007-12-09  Bruno Haible  <bruno@clisp.org>
63004
63005         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63006         introduced on 2006-09-09.
63007
63008 2007-12-07  Jim Meyering  <meyering@redhat.com>
63009
63010         Let these macros work also with autoconf-2.59.
63011         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63012         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63013         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63014
63015 2007-12-06  Jim Meyering  <meyering@redhat.com>
63016
63017         Avoid a configure-time syntax error in gl_FUNC_ACL.
63018         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63019         function in each branch, before testing the cache variable.
63020
63021 2007-12-04  Eric Blake  <ebb9@byu.net>
63022
63023         Make scripts executable.
63024         * build-aux/config.guess: Add execute permissions.
63025         * build-aux/config.sub: Likewise.
63026         * build-aux/gendocs.sh: Likewise.
63027
63028         Fix frexp on mingw.
63029         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63030         cross-compiling.
63031         * doc/functions/frexp.texi (frexp): Document the bug.
63032
63033         Make cygwin fseeko check more reliable.
63034         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63035         version numbers, rather than unrelated feature check.
63036         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63037         * doc/functions/ftello.texi (ftello): Likewise.
63038         Reported by Bruno Haible.
63039
63040         * m4/strerror.m4: Bump version number.
63041
63042 2007-12-03  Bruno Haible  <bruno@clisp.org>
63043
63044         * doc/functions/mprotect.texi: Mention the mingw problem.
63045
63046 2007-12-03  Eric Blake  <ebb9@byu.net>
63047
63048         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63049         REPLACE_STRERROR is initialized before this macro.
63050
63051 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63052
63053         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63054         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63055         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63056         put -lsec in even for programs other than 'ls'.  This fixes a problem
63057         for gettext reported by Bruno Haible in
63058         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63059         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63060         Add support for Solaris 10.  This isn't efficient, but should get the
63061         job done for now.
63062
63063 2007-12-03  James Youngman  <jay@gnu.org>
63064
63065         * doc/regexprops-generic.texi: change "an close-group" to "a
63066         close-group" and "illegal" to "not allowed".
63067
63068 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63069
63070         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63071         pr_byname.h. Needed for the rare case when the maintainer has done
63072         "make maintainer-clean" in the source directory and then attempts a
63073         build outside the source directory.
63074         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63075         scripts_byname.h.
63076
63077 2007-12-02  Martin Lambers <marlam@marlam.de>
63078             Bruno Haible  <bruno@clisp.org>
63079
63080         * lib/getpagesize.h: Remove file.
63081         * lib/unistd.in.h: Include declaration of getpagesize here.
63082         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63083         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63084         HAVE_SYS_PARAM_H.
63085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63086         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63087         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63088         (Depends-on): Add unistd.
63089         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63090         (Include): Use <unistd.h> instead of getpagesize.h.
63091         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63092         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63093         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63094         gl_GETPAGESIZE invocation, already handled by module dependency.
63095         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63096
63097 2007-12-02  Bruno Haible  <bruno@clisp.org>
63098
63099         * modules/strings-tests: New file.
63100         * tests/test-strings.c: New file.
63101
63102         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63103         * lib/strings.in.h: New file.
63104         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63105         * m4/strings_h.m4: New file.
63106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63107         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63108         * modules/strings: New file.
63109         * modules/string (Makefile.am): Update.
63110         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63111         Reported by Karl Berry.
63112
63113 2007-12-01  Eric Blake  <ebb9@byu.net>
63114
63115         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63116         accommodate fix in cygwin 1.5.25.
63117
63118 2007-12-01  Jim Meyering  <meyering@redhat.com>
63119
63120         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63121         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63122         that would inhibit utf8-optimization of a regexp containing line-
63123         or buffer-anchors, e.g., `^', `$'.
63124
63125 2007-11-30  Bruno Haible  <bruno@clisp.org>
63126
63127         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63128         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63129         glthread_recursive_lock_init.
63130         * lib/lock.c (glthread_recursive_lock_init)
63131         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63132         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63133
63134 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63135
63136         New function qset_acl, like set_acl but with syscall semantics.
63137         * lib/acl.h (qset_acl): New decl.
63138         * lib/acl.c (qset_acl): New function.
63139         (set_acl): Use new function.  Use more-consistent diagnostics.
63140
63141 2007-11-28  Jim Meyering  <meyering@redhat.com>
63142
63143         * modules/physmem (License): Change from GPL to LGPLv2+.
63144
63145 2007-11-26  Bruno Haible  <bruno@clisp.org>
63146
63147         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63148         'long double' type has excess precision.
63149         Reported by Jim Meyering in
63150         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63151
63152 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63153
63154         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63155         Sync from <http://gnu.org/licenses>.
63156         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63157         with license text from same location.
63158         * doc/maintain.texi, doc/standards.texi:  Sync from
63159         <http://savannah.gnu.org/projects/gnustandards>.
63160
63161 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
63162         and Jim Meyering  <meyering@redhat.com>
63163
63164         Adjust getdate' grammar to accept a slightly more regular language.
63165         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63166         Before, the former was rejected.
63167         * lib/getdate.y (digits_to_date_time): New function, factored
63168         out of ...
63169         (number): ...here.  Just call digits_to_date_time.
63170         (hybrid): New non-terminal to handle an <unsigned number,
63171         signed relative offset> sequence consistently.
63172
63173 2007-11-18  Jim Meyering  <meyering@redhat.com>
63174
63175         Pull my changes from coreutils:
63176         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63177         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63178         use of $gnulib_tool_option_extras, so that it's separated from the
63179         preceding argument.
63180
63181         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63182         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63183         parent destination directories before copying a file into place.
63184
63185 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63186
63187         bootstrap: work also with 4-argument variant of AC_INIT
63188         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63189
63190 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63191
63192         Port test-getaddrinfo to Solaris.
63193         Problem reported by Bruno Haible in
63194         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63195         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63196         explanation of setting 'hints'.
63197         Don't reject an implementation merely because it returns EAI_SERVICE.
63198         (EAI_SERVICE): Define to 0 if not defined.
63199
63200 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63201
63202         The license of gnu-make and posix-shell is now "GPLed build tool".
63203         * modules/gnu-make (License): Likewise.
63204         * modules/posix-shell (License): Likewise.
63205
63206         New module posix-shell, for determining a POSIX shell
63207         or perhaps something that is close enough to a POSIX shell.
63208         * m4/posix-shell.m4: New file.
63209         * modules/posix-shell: New file.
63210
63211         * MODULES.html.sh: Mention new module.
63212
63213         New module gnu-make, for determining whether we're using GNU Make.
63214         * m4/gnu-make.m4: New file.
63215         * modules/gnu-make: New file.
63216         * MODULES.html.sh: Mention new module.
63217
63218 2007-11-14  Jim Meyering  <meyering@redhat.com>
63219
63220         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63221         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63222         use this macro to create a function _definition_.
63223         Remove useless "#undef ARGMATCH_DIE".
63224
63225 2007-11-14  Bruno Haible  <bruno@clisp.org>
63226
63227         * lib/config.charset: Update for OpenBSD 4.1.
63228         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63229
63230 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63231
63232         Document 64-bit #if problems in stdint.texi.
63233         * doc/headers/stdint.texi (stdint.h): Mention problems with
63234         64-bit-#if, and how to work around them.
63235
63236         Don't insist on 'long long int' support in the preprocessor.  It
63237         breaks too many things.  For example, PRIdMAX still uses a 'long
63238         long int' format with the latest Sun compiler, even though
63239         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63240         preprocessor problem.  This causes the latest coreutils to dump
63241         core on Solaris 10 sparc with the Sun C compiler.
63242         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63243         the troublesome expressions at configure-time, not at #if-time.
63244         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63245         preprocessor.
63246         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63247         compile-time C checks, done at 'configure'-time.
63248         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63249         * modules/inttypes (Makefile): Substitute the new symbols that
63250         gl_INTTYPES_H now generates.
63251         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63252
63253 2007-11-12  Bruno Haible  <bruno@clisp.org>
63254
63255         Tests for Unicode character classification functions.
63256
63257         * modules/unictype/bidicategory-byname-tests: New file.
63258         * modules/unictype/bidicategory-name-tests: New file.
63259         * modules/unictype/bidicategory-of-tests: New file.
63260         * modules/unictype/bidicategory-test-tests: New file.
63261         * modules/unictype/block-list-tests: New file.
63262         * modules/unictype/block-of-tests: New file.
63263         * modules/unictype/block-test-tests: New file.
63264         * modules/unictype/category-C-tests: New file.
63265         * modules/unictype/category-Cc-tests: New file.
63266         * modules/unictype/category-Cf-tests: New file.
63267         * modules/unictype/category-Cn-tests: New file.
63268         * modules/unictype/category-Co-tests: New file.
63269         * modules/unictype/category-Cs-tests: New file.
63270         * modules/unictype/category-L-tests: New file.
63271         * modules/unictype/category-Ll-tests: New file.
63272         * modules/unictype/category-Lm-tests: New file.
63273         * modules/unictype/category-Lo-tests: New file.
63274         * modules/unictype/category-Lt-tests: New file.
63275         * modules/unictype/category-Lu-tests: New file.
63276         * modules/unictype/category-M-tests: New file.
63277         * modules/unictype/category-Mc-tests: New file.
63278         * modules/unictype/category-Me-tests: New file.
63279         * modules/unictype/category-Mn-tests: New file.
63280         * modules/unictype/category-N-tests: New file.
63281         * modules/unictype/category-Nd-tests: New file.
63282         * modules/unictype/category-Nl-tests: New file.
63283         * modules/unictype/category-No-tests: New file.
63284         * modules/unictype/category-P-tests: New file.
63285         * modules/unictype/category-Pc-tests: New file.
63286         * modules/unictype/category-Pd-tests: New file.
63287         * modules/unictype/category-Pe-tests: New file.
63288         * modules/unictype/category-Pf-tests: New file.
63289         * modules/unictype/category-Pi-tests: New file.
63290         * modules/unictype/category-Po-tests: New file.
63291         * modules/unictype/category-Ps-tests: New file.
63292         * modules/unictype/category-S-tests: New file.
63293         * modules/unictype/category-Sc-tests: New file.
63294         * modules/unictype/category-Sk-tests: New file.
63295         * modules/unictype/category-Sm-tests: New file.
63296         * modules/unictype/category-So-tests: New file.
63297         * modules/unictype/category-Z-tests: New file.
63298         * modules/unictype/category-Zl-tests: New file.
63299         * modules/unictype/category-Zp-tests: New file.
63300         * modules/unictype/category-Zs-tests: New file.
63301         * modules/unictype/category-and-not-tests: New file.
63302         * modules/unictype/category-and-tests: New file.
63303         * modules/unictype/category-byname-tests: New file.
63304         * modules/unictype/category-name-tests: New file.
63305         * modules/unictype/category-none-tests: New file.
63306         * modules/unictype/category-of-tests: New file.
63307         * modules/unictype/category-or-tests: New file.
63308         * modules/unictype/category-test-withtable-tests: New file.
63309         * modules/unictype/combining-class-tests: New file.
63310         * modules/unictype/ctype-alnum-tests: New file.
63311         * modules/unictype/ctype-alpha-tests: New file.
63312         * modules/unictype/ctype-blank-tests: New file.
63313         * modules/unictype/ctype-cntrl-tests: New file.
63314         * modules/unictype/ctype-digit-tests: New file.
63315         * modules/unictype/ctype-graph-tests: New file.
63316         * modules/unictype/ctype-lower-tests: New file.
63317         * modules/unictype/ctype-print-tests: New file.
63318         * modules/unictype/ctype-punct-tests: New file.
63319         * modules/unictype/ctype-space-tests: New file.
63320         * modules/unictype/ctype-upper-tests: New file.
63321         * modules/unictype/ctype-xdigit-tests: New file.
63322         * modules/unictype/decimal-digit-tests: New file.
63323         * modules/unictype/digit-tests: New file.
63324         * modules/unictype/mirror-tests: New file.
63325         * modules/unictype/numeric-tests: New file.
63326         * modules/unictype/property-alphabetic-tests: New file.
63327         * modules/unictype/property-ascii-hex-digit-tests: New file.
63328         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63329         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63330         * modules/unictype/property-bidi-block-separator-tests: New file.
63331         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63332         * modules/unictype/property-bidi-common-separator-tests: New file.
63333         * modules/unictype/property-bidi-control-tests: New file.
63334         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63335         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63336         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63337         * modules/unictype/property-bidi-european-digit-tests: New file.
63338         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63339         * modules/unictype/property-bidi-left-to-right-tests: New file.
63340         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63341         * modules/unictype/property-bidi-other-neutral-tests: New file.
63342         * modules/unictype/property-bidi-pdf-tests: New file.
63343         * modules/unictype/property-bidi-segment-separator-tests: New file.
63344         * modules/unictype/property-bidi-whitespace-tests: New file.
63345         * modules/unictype/property-byname-tests: New file.
63346         * modules/unictype/property-combining-tests: New file.
63347         * modules/unictype/property-composite-tests: New file.
63348         * modules/unictype/property-currency-symbol-tests: New file.
63349         * modules/unictype/property-dash-tests: New file.
63350         * modules/unictype/property-decimal-digit-tests: New file.
63351         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63352         * modules/unictype/property-deprecated-tests: New file.
63353         * modules/unictype/property-diacritic-tests: New file.
63354         * modules/unictype/property-extender-tests: New file.
63355         * modules/unictype/property-format-control-tests: New file.
63356         * modules/unictype/property-grapheme-base-tests: New file.
63357         * modules/unictype/property-grapheme-extend-tests: New file.
63358         * modules/unictype/property-grapheme-link-tests: New file.
63359         * modules/unictype/property-hex-digit-tests: New file.
63360         * modules/unictype/property-hyphen-tests: New file.
63361         * modules/unictype/property-id-continue-tests: New file.
63362         * modules/unictype/property-id-start-tests: New file.
63363         * modules/unictype/property-ideographic-tests: New file.
63364         * modules/unictype/property-ids-binary-operator-tests: New file.
63365         * modules/unictype/property-ids-trinary-operator-tests: New file.
63366         * modules/unictype/property-ignorable-control-tests: New file.
63367         * modules/unictype/property-iso-control-tests: New file.
63368         * modules/unictype/property-join-control-tests: New file.
63369         * modules/unictype/property-left-of-pair-tests: New file.
63370         * modules/unictype/property-line-separator-tests: New file.
63371         * modules/unictype/property-logical-order-exception-tests: New file.
63372         * modules/unictype/property-lowercase-tests: New file.
63373         * modules/unictype/property-math-tests: New file.
63374         * modules/unictype/property-non-break-tests: New file.
63375         * modules/unictype/property-not-a-character-tests: New file.
63376         * modules/unictype/property-numeric-tests: New file.
63377         * modules/unictype/property-other-alphabetic-tests: New file.
63378         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63379         * modules/unictype/property-other-grapheme-extend-tests: New file.
63380         * modules/unictype/property-other-id-continue-tests: New file.
63381         * modules/unictype/property-other-id-start-tests: New file.
63382         * modules/unictype/property-other-lowercase-tests: New file.
63383         * modules/unictype/property-other-math-tests: New file.
63384         * modules/unictype/property-other-uppercase-tests: New file.
63385         * modules/unictype/property-paired-punctuation-tests: New file.
63386         * modules/unictype/property-paragraph-separator-tests: New file.
63387         * modules/unictype/property-pattern-syntax-tests: New file.
63388         * modules/unictype/property-pattern-white-space-tests: New file.
63389         * modules/unictype/property-private-use-tests: New file.
63390         * modules/unictype/property-punctuation-tests: New file.
63391         * modules/unictype/property-quotation-mark-tests: New file.
63392         * modules/unictype/property-radical-tests: New file.
63393         * modules/unictype/property-sentence-terminal-tests: New file.
63394         * modules/unictype/property-soft-dotted-tests: New file.
63395         * modules/unictype/property-space-tests: New file.
63396         * modules/unictype/property-terminal-punctuation-tests: New file.
63397         * modules/unictype/property-test-tests: New file.
63398         * modules/unictype/property-titlecase-tests: New file.
63399         * modules/unictype/property-unassigned-code-value-tests: New file.
63400         * modules/unictype/property-unified-ideograph-tests: New file.
63401         * modules/unictype/property-uppercase-tests: New file.
63402         * modules/unictype/property-variation-selector-tests: New file.
63403         * modules/unictype/property-white-space-tests: New file.
63404         * modules/unictype/property-xid-continue-tests: New file.
63405         * modules/unictype/property-xid-start-tests: New file.
63406         * modules/unictype/property-zero-width-tests: New file.
63407         * modules/unictype/scripts-tests: New file.
63408         * modules/unictype/syntax-c-ident-tests: New file.
63409         * modules/unictype/syntax-c-whitespace-tests: New file.
63410         * modules/unictype/syntax-java-ident-tests: New file.
63411         * modules/unictype/syntax-java-whitespace-tests: New file.
63412         * tests/unictype/test-bidi_byname.c: New file.
63413         * tests/unictype/test-bidi_name.c: New file.
63414         * tests/unictype/test-bidi_of.c: New file.
63415         * tests/unictype/test-bidi_test.c: New file.
63416         * tests/unictype/test-block_list.c: New file.
63417         * tests/unictype/test-block_of.c: New file.
63418         * tests/unictype/test-block_test.c: New file.
63419         * tests/unictype/test-categ_and.c: New file.
63420         * tests/unictype/test-categ_and_not.c: New file.
63421         * tests/unictype/test-categ_byname.c: New file.
63422         * tests/unictype/test-categ_name.c: New file.
63423         * tests/unictype/test-categ_none.c: New file.
63424         * tests/unictype/test-categ_of.c: New file.
63425         * tests/unictype/test-categ_or.c: New file.
63426         * tests/unictype/test-categ_test_withtable.c: New file.
63427         * tests/unictype/test-combining.c: New file.
63428         * tests/unictype/test-decdigit.c: New file.
63429         * tests/unictype/test-digit.c: New file.
63430         * tests/unictype/test-mirror.c: New file.
63431         * tests/unictype/test-numeric.c: New file.
63432         * tests/unictype/test-pr_byname.c: New file.
63433         * tests/unictype/test-pr_test.c: New file.
63434         * tests/unictype/test-predicate-part1.h: New file.
63435         * tests/unictype/test-predicate-part2.h: New file.
63436         * tests/unictype/test-scripts.c: New file.
63437         * tests/unictype/test-sy_c_ident.c: New file.
63438         * tests/unictype/test-sy_java_ident.c: New file.
63439
63440         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63441         for Unicode 5.0.0.
63442         * tests/unictype/test-categ_Cc.c: Likewise.
63443         * tests/unictype/test-categ_Cf.c: Likewise.
63444         * tests/unictype/test-categ_Cn.c: Likewise.
63445         * tests/unictype/test-categ_Co.c: Likewise.
63446         * tests/unictype/test-categ_Cs.c: Likewise.
63447         * tests/unictype/test-categ_L.c: Likewise.
63448         * tests/unictype/test-categ_Ll.c: Likewise.
63449         * tests/unictype/test-categ_Lm.c: Likewise.
63450         * tests/unictype/test-categ_Lo.c: Likewise.
63451         * tests/unictype/test-categ_Lt.c: Likewise.
63452         * tests/unictype/test-categ_Lu.c: Likewise.
63453         * tests/unictype/test-categ_M.c: Likewise.
63454         * tests/unictype/test-categ_Mc.c: Likewise.
63455         * tests/unictype/test-categ_Me.c: Likewise.
63456         * tests/unictype/test-categ_Mn.c: Likewise.
63457         * tests/unictype/test-categ_N.c: Likewise.
63458         * tests/unictype/test-categ_Nd.c: Likewise.
63459         * tests/unictype/test-categ_Nl.c: Likewise.
63460         * tests/unictype/test-categ_No.c: Likewise.
63461         * tests/unictype/test-categ_P.c: Likewise.
63462         * tests/unictype/test-categ_Pc.c: Likewise.
63463         * tests/unictype/test-categ_Pd.c: Likewise.
63464         * tests/unictype/test-categ_Pe.c: Likewise.
63465         * tests/unictype/test-categ_Pf.c: Likewise.
63466         * tests/unictype/test-categ_Pi.c: Likewise.
63467         * tests/unictype/test-categ_Po.c: Likewise.
63468         * tests/unictype/test-categ_Ps.c: Likewise.
63469         * tests/unictype/test-categ_S.c: Likewise.
63470         * tests/unictype/test-categ_Sc.c: Likewise.
63471         * tests/unictype/test-categ_Sk.c: Likewise.
63472         * tests/unictype/test-categ_Sm.c: Likewise.
63473         * tests/unictype/test-categ_So.c: Likewise.
63474         * tests/unictype/test-categ_Z.c: Likewise.
63475         * tests/unictype/test-categ_Zl.c: Likewise.
63476         * tests/unictype/test-categ_Zp.c: Likewise.
63477         * tests/unictype/test-categ_Zs.c: Likewise.
63478         * tests/unictype/test-ctype_alnum.c: Likewise.
63479         * tests/unictype/test-ctype_alpha.c: Likewise.
63480         * tests/unictype/test-ctype_blank.c: Likewise.
63481         * tests/unictype/test-ctype_cntrl.c: Likewise.
63482         * tests/unictype/test-ctype_digit.c: Likewise.
63483         * tests/unictype/test-ctype_graph.c: Likewise.
63484         * tests/unictype/test-ctype_lower.c: Likewise.
63485         * tests/unictype/test-ctype_print.c: Likewise.
63486         * tests/unictype/test-ctype_punct.c: Likewise.
63487         * tests/unictype/test-ctype_space.c: Likewise.
63488         * tests/unictype/test-ctype_upper.c: Likewise.
63489         * tests/unictype/test-ctype_xdigit.c: Likewise.
63490         * tests/unictype/test-decdigit.h: Likewise.
63491         * tests/unictype/test-digit.h: Likewise.
63492         * tests/unictype/test-numeric.h: Likewise.
63493         * tests/unictype/test-pr_alphabetic.c: Likewise.
63494         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63495         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63496         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63497         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63498         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63499         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63500         * tests/unictype/test-pr_bidi_control.c: Likewise.
63501         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63502         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63503         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63504         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63505         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63506         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63507         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63508         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63509         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63510         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63511         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63512         * tests/unictype/test-pr_combining.c: Likewise.
63513         * tests/unictype/test-pr_composite.c: Likewise.
63514         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63515         * tests/unictype/test-pr_dash.c: Likewise.
63516         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63517         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63518         * tests/unictype/test-pr_deprecated.c: Likewise.
63519         * tests/unictype/test-pr_diacritic.c: Likewise.
63520         * tests/unictype/test-pr_extender.c: Likewise.
63521         * tests/unictype/test-pr_format_control.c: Likewise.
63522         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63523         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63524         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63525         * tests/unictype/test-pr_hex_digit.c: Likewise.
63526         * tests/unictype/test-pr_hyphen.c: Likewise.
63527         * tests/unictype/test-pr_id_continue.c: Likewise.
63528         * tests/unictype/test-pr_id_start.c: Likewise.
63529         * tests/unictype/test-pr_ideographic.c: Likewise.
63530         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63531         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63532         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63533         * tests/unictype/test-pr_iso_control.c: Likewise.
63534         * tests/unictype/test-pr_join_control.c: Likewise.
63535         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63536         * tests/unictype/test-pr_line_separator.c: Likewise.
63537         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63538         * tests/unictype/test-pr_lowercase.c: Likewise.
63539         * tests/unictype/test-pr_math.c: Likewise.
63540         * tests/unictype/test-pr_non_break.c: Likewise.
63541         * tests/unictype/test-pr_not_a_character.c: Likewise.
63542         * tests/unictype/test-pr_numeric.c: Likewise.
63543         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63544         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63545         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63546         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63547         * tests/unictype/test-pr_other_id_start.c: Likewise.
63548         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63549         * tests/unictype/test-pr_other_math.c: Likewise.
63550         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63551         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63552         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63553         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63554         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63555         * tests/unictype/test-pr_private_use.c: Likewise.
63556         * tests/unictype/test-pr_punctuation.c: Likewise.
63557         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63558         * tests/unictype/test-pr_radical.c: Likewise.
63559         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63560         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63561         * tests/unictype/test-pr_space.c: Likewise.
63562         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63563         * tests/unictype/test-pr_titlecase.c: Likewise.
63564         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63565         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63566         * tests/unictype/test-pr_uppercase.c: Likewise.
63567         * tests/unictype/test-pr_variation_selector.c: Likewise.
63568         * tests/unictype/test-pr_white_space.c: Likewise.
63569         * tests/unictype/test-pr_xid_continue.c: Likewise.
63570         * tests/unictype/test-pr_xid_start.c: Likewise.
63571         * tests/unictype/test-pr_zero_width.c: Likewise.
63572         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63573         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63574
63575 2007-11-12  Bruno Haible  <bruno@clisp.org>
63576
63577         Unicode character classification functions.
63578         * lib/unictype.h: New file.
63579         * modules/unictype/base: New file.
63580         * modules/unictype/category-L: New file.
63581         * modules/unictype/category-Lu: New file.
63582         * modules/unictype/category-Ll: New file.
63583         * modules/unictype/category-Lt: New file.
63584         * modules/unictype/category-Lm: New file.
63585         * modules/unictype/category-Lo: New file.
63586         * modules/unictype/category-M: New file.
63587         * modules/unictype/category-Mn: New file.
63588         * modules/unictype/category-Mc: New file.
63589         * modules/unictype/category-Me: New file.
63590         * modules/unictype/category-N: New file.
63591         * modules/unictype/category-Nd: New file.
63592         * modules/unictype/category-Nl: New file.
63593         * modules/unictype/category-No: New file.
63594         * modules/unictype/category-P: New file.
63595         * modules/unictype/category-Pc: New file.
63596         * modules/unictype/category-Pd: New file.
63597         * modules/unictype/category-Ps: New file.
63598         * modules/unictype/category-Pe: New file.
63599         * modules/unictype/category-Pi: New file.
63600         * modules/unictype/category-Pf: New file.
63601         * modules/unictype/category-Po: New file.
63602         * modules/unictype/category-S: New file.
63603         * modules/unictype/category-Sm: New file.
63604         * modules/unictype/category-Sc: New file.
63605         * modules/unictype/category-Sk: New file.
63606         * modules/unictype/category-So: New file.
63607         * modules/unictype/category-Z: New file.
63608         * modules/unictype/category-Zs: New file.
63609         * modules/unictype/category-Zl: New file.
63610         * modules/unictype/category-Zp: New file.
63611         * modules/unictype/category-C: New file.
63612         * modules/unictype/category-Cc: New file.
63613         * modules/unictype/category-Cf: New file.
63614         * modules/unictype/category-Cs: New file.
63615         * modules/unictype/category-Co: New file.
63616         * modules/unictype/category-Cn: New file.
63617         * modules/unictype/category-or: New file.
63618         * modules/unictype/category-of: New file.
63619         * modules/unictype/category-test: New file.
63620         * modules/unictype/category-test-withtable: New file.
63621         * modules/unictype/category-byname: New file.
63622         * modules/unictype/category-none: New file.
63623         * modules/unictype/category-and: New file.
63624         * modules/unictype/category-and-not: New file.
63625         * modules/unictype/category-name: New file.
63626         * modules/unictype/combining-class: New file.
63627         * modules/unictype/category-all: New file.
63628         * modules/unictype/bidicategory-all: New file.
63629         * modules/unictype/bidicategory-byname: New file.
63630         * modules/unictype/bidicategory-name: New file.
63631         * modules/unictype/bidicategory-of: New file.
63632         * modules/unictype/bidicategory-test: New file.
63633         * modules/unictype/decimal-digit: New file.
63634         * modules/unictype/digit: New file.
63635         * modules/unictype/numeric: New file.
63636         * modules/unictype/mirror: New file.
63637         * modules/unictype/property-white-space: New file.
63638         * modules/unictype/property-alphabetic: New file.
63639         * modules/unictype/property-other-alphabetic: New file.
63640         * modules/unictype/property-not-a-character: New file.
63641         * modules/unictype/property-default-ignorable-code-point: New file.
63642         * modules/unictype/property-other-default-ignorable-code-point: New
63643         file.
63644         * modules/unictype/property-deprecated: New file.
63645         * modules/unictype/property-logical-order-exception: New file.
63646         * modules/unictype/property-variation-selector: New file.
63647         * modules/unictype/property-private-use: New file.
63648         * modules/unictype/property-unassigned-code-value: New file.
63649         * modules/unictype/property-uppercase: New file.
63650         * modules/unictype/property-other-uppercase: New file.
63651         * modules/unictype/property-lowercase: New file.
63652         * modules/unictype/property-other-lowercase: New file.
63653         * modules/unictype/property-titlecase: New file.
63654         * modules/unictype/property-soft-dotted: New file.
63655         * modules/unictype/property-id-start: New file.
63656         * modules/unictype/property-other-id-start: New file.
63657         * modules/unictype/property-id-continue: New file.
63658         * modules/unictype/property-other-id-continue: New file.
63659         * modules/unictype/property-xid-start: New file.
63660         * modules/unictype/property-xid-continue: New file.
63661         * modules/unictype/property-pattern-white-space: New file.
63662         * modules/unictype/property-pattern-syntax: New file.
63663         * modules/unictype/property-join-control: New file.
63664         * modules/unictype/property-grapheme-base: New file.
63665         * modules/unictype/property-grapheme-extend: New file.
63666         * modules/unictype/property-other-grapheme-extend: New file.
63667         * modules/unictype/property-grapheme-link: New file.
63668         * modules/unictype/property-bidi-control: New file.
63669         * modules/unictype/property-bidi-left-to-right: New file.
63670         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63671         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63672         * modules/unictype/property-bidi-european-digit: New file.
63673         * modules/unictype/property-bidi-eur-num-separator: New file.
63674         * modules/unictype/property-bidi-eur-num-terminator: New file.
63675         * modules/unictype/property-bidi-arabic-digit: New file.
63676         * modules/unictype/property-bidi-common-separator: New file.
63677         * modules/unictype/property-bidi-block-separator: New file.
63678         * modules/unictype/property-bidi-segment-separator: New file.
63679         * modules/unictype/property-bidi-whitespace: New file.
63680         * modules/unictype/property-bidi-non-spacing-mark: New file.
63681         * modules/unictype/property-bidi-boundary-neutral: New file.
63682         * modules/unictype/property-bidi-pdf: New file.
63683         * modules/unictype/property-bidi-embedding-or-override: New file.
63684         * modules/unictype/property-bidi-other-neutral: New file.
63685         * modules/unictype/property-hex-digit: New file.
63686         * modules/unictype/property-ascii-hex-digit: New file.
63687         * modules/unictype/property-ideographic: New file.
63688         * modules/unictype/property-unified-ideograph: New file.
63689         * modules/unictype/property-radical: New file.
63690         * modules/unictype/property-ids-binary-operator: New file.
63691         * modules/unictype/property-ids-trinary-operator: New file.
63692         * modules/unictype/property-zero-width: New file.
63693         * modules/unictype/property-space: New file.
63694         * modules/unictype/property-non-break: New file.
63695         * modules/unictype/property-iso-control: New file.
63696         * modules/unictype/property-format-control: New file.
63697         * modules/unictype/property-dash: New file.
63698         * modules/unictype/property-hyphen: New file.
63699         * modules/unictype/property-punctuation: New file.
63700         * modules/unictype/property-line-separator: New file.
63701         * modules/unictype/property-paragraph-separator: New file.
63702         * modules/unictype/property-quotation-mark: New file.
63703         * modules/unictype/property-sentence-terminal: New file.
63704         * modules/unictype/property-terminal-punctuation: New file.
63705         * modules/unictype/property-currency-symbol: New file.
63706         * modules/unictype/property-math: New file.
63707         * modules/unictype/property-other-math: New file.
63708         * modules/unictype/property-paired-punctuation: New file.
63709         * modules/unictype/property-left-of-pair: New file.
63710         * modules/unictype/property-combining: New file.
63711         * modules/unictype/property-composite: New file.
63712         * modules/unictype/property-decimal-digit: New file.
63713         * modules/unictype/property-numeric: New file.
63714         * modules/unictype/property-diacritic: New file.
63715         * modules/unictype/property-extender: New file.
63716         * modules/unictype/property-ignorable-control: New file.
63717         * modules/unictype/property-test: New file.
63718         * modules/unictype/property-byname: New file.
63719         * modules/unictype/property-all: New file.
63720         * modules/unictype/scripts: New file.
63721         * modules/unictype/scripts-all: New file.
63722         * modules/unictype/block-of: New file.
63723         * modules/unictype/block-test: New file.
63724         * modules/unictype/block-list: New file.
63725         * modules/unictype/block-all: New file.
63726         * modules/unictype/syntax-c-whitespace: New file.
63727         * modules/unictype/syntax-java-whitespace: New file.
63728         * modules/unictype/syntax-c-ident: New file.
63729         * modules/unictype/syntax-java-ident: New file.
63730         * modules/unictype/ctype-alnum: New file.
63731         * modules/unictype/ctype-alpha: New file.
63732         * modules/unictype/ctype-cntrl: New file.
63733         * modules/unictype/ctype-digit: New file.
63734         * modules/unictype/ctype-graph: New file.
63735         * modules/unictype/ctype-lower: New file.
63736         * modules/unictype/ctype-print: New file.
63737         * modules/unictype/ctype-punct: New file.
63738         * modules/unictype/ctype-space: New file.
63739         * modules/unictype/ctype-upper: New file.
63740         * modules/unictype/ctype-xdigit: New file.
63741         * modules/unictype/ctype-blank: New file.
63742         * lib/unictype/bidi_byname.c: New file.
63743         * lib/unictype/bidi_name.c: New file.
63744         * lib/unictype/bidi_of.c: New file.
63745         * lib/unictype/bidi_test.c: New file.
63746         * lib/unictype/bitmap.h: New file.
63747         * lib/unictype/block_test.c: New file.
63748         * lib/unictype/blocks.c: New file.
63749         * lib/unictype/categ_C.c: New file.
63750         * lib/unictype/categ_Cc.c: New file.
63751         * lib/unictype/categ_Cf.c: New file.
63752         * lib/unictype/categ_Cn.c: New file.
63753         * lib/unictype/categ_Co.c: New file.
63754         * lib/unictype/categ_Cs.c: New file.
63755         * lib/unictype/categ_L.c: New file.
63756         * lib/unictype/categ_Ll.c: New file.
63757         * lib/unictype/categ_Lm.c: New file.
63758         * lib/unictype/categ_Lo.c: New file.
63759         * lib/unictype/categ_Lt.c: New file.
63760         * lib/unictype/categ_Lu.c: New file.
63761         * lib/unictype/categ_M.c: New file.
63762         * lib/unictype/categ_Mc.c: New file.
63763         * lib/unictype/categ_Me.c: New file.
63764         * lib/unictype/categ_Mn.c: New file.
63765         * lib/unictype/categ_N.c: New file.
63766         * lib/unictype/categ_Nd.c: New file.
63767         * lib/unictype/categ_Nl.c: New file.
63768         * lib/unictype/categ_No.c: New file.
63769         * lib/unictype/categ_P.c: New file.
63770         * lib/unictype/categ_Pc.c: New file.
63771         * lib/unictype/categ_Pd.c: New file.
63772         * lib/unictype/categ_Pe.c: New file.
63773         * lib/unictype/categ_Pf.c: New file.
63774         * lib/unictype/categ_Pi.c: New file.
63775         * lib/unictype/categ_Po.c: New file.
63776         * lib/unictype/categ_Ps.c: New file.
63777         * lib/unictype/categ_S.c: New file.
63778         * lib/unictype/categ_Sc.c: New file.
63779         * lib/unictype/categ_Sk.c: New file.
63780         * lib/unictype/categ_Sm.c: New file.
63781         * lib/unictype/categ_So.c: New file.
63782         * lib/unictype/categ_Z.c: New file.
63783         * lib/unictype/categ_Zl.c: New file.
63784         * lib/unictype/categ_Zp.c: New file.
63785         * lib/unictype/categ_Zs.c: New file.
63786         * lib/unictype/categ_and.c: New file.
63787         * lib/unictype/categ_and_not.c: New file.
63788         * lib/unictype/categ_byname.c: New file.
63789         * lib/unictype/categ_name.c: New file.
63790         * lib/unictype/categ_none.c: New file.
63791         * lib/unictype/categ_of.c: New file.
63792         * lib/unictype/categ_or.c: New file.
63793         * lib/unictype/categ_test.c: New file.
63794         * lib/unictype/combining.c: New file.
63795         * lib/unictype/ctype_alnum.c: New file.
63796         * lib/unictype/ctype_alpha.c: New file.
63797         * lib/unictype/ctype_blank.c: New file.
63798         * lib/unictype/ctype_cntrl.c: New file.
63799         * lib/unictype/ctype_digit.c: New file.
63800         * lib/unictype/ctype_graph.c: New file.
63801         * lib/unictype/ctype_lower.c: New file.
63802         * lib/unictype/ctype_print.c: New file.
63803         * lib/unictype/ctype_punct.c: New file.
63804         * lib/unictype/ctype_space.c: New file.
63805         * lib/unictype/ctype_upper.c: New file.
63806         * lib/unictype/ctype_xdigit.c: New file.
63807         * lib/unictype/decdigit.c: New file.
63808         * lib/unictype/digit.c: New file.
63809         * lib/unictype/identsyntaxmap.h: New file.
63810         * lib/unictype/mirror.c: New file.
63811         * lib/unictype/numeric.c: New file.
63812         * lib/unictype/pr_alphabetic.c: New file.
63813         * lib/unictype/pr_ascii_hex_digit.c: New file.
63814         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63815         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63816         * lib/unictype/pr_bidi_block_separator.c: New file.
63817         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63818         * lib/unictype/pr_bidi_common_separator.c: New file.
63819         * lib/unictype/pr_bidi_control.c: New file.
63820         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63821         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63822         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63823         * lib/unictype/pr_bidi_european_digit.c: New file.
63824         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63825         * lib/unictype/pr_bidi_left_to_right.c: New file.
63826         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63827         * lib/unictype/pr_bidi_other_neutral.c: New file.
63828         * lib/unictype/pr_bidi_pdf.c: New file.
63829         * lib/unictype/pr_bidi_segment_separator.c: New file.
63830         * lib/unictype/pr_bidi_whitespace.c: New file.
63831         * lib/unictype/pr_byname.c: New file.
63832         * lib/unictype/pr_byname.gperf: New file.
63833         * lib/unictype/pr_combining.c: New file.
63834         * lib/unictype/pr_composite.c: New file.
63835         * lib/unictype/pr_currency_symbol.c: New file.
63836         * lib/unictype/pr_dash.c: New file.
63837         * lib/unictype/pr_decimal_digit.c: New file.
63838         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63839         * lib/unictype/pr_deprecated.c: New file.
63840         * lib/unictype/pr_diacritic.c: New file.
63841         * lib/unictype/pr_extender.c: New file.
63842         * lib/unictype/pr_format_control.c: New file.
63843         * lib/unictype/pr_grapheme_base.c: New file.
63844         * lib/unictype/pr_grapheme_extend.c: New file.
63845         * lib/unictype/pr_grapheme_link.c: New file.
63846         * lib/unictype/pr_hex_digit.c: New file.
63847         * lib/unictype/pr_hyphen.c: New file.
63848         * lib/unictype/pr_id_continue.c: New file.
63849         * lib/unictype/pr_id_start.c: New file.
63850         * lib/unictype/pr_ideographic.c: New file.
63851         * lib/unictype/pr_ids_binary_operator.c: New file.
63852         * lib/unictype/pr_ids_trinary_operator.c: New file.
63853         * lib/unictype/pr_ignorable_control.c: New file.
63854         * lib/unictype/pr_iso_control.c: New file.
63855         * lib/unictype/pr_join_control.c: New file.
63856         * lib/unictype/pr_left_of_pair.c: New file.
63857         * lib/unictype/pr_line_separator.c: New file.
63858         * lib/unictype/pr_logical_order_exception.c: New file.
63859         * lib/unictype/pr_lowercase.c: New file.
63860         * lib/unictype/pr_math.c: New file.
63861         * lib/unictype/pr_non_break.c: New file.
63862         * lib/unictype/pr_not_a_character.c: New file.
63863         * lib/unictype/pr_numeric.c: New file.
63864         * lib/unictype/pr_other_alphabetic.c: New file.
63865         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63866         * lib/unictype/pr_other_grapheme_extend.c: New file.
63867         * lib/unictype/pr_other_id_continue.c: New file.
63868         * lib/unictype/pr_other_id_start.c: New file.
63869         * lib/unictype/pr_other_lowercase.c: New file.
63870         * lib/unictype/pr_other_math.c: New file.
63871         * lib/unictype/pr_other_uppercase.c: New file.
63872         * lib/unictype/pr_paired_punctuation.c: New file.
63873         * lib/unictype/pr_paragraph_separator.c: New file.
63874         * lib/unictype/pr_pattern_syntax.c: New file.
63875         * lib/unictype/pr_pattern_white_space.c: New file.
63876         * lib/unictype/pr_private_use.c: New file.
63877         * lib/unictype/pr_punctuation.c: New file.
63878         * lib/unictype/pr_quotation_mark.c: New file.
63879         * lib/unictype/pr_radical.c: New file.
63880         * lib/unictype/pr_sentence_terminal.c: New file.
63881         * lib/unictype/pr_soft_dotted.c: New file.
63882         * lib/unictype/pr_space.c: New file.
63883         * lib/unictype/pr_terminal_punctuation.c: New file.
63884         * lib/unictype/pr_test.c: New file.
63885         * lib/unictype/pr_titlecase.c: New file.
63886         * lib/unictype/pr_unassigned_code_value.c: New file.
63887         * lib/unictype/pr_unified_ideograph.c: New file.
63888         * lib/unictype/pr_uppercase.c: New file.
63889         * lib/unictype/pr_variation_selector.c: New file.
63890         * lib/unictype/pr_white_space.c: New file.
63891         * lib/unictype/pr_xid_continue.c: New file.
63892         * lib/unictype/pr_xid_start.c: New file.
63893         * lib/unictype/pr_zero_width.c: New file.
63894         * lib/unictype/scripts.c: New file.
63895         * lib/unictype/sy_c_ident.c: New file.
63896         * lib/unictype/sy_c_whitespace.c: New file.
63897         * lib/unictype/sy_java_ident.c: New file.
63898         * lib/unictype/sy_java_whitespace.c: New file.
63899
63900         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63901         Unicode 5.0.0.
63902         * lib/unictype/blocks.h: Likewise.
63903         * lib/unictype/categ_C.h: Likewise.
63904         * lib/unictype/categ_Cc.h: Likewise.
63905         * lib/unictype/categ_Cf.h: Likewise.
63906         * lib/unictype/categ_Cn.h: Likewise.
63907         * lib/unictype/categ_Co.h: Likewise.
63908         * lib/unictype/categ_Cs.h: Likewise.
63909         * lib/unictype/categ_L.h: Likewise.
63910         * lib/unictype/categ_Ll.h: Likewise.
63911         * lib/unictype/categ_Lm.h: Likewise.
63912         * lib/unictype/categ_Lo.h: Likewise.
63913         * lib/unictype/categ_Lt.h: Likewise.
63914         * lib/unictype/categ_Lu.h: Likewise.
63915         * lib/unictype/categ_M.h: Likewise.
63916         * lib/unictype/categ_Mc.h: Likewise.
63917         * lib/unictype/categ_Me.h: Likewise.
63918         * lib/unictype/categ_Mn.h: Likewise.
63919         * lib/unictype/categ_N.h: Likewise.
63920         * lib/unictype/categ_Nd.h: Likewise.
63921         * lib/unictype/categ_Nl.h: Likewise.
63922         * lib/unictype/categ_No.h: Likewise.
63923         * lib/unictype/categ_P.h: Likewise.
63924         * lib/unictype/categ_Pc.h: Likewise.
63925         * lib/unictype/categ_Pd.h: Likewise.
63926         * lib/unictype/categ_Pe.h: Likewise.
63927         * lib/unictype/categ_Pf.h: Likewise.
63928         * lib/unictype/categ_Pi.h: Likewise.
63929         * lib/unictype/categ_Po.h: Likewise.
63930         * lib/unictype/categ_Ps.h: Likewise.
63931         * lib/unictype/categ_S.h: Likewise.
63932         * lib/unictype/categ_Sc.h: Likewise.
63933         * lib/unictype/categ_Sk.h: Likewise.
63934         * lib/unictype/categ_Sm.h: Likewise.
63935         * lib/unictype/categ_So.h: Likewise.
63936         * lib/unictype/categ_Z.h: Likewise.
63937         * lib/unictype/categ_Zl.h: Likewise.
63938         * lib/unictype/categ_Zp.h: Likewise.
63939         * lib/unictype/categ_Zs.h: Likewise.
63940         * lib/unictype/categ_of.h: Likewise.
63941         * lib/unictype/combining.h: Likewise.
63942         * lib/unictype/ctype_alnum.h: Likewise.
63943         * lib/unictype/ctype_alpha.h: Likewise.
63944         * lib/unictype/ctype_blank.h: Likewise.
63945         * lib/unictype/ctype_cntrl.h: Likewise.
63946         * lib/unictype/ctype_digit.h: Likewise.
63947         * lib/unictype/ctype_graph.h: Likewise.
63948         * lib/unictype/ctype_lower.h: Likewise.
63949         * lib/unictype/ctype_print.h: Likewise.
63950         * lib/unictype/ctype_punct.h: Likewise.
63951         * lib/unictype/ctype_space.h: Likewise.
63952         * lib/unictype/ctype_upper.h: Likewise.
63953         * lib/unictype/ctype_xdigit.h: Likewise.
63954         * lib/unictype/decdigit.h: Likewise.
63955         * lib/unictype/digit.h: Likewise.
63956         * lib/unictype/mirror.h: Likewise.
63957         * lib/unictype/numeric.h: Likewise.
63958         * lib/unictype/pr_alphabetic.h: Likewise.
63959         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63960         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63961         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63962         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63963         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63964         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63965         * lib/unictype/pr_bidi_control.h: Likewise.
63966         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63967         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63968         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63969         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63970         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63971         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63972         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63973         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63974         * lib/unictype/pr_bidi_pdf.h: Likewise.
63975         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63976         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63977         * lib/unictype/pr_combining.h: Likewise.
63978         * lib/unictype/pr_composite.h: Likewise.
63979         * lib/unictype/pr_currency_symbol.h: Likewise.
63980         * lib/unictype/pr_dash.h: Likewise.
63981         * lib/unictype/pr_decimal_digit.h: Likewise.
63982         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63983         * lib/unictype/pr_deprecated.h: Likewise.
63984         * lib/unictype/pr_diacritic.h: Likewise.
63985         * lib/unictype/pr_extender.h: Likewise.
63986         * lib/unictype/pr_format_control.h: Likewise.
63987         * lib/unictype/pr_grapheme_base.h: Likewise.
63988         * lib/unictype/pr_grapheme_extend.h: Likewise.
63989         * lib/unictype/pr_grapheme_link.h: Likewise.
63990         * lib/unictype/pr_hex_digit.h: Likewise.
63991         * lib/unictype/pr_hyphen.h: Likewise.
63992         * lib/unictype/pr_id_continue.h: Likewise.
63993         * lib/unictype/pr_id_start.h: Likewise.
63994         * lib/unictype/pr_ideographic.h: Likewise.
63995         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63996         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63997         * lib/unictype/pr_ignorable_control.h: Likewise.
63998         * lib/unictype/pr_iso_control.h: Likewise.
63999         * lib/unictype/pr_join_control.h: Likewise.
64000         * lib/unictype/pr_left_of_pair.h: Likewise.
64001         * lib/unictype/pr_line_separator.h: Likewise.
64002         * lib/unictype/pr_logical_order_exception.h: Likewise.
64003         * lib/unictype/pr_lowercase.h: Likewise.
64004         * lib/unictype/pr_math.h: Likewise.
64005         * lib/unictype/pr_non_break.h: Likewise.
64006         * lib/unictype/pr_not_a_character.h: Likewise.
64007         * lib/unictype/pr_numeric.h: Likewise.
64008         * lib/unictype/pr_other_alphabetic.h: Likewise.
64009         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64010         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64011         * lib/unictype/pr_other_id_continue.h: Likewise.
64012         * lib/unictype/pr_other_id_start.h: Likewise.
64013         * lib/unictype/pr_other_lowercase.h: Likewise.
64014         * lib/unictype/pr_other_math.h: Likewise.
64015         * lib/unictype/pr_other_uppercase.h: Likewise.
64016         * lib/unictype/pr_paired_punctuation.h: Likewise.
64017         * lib/unictype/pr_paragraph_separator.h: Likewise.
64018         * lib/unictype/pr_pattern_syntax.h: Likewise.
64019         * lib/unictype/pr_pattern_white_space.h: Likewise.
64020         * lib/unictype/pr_private_use.h: Likewise.
64021         * lib/unictype/pr_punctuation.h: Likewise.
64022         * lib/unictype/pr_quotation_mark.h: Likewise.
64023         * lib/unictype/pr_radical.h: Likewise.
64024         * lib/unictype/pr_sentence_terminal.h: Likewise.
64025         * lib/unictype/pr_soft_dotted.h: Likewise.
64026         * lib/unictype/pr_space.h: Likewise.
64027         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64028         * lib/unictype/pr_titlecase.h: Likewise.
64029         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64030         * lib/unictype/pr_unified_ideograph.h: Likewise.
64031         * lib/unictype/pr_uppercase.h: Likewise.
64032         * lib/unictype/pr_variation_selector.h: Likewise.
64033         * lib/unictype/pr_white_space.h: Likewise.
64034         * lib/unictype/pr_xid_continue.h: Likewise.
64035         * lib/unictype/pr_xid_start.h: Likewise.
64036         * lib/unictype/pr_zero_width.h: Likewise.
64037         * lib/unictype/scripts.h: Likewise.
64038         * lib/unictype/scripts_byname.gperf: Likewise.
64039         * lib/unictype/sy_c_ident.h: Likewise.
64040         * lib/unictype/sy_c_whitespace.h: Likewise.
64041         * lib/unictype/sy_java_ident.h: Likewise.
64042         * lib/unictype/sy_java_whitespace.h: Likewise.
64043
64044         * lib/unictype/Makefile: New file.
64045         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64046         glibc.
64047         * lib/unictype/3level.h: New file, copied from glibc.
64048         * lib/unictype/3levelbit.h: New file.
64049
64050 2007-11-11  Bruno Haible  <bruno@clisp.org>
64051
64052         * modules/gperf: New file.
64053         * modules/iconv_open (Depends-on): Add it.
64054         (Makefile.am): Remove the GPERF definition.
64055
64056 2007-11-11  Bruno Haible  <bruno@clisp.org>
64057
64058         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64059         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64060
64061 2007-11-11  Bruno Haible  <bruno@clisp.org>
64062
64063         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64064         (usage): Remove function.
64065
64066 2007-11-11  Bruno Haible  <bruno@clisp.org>
64067
64068         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64069         gl_FUNC_CEILF_LIBS.
64070         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64071         gl_FUNC_CEIL_LIBS.
64072         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64073         gl_FUNC_CEILL_LIBS.
64074         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64075         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64076         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64077
64078 2007-11-11  Bruno Haible  <bruno@clisp.org>
64079
64080         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64081         roundf were declared but do not exist on functions.
64082         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64083         roundl were declared but do not exist on functions.
64084         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64085         HAVE_FLOORL_AND_CEILL, respectively.
64086         Needed for Sun C on Solaris 10.
64087
64088 2007-11-11  Bruno Haible  <bruno@clisp.org>
64089
64090         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64091         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64092         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64093         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64094         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64095         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64096         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64097         HAVE_DECL_ROUNDF.
64098         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64099         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64100         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64101         of HAVE_DECL_ROUND*.
64102         * modules/math (Makefile.am): Update.
64103
64104 2007-11-10  Bruno Haible  <bruno@clisp.org>
64105
64106         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64107         ptrdiff_t as m4/intl.m4.
64108
64109 2007-11-10  Jim Meyering  <meyering@redhat.com>
64110
64111         Avoid link failure for the argmatch test.
64112         * tests/test-argmatch.c (usage): Define function to avoid a link
64113         failure: argmatch_die requires a usage function.
64114
64115 2007-11-09  Bruno Haible  <bruno@clisp.org>
64116
64117         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64118         * doc/functions/vsnprintf.texi: Likewise.
64119         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64120         with a size argument < 2.
64121
64122 2007-11-09  Bruno Haible  <bruno@clisp.org>
64123
64124         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64125         buffer. Fixes an inefficiency introduced on 2007-11-03.
64126
64127 2007-11-09  Bruno Haible  <bruno@clisp.org>
64128
64129         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64130         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64131
64132 2007-11-08  Jim Meyering  <meyering@redhat.com>
64133
64134         Change cache variable name prefix "jm_" to "gl_" everywhere.
64135         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64136         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64137         * m4/uptime.m4: s/gl_/jm_/
64138
64139 2007-11-07  Bruno Haible  <bruno@clisp.org>
64140
64141         Update to GNU gettext 0.17.
64142         * m4/intl.m4: Update to GNU gettext 0.17.
64143         * m4/po.m4: Likewise.
64144         * modules/gettext (Files): Remove m4/ulonglong.m4.
64145         (configure.ac): Require gettext infrastructure from version 0.17.
64146
64147 2007-11-06  Bruno Haible  <bruno@clisp.org>
64148
64149         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64150         symbolic values are not defined in a public header.
64151         * lib/freadable.c (freadable) [QNX]: Likewise.
64152         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64153         * lib/freading.c (freading) [QNX]: Likewise.
64154         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64155         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64156         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64157         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64158         Reported by Alain Magloire.
64159
64160         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64161
64162 2007-11-05  Bruno Haible  <bruno@clisp.org>
64163
64164         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64165         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64166         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64167         Reported by Eric Blake.
64168
64169 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64170             Bruno Haible  <bruno@clisp.org>
64171
64172         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64173         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64174         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64175         (malloc): Undefine also before including <stdlib.h>.
64176         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64177         Needed on OSF/1 4.0.
64178
64179 2007-11-05  Jim Meyering  <meyering@redhat.com>
64180
64181         git-version-gen: sync from coreutils.
64182         * build-aux/git-version-gen: Add comments.
64183         Change the first '-' to '.' in the snapshot version string,
64184         e.g., 6.9-377-08144 -> 6.9.377-08144
64185         Remove first parameter.
64186         Don't declare a version "-dirty" merely because a time
64187         stamp has changed.
64188
64189 2007-11-04  Bruno Haible  <bruno@clisp.org>
64190
64191         * lib/lock.h: Protect all macro definitions containing an 'if'
64192         statement through a "do { ... } while (0)".
64193         * lib/tls.h: Likewise.
64194
64195 2007-11-04  Bruno Haible  <bruno@clisp.org>
64196
64197         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64198
64199 2007-11-04  Bruno Haible  <bruno@clisp.org>
64200
64201         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64202         * modules/fprintf-posix (Depends-on): Add nocrash.
64203         * modules/snprintf-posix (Depends-on): Likewise.
64204         * modules/sprintf-posix (Depends-on): Likewise.
64205         * modules/vasnprintf-posix (Depends-on): Likewise.
64206         * modules/vasprintf-posix (Depends-on): Likewise.
64207         * modules/vfprintf-posix (Depends-on): Likewise.
64208         * modules/vsnprintf-posix (Depends-on): Likewise.
64209         * modules/vsprintf-posix (Depends-on): Likewise.
64210         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64211         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64212         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64213         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64214         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64215         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64216         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64217
64218 2007-11-04  Bruno Haible  <bruno@clisp.org>
64219
64220         * modules/nocrash: New file.
64221         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64222         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64223
64224 2007-11-04  Bruno Haible  <bruno@clisp.org>
64225
64226         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64227         precision handling.
64228         * tests/test-vasprintf-posix.c (test_function): Likewise.
64229         * tests/test-snprintf-posix.h (test_function): Likewise.
64230         * tests/test-sprintf-posix.h (test_function): Likewise.
64231
64232         Fix *printf behaviour for large precisions on mingw and BeOS.
64233         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64234         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64235         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64236         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64237         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64238         gl_PRINTF_PRECISION and test its result. Invoke
64239         gl_PREREQ_VASNPRINTF_PRECISION.
64240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64241         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64242         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64243         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64244         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64245         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64246         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64247         * doc/functions/fprintf.texi: Update.
64248         * doc/functions/printf.texi: Update.
64249         * doc/functions/snprintf.texi: Update.
64250         * doc/functions/sprintf.texi: Update.
64251         * doc/functions/vfprintf.texi: Update.
64252         * doc/functions/vprintf.texi: Update.
64253         * doc/functions/vsnprintf.texi: Update.
64254         * doc/functions/vsprintf.texi: Update.
64255
64256 2007-11-04  Bruno Haible  <bruno@clisp.org>
64257
64258         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64259
64260 2007-11-04  Bruno Haible  <bruno@clisp.org>
64261
64262         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64263         Reported by Sylvain Beucler <beuc@gnu.org>.
64264
64265 2007-11-03  Bruno Haible  <bruno@clisp.org>
64266
64267         * tests/test-fprintf-posix2.sh: New file.
64268         * tests/test-fprintf-posix2.c: New file.
64269         * modules/fprintf-posix-tests (Files): Add them.
64270         (TESTS): Add test-fprintf-posix2.sh.
64271         (configure.ac): Check for getrlimit and setrlimit.
64272         (check_PROGRAMS): Add test-fprintf-posix2.
64273
64274         * tests/test-printf-posix2.sh: New file.
64275         * tests/test-printf-posix2.c: New file.
64276         * modules/printf-posix-tests (Files): Add them.
64277         (TESTS): Add test-printf-posix2.sh.
64278         (configure.ac): Check for getrlimit and setrlimit.
64279         (check_PROGRAMS): Add test-printf-posix2.
64280
64281         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64282         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64283         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64284         (decode_double): New function, copied from decode_long_double.
64285         (scale10_round_decimal_decoded): New function, extracted from
64286         scale10_round_decimal_long_double.
64287         (scale10_round_decimal_long_double): Use it.
64288         (scale10_round_decimal_double): New function.
64289         (floorlog10): New function.
64290         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64291         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64292         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64293         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64294         gl_PRINTF_ENOMEM and test its result. Invoke
64295         gl_PREREQ_VASNPRINTF_ENOMEM.
64296         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64297         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64298         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64299         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64300         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64301         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64302         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64303         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64304         * modules/snprintf-posix (Depends-on): Likewise.
64305         * modules/sprintf-posix (Depends-on): Likewise.
64306         * modules/vasnprintf-posix (Depends-on): Likewise.
64307         * modules/vasprintf-posix (Depends-on): Likewise.
64308         * modules/vfprintf-posix (Depends-on): Likewise.
64309         * modules/vsnprintf-posix (Depends-on): Likewise.
64310         * modules/vsprintf-posix (Depends-on): Likewise.
64311         * doc/functions/fprintf.texi: Update.
64312         * doc/functions/printf.texi: Update.
64313         * doc/functions/snprintf.texi: Update.
64314         * doc/functions/sprintf.texi: Update.
64315         * doc/functions/vfprintf.texi: Update.
64316         * doc/functions/vprintf.texi: Update.
64317         * doc/functions/vsnprintf.texi: Update.
64318         * doc/functions/vsprintf.texi: Update.
64319
64320 2007-11-03  Bruno Haible  <bruno@clisp.org>
64321
64322         * modules/frexp-nolibm-tests: New file.
64323
64324         * modules/frexp-nolibm: New file.
64325         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64326
64327 2007-11-03  Bruno Haible  <bruno@clisp.org>
64328
64329         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64330         value is C99 compliant.
64331         Needed for OSF/1 5.1.
64332
64333 2007-11-03  Bruno Haible  <bruno@clisp.org>
64334
64335         Fix out-of-memory handling of vasnprintf.
64336         * lib/printf-parse.c: Include <errno.h>.
64337         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64338         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64339         is already set.
64340
64341 2007-11-02  Eric Blake  <ebb9@byu.net>
64342
64343         Fix tests on cygwin.
64344         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64345
64346 2007-11-01  Bruno Haible  <bruno@clisp.org>
64347
64348         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64349         warning.
64350         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64351         needed for POSIX compatibility.
64352
64353 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64354
64355         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64356         for compatibility with GNU.
64357
64358 2007-11-01  Bruno Haible  <bruno@clisp.org>
64359
64360         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64361         (putenv): Renamed from rpl_putenv. Change argument type from
64362         'const char *' to 'char *'.
64363         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64364         of defining putenv in config.h, just set REPLACE_PUTENV.
64365         * modules/putenv (Depends-on): Add stdlib.
64366         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64367         (Include): Use <stdlib.h>.
64368         * lib/stdlib.in.h (putenv): New declaration.
64369         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64370         REPLACE_PUTENV.
64371         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64372         REPLACE_PUTENV.
64373         Needed for MacOS X 10.5.0.
64374         Reported by Peter O'Gorman <peter@pogma.com>.
64375
64376 2007-11-01  Jim Meyering  <meyering@redhat.com>
64377
64378         Treat an empty date string exactly like "0".
64379         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64380         if the remaining date string (to be parsed) is empty, use "0".
64381         Reported by Mischa Molhoek and discussed in this thread:
64382         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64383
64384 2007-10-31  Bruno Haible  <bruno@clisp.org>
64385
64386         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64387         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64388         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64389         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64390         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64391         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64392
64393 2007-10-31  Bruno Haible  <bruno@clisp.org>
64394
64395         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64396         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64397         (AC_TYPE_LONG_LONG_INT): Use it.
64398         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64399         it as well.
64400         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64401         to m4/longlong.m4.
64402         * modules/stdint (Files): Remove m4/ulonglong.m4.
64403         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64404         m4/ulonglong.m4.
64405         * modules/strtoumax (Files): Likewise.
64406
64407 2007-10-30  Bruno Haible  <bruno@clisp.org>
64408
64409         * modules/xvasprintf-posix: New file.
64410         Suggested by Eric Blake.
64411
64412 2007-10-30  Bruno Haible  <bruno@clisp.org>
64413
64414         * modules/xprintf-posix-tests: New file.
64415         * tests/test-xprintf-posix.sh: New file.
64416         * tests/test-xprintf-posix.c: New file.
64417         * tests/test-xfprintf-posix.c: New file.
64418
64419         * modules/xprintf-posix: New file.
64420
64421 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64422
64423         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64424         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64425         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64426
64427 2007-10-29  Bruno Haible  <bruno@clisp.org>
64428
64429         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64430         contain the special marker '_cv_'.
64431         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64432         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64433         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64434         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64435         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64436         Reported by Ralf Wildenhues.
64437
64438 2007-10-29  Bruno Haible  <bruno@clisp.org>
64439
64440         * gnulib-tool (func_import): When --lgpl is not specified, set
64441         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64442         GPLv3.
64443         Reported by Simon Josefsson.
64444
64445 2007-10-28  Bruno Haible  <bruno@clisp.org>
64446
64447         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64448         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64449         HAVE_DECL_ISFINITE.
64450         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64451         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64452         HAVE_DECL_ISFINITE.
64453
64454 2007-10-28  Bruno Haible  <bruno@clisp.org>
64455
64456         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64457         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64458
64459 2007-10-28  Bruno Haible  <bruno@clisp.org>
64460
64461         Fix link errors with Sun C 5.0 on Solaris 10.
64462         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64463         function is declared but not present in the compiler's libm.
64464         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64465         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64466         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64467         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64468         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64469         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64470         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64471         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64472         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64473         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64474         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64475         HAVE_DECL_FLOORL.
64476
64477 2007-10-28  Bruno Haible  <bruno@clisp.org>
64478
64479         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64480         gl_FUNC_FLOORL. Cache the result.
64481         (gl_FUNC_FLOORL): Use it.
64482         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64483         gl_FUNC_CEILL. Cache the result.
64484         (gl_FUNC_CEILL): Use it.
64485
64486         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64487         gl_FUNC_FLOOR. Cache the result.
64488         (gl_FUNC_FLOOR): Use it.
64489         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64490         gl_FUNC_CEIL. Cache the result.
64491         (gl_FUNC_CEIL): Use it.
64492
64493         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64494         gl_FUNC_FLOORF. Cache the result.
64495         (gl_FUNC_FLOORF): Use it.
64496         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64497         gl_FUNC_CEILF. Cache the result.
64498         (gl_FUNC_CEILF): Use it.
64499
64500 2007-10-28  Bruno Haible  <bruno@clisp.org>
64501
64502         * gnulib-tool: Allow specifying the LGPL version number through
64503         --lgpl=2 or --lgpl=3.
64504         (func_usage): Document --lgpl with argument.
64505         Handle --lgpl=... arguments.
64506         (func_import): Recognize also gl_LGPL calls with an argument. When
64507         --lgpl=2 is used and the module's license is just LGPL, report an
64508         error. Set sed_transform_lib_file according to the lgpl variable. In
64509         the generated files, use --lgpl or gl_LGPL invocations with argument,
64510         if necessary.
64511         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64512         an LGPv2+ license.
64513         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64514         gl_LGPL macro.
64515
64516 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64517             Bruno Haible  <bruno@clisp.org>
64518
64519         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64520         (u16_uctomb_aux): Likewise.
64521         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64522         !HAVE_INLINE.
64523         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64524
64525 2007-10-28  Bruno Haible  <bruno@clisp.org>
64526
64527         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64528         Invoke AM_GETTEXT_OPTION if it exists.
64529         * modules/vasprintf: Likewise.
64530         * modules/verror: Likewise.
64531         * modules/xprintf: Likewise.
64532         * modules/xvasprintf: Likewise.
64533
64534 2007-10-27  Ben Pfaff  <blp@gnu.org>
64535
64536         * lib/math.in.h: Define isfinite macro and prototypes for
64537         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64538         implementations.
64539         * m4/math_h.m4: New substitutions for isfinite module.
64540         * lib/isfinite.c: New file.
64541         * m4/isfinite.m4: New file.
64542         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64543         * modules/isfinite: New file.
64544         * modules/isfinite-tests: New file.
64545         * tests/tests-isfinite.c: New file.
64546         * doc/functions/isfinite.texi: Mention isfinite module.
64547         * MODULES.html.sh: Mention new module.
64548
64549 2007-10-27  Ben Pfaff  <blp@gnu.org>
64550
64551         Ralf Wildenhues reported that Tru64 4.0D declares the round
64552         functions but does not have definitions.
64553         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64554         cannot be found in any library, set the output variable to
64555         "missing" instead of "".
64556         * m4/round.m4: Also use our substitute if we cannot find round in
64557         any library, even if it is declared.
64558         * m4/roundf.m4: Likewise for roundf.
64559         * m4/roundl.m4: Likewise for roundl.
64560         * lib/math.in.h: Undefine roundf, round, roundl before defining
64561         their replacements, to allow for hypothetical systems where these
64562         may be defined as macros but not available in libraries.
64563
64564 2007-10-27  Bruno Haible  <bruno@clisp.org>
64565
64566         * doc/gnulib.texi: Invoke @firstparagraphindent.
64567         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64568         changes in gnulib.
64569         (Source changes): New section.
64570
64571 2007-10-26  Bruno Haible  <bruno@clisp.org>
64572
64573         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64574         borrowed from autoconf.
64575
64576 2007-10-26  Bruno Haible  <bruno@clisp.org>
64577
64578         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64579         strerror returned the empty string. Needed on HP-UX 11.00.
64580
64581 2007-10-24  Micah Cowan  <micah@cowan.name>
64582
64583         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64584         * build-aux/bootstrap: Remove support for now-unnecessary option,
64585         --cvs-user, and envvars CVS_USER, CVS_RSH.
64586
64587 2007-10-24  Jim Meyering  <meyering@redhat.com>
64588
64589         Avoid diagnostics from sha1sum when there is no cached checksum.
64590         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64591         if the po.s1 file hasn't been created yet.
64592
64593         * build-aux/bootstrap: Sync from coreutils:
64594         2007-10-24  Jim Meyering  <meyering@redhat.com>
64595         Get gnulib from the git repository, not from an obsolete cvs one.
64596         * build-aux/bootstrap: Suggestion from Micah Cowan.
64597         2007-10-04  Jim Meyering  <jim@meyering.net>
64598         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64599         (update_po_files): Work also when there are no .po files in po/.
64600
64601 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64602
64603         * README: Append ".git" to git and cg examples.
64604         Problem reported by Benoit Sigoure.
64605
64606 2007-10-23  Micah Cowan  <micah@cowan.name>
64607
64608         * users.txt: Add wget.
64609
64610 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64611
64612         Fix linking of some unistdio tests on FreeBSD.
64613         * modules/unistdio/u16-vsnprintf-tests
64614         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64615         * modules/unistdio/u16-vsprintf-tests
64616         (test_u16_vsnprintf1_LDADD): Likewise.
64617         * modules/unistdio/u32-vsnprintf-tests
64618         (test_u32_vsnprintf1_LDADD): Likewise.
64619         * modules/unistdio/u32-vsprintf-tests
64620         (test_u32_vsprintf1_LDADD): Likewise.
64621         * modules/unistdio/u8-vsnprintf-tests
64622         (test_u8_vsnprintf1_LDADD): Likewise.
64623         * modules/unistdio/u8-vsprintf-tests
64624         (test_u8_vsprintf1_LDADD): Likewise.
64625         * modules/unistdio/ulc-vsnprintf-tests
64626         (test_ulc_vsnprintf1_LDADD): Likewise.
64627         * modules/unistdio/ulc-vsprintf-tests
64628         (test_ulc_vsprintf1_LDADD): Likewise.
64629
64630         Fix linking of some uniconv tests on FreeBSD.
64631         * modules/uniconv/u16-conv-from-enc-tests
64632         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64633         * modules/uniconv/u16-conv-to-enc-tests
64634         (test_u16_conv_to_enc_LDADD): Likewise.
64635         * modules/uniconv/u16-strconv-from-enc-tests
64636         (test_u16_strconv_from_enc_LDADD): Likewise.
64637         * modules/uniconv/u16-strconv-to-enc-tests
64638         (test_u16_strconv_to_enc_LDADD): Likewise.
64639         * modules/uniconv/u32-conv-from-enc-tests
64640         (test_u32_conv_from_enc_LDADD): Likewise.
64641         * modules/uniconv/u32-conv-to-enc-tests
64642         (test_u32_conv_to_enc_LDADD): Likewise.
64643         * modules/uniconv/u32-strconv-from-enc-tests
64644         (test_u32_strconv_from_enc_LDADD): Likewise.
64645         * modules/uniconv/u32-strconv-to-enc-tests
64646         (test_u32_strconv_to_enc_LDADD): Likewise.
64647         * modules/uniconv/u8-conv-from-enc-tests
64648         (test_u8_conv_from_enc_LDADD): Likewise.
64649         * modules/uniconv/u8-conv-to-enc-tests
64650         (test_u8_conv_to_enc_LDADD): Likewise.
64651         * modules/uniconv/u8-strconv-from-enc-tests
64652         (test_u8_strconv_from_enc_LDADD): Likewise.
64653         * modules/uniconv/u8-strconv-to-enc-tests
64654         (test_u8_strconv_to_enc_LDADD): Likewise.
64655
64656 2007-10-22  Bruno Haible  <bruno@clisp.org>
64657
64658         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64659         size.
64660
64661 2007-10-22  Eric Blake  <ebb9@byu.net>
64662
64663         Tweak x*printf documentation.
64664         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64665         variable name and comments.
64666         Suggested by Bruno Haible.
64667
64668 2007-10-22  Bruno Haible  <bruno@clisp.org>
64669
64670         * lib/acl.c (copy_acl): Fix file name in comment.
64671
64672 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64673
64674         Fix Tru64 problem with stdbool.h.
64675         * lib/stdbool.in.h (false, true):
64676         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64677         Don't declare as an enum in this situation; it runs afoul of Tru64.
64678         Problem reported by Steven M. Schweda in
64679         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64680
64681 2007-10-22  Eric Blake  <ebb9@byu.net>
64682
64683         Also wrap vf?printf.
64684         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64685         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64686         (xvprintf, xvfprintf): New functions.
64687
64688 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64689
64690         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64691         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64692
64693         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64694         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64695
64696 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64697
64698         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64699         by Bruno Haible.
64700
64701 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64702
64703         * lib/getloadavg.c
64704         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64705         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64706
64707         * tests/test-i-ring.c: Work for C89.
64708
64709 2007-10-22  Bruno Haible  <bruno@clisp.org>
64710
64711         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64712         -1u, in preprocessor expression, so that we don't test for the bug
64713         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64714         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64715
64716 2007-10-22  Eric Blake  <ebb9@byu.net>
64717
64718         * tests/test-yesno.sh: Silence stderr during test.
64719
64720 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64721
64722         * modules/crypto/gc-camellia: New file.
64723
64724         * m4/gc-camellia.m4: New file.
64725
64726         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64727
64728         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64729
64730 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64731
64732         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64733         --help to stdout.  Reported by sms@antinode.org (Steven
64734         M. Schweda).
64735
64736 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64737
64738         * users.txt: Fix link to libksba.
64739
64740 2007-10-21  Ben Pfaff  <blp@gnu.org>
64741
64742         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64743         round.c roundf implementation that depends on floorf and ceilf to
64744         be tested unconditionally.
64745
64746 2007-10-21  Ben Pfaff  <blp@gnu.org>
64747
64748         * m4/check-libm-func.m4: Removed.
64749         * m4/check-math-lib.m4: New file.
64750         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64751         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64752         definition and lack of AC_LIBOBJ([roundf]).
64753         * m4/roundl.m4: Ditto, and similarly for roundl.
64754         * modules/round: Reference new m4 file.
64755         * modules/roundf: Ditto.
64756         * modules/roundl: Ditto.
64757         * tests/test-round2.c (main): Use ROUND instead of round.
64758         Bug report from Bruno Haible.
64759
64760 2007-10-21  Bruno Haible  <bruno@clisp.org>
64761
64762         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64763         context.
64764
64765 2007-10-21  Bruno Haible  <bruno@clisp.org>
64766
64767         * tests/test-wcwidth.c (main): Allow negative result for some control
64768         characters.
64769
64770         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64771         Needed on OSF/1 5.1.
64772
64773 2007-10-21  Bruno Haible  <bruno@clisp.org>
64774
64775         * tests/test-floorf1.c: Include isnanf.h.
64776         (main): Use isnanf() instead of isnan().
64777         * tests/test-ceilf1.c: Include isnanf.h.
64778         (main): Use isnanf() instead of isnan().
64779         * tests/test-truncf1.c: Include isnanf.h.
64780         (main): Use isnanf() instead of isnan().
64781         * tests/test-roundf1.c: Include isnanf.h.
64782         (main): Use isnanf() instead of isnan().
64783
64784 2007-10-21  Eric Blake  <ebb9@byu.net>
64785
64786         * users.txt: Update URL for m4.
64787
64788 2007-10-21  Bruno Haible  <bruno@clisp.org>
64789
64790         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64791
64792 2007-10-21  Bruno Haible  <bruno@clisp.org>
64793
64794         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64795         Git's management files if the CVS files are not present.
64796
64797 2007-10-20  Bruno Haible  <bruno@clisp.org>
64798
64799         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64800         gcc-3.4.x.
64801
64802 2007-10-20  Ben Pfaff  <blp@gnu.org>
64803
64804         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64805         implementations.
64806         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64807         * lib/round.c: New file.
64808         * lib/roundf.c: New file.
64809         * lib/roundl.c: New file.
64810         * m4/round.m4: New file.
64811         * m4/roundf.m4: New file.
64812         * m4/roundl.m4: New file.
64813         * m4/check-libm-func-m4: New file.
64814         * modules/math: Replace round, roundf, roundl related @VARS@ in
64815         math.in.h.
64816         * modules/round: New file.
64817         * modules/round-tests: New file.
64818         * modules/roundf: New file.
64819         * modules/roundf-tests: New file.
64820         * modules/roundl: New file.
64821         * modules/roundl-tests: New file.
64822         * tests/test-round1.c: New file.
64823         * tests/test-round2.c: New file.
64824         * tests/test-roundf1.c: New file.
64825         * tests/test-roundf2.c: New file.
64826         * tests/test-roundl.c: New file.
64827         * doc/functions/round.texi: Mention round module.
64828         * doc/functions/roundf.texi: Mention roundf module.
64829         * doc/functions/roundl.texi: Mention roundl module.
64830         * MODULES.html.sh: Mention new modules.
64831         Thanks to Bruno Haible for suggestions.
64832
64833 2007-10-20  Jim Meyering  <meyering@redhat.com>
64834
64835         * lib/xprintf.c: Include <config.h> unconditionally.
64836
64837         Change xprintf's license to GPL.
64838         * modules/xprintf (License): s/LGPL/GPL/, since this module
64839         depends on modules (exit and exitfail) which are GPL.
64840         Suggestion from Bruno Haible.
64841
64842         xprintf fixes.
64843         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64844         Use a clearer diagnostic.
64845         Patch from Bruno Haible.
64846
64847 2007-10-20  Bruno Haible  <bruno@clisp.org>
64848
64849         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64850         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64851         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64852
64853 2007-10-20  Bruno Haible  <bruno@clisp.org>
64854
64855         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64856         precision in the comparison result > x - 1 or similar.
64857         * tests/test-ceilf2.c (correct_result_p): Likewise.
64858         * tests/test-truncf2.c (correct_result_p): Likewise.
64859         * tests/test-trunc2.c (correct_result_p): Likewise.
64860         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64861
64862 2007-10-20  Bruno Haible  <bruno@clisp.org>
64863
64864         * modules/ceil: New file.
64865         * m4/ceil.m4: New file.
64866         * doc/functions/ceil.texi: Mention the 'ceil' module.
64867
64868 2007-10-20  Bruno Haible  <bruno@clisp.org>
64869
64870         * modules/floor: New file.
64871         * m4/floor.m4: New file.
64872         * doc/functions/floor.texi: Mention the 'floor' module.
64873
64874 2007-10-20  Bruno Haible  <bruno@clisp.org>
64875
64876         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64877         of %a.
64878         * modules/floorf-tests (Depends-on): Likewise.
64879         * modules/truncf-tests (Depends-on): Likewise.
64880         * modules/trunc-tests (Depends-on): Likewise.
64881         Reported by Ben Pfaff.
64882
64883 2007-10-19  Jim Meyering  <meyering@redhat.com>
64884
64885         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64886         Don't bother testing specific errno values.  Just test ferror.
64887
64888         New module: xprintf
64889         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64890
64891 2007-10-19  Bruno Haible  <bruno@clisp.org>
64892
64893         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64894         syntax.
64895         * modules/javaexec (Makefile.am): Likewise.
64896         * modules/relocatable-prog (Makefile.am): Likewise.
64897         Suggested by Jim Meyering.
64898
64899 2007-10-18  Bruno Haible  <bruno@clisp.org>
64900
64901         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64902         Reported by Jim Meyering.
64903
64904 2007-10-18  Eric Blake  <ebb9@byu.net>
64905
64906         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64907
64908 2007-10-18  Bruno Haible  <bruno@clisp.org>
64909
64910         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64911         the format string into writable memory. Needed in Fortify conditions.
64912
64913 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64914             Bruno Haible  <bruno@clisp.org>
64915
64916         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64917         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64918         * modules/trim (Depends-on): Add mbchar.
64919         (configure.ac): Add gl_FUNC_MBRTOWC.
64920         (Makefile.am): Augment lib_SOURCES.
64921
64922 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64923
64924         Modify glob.c to use fstatat and dirfd, to simplify it.
64925         Suggested by Eric Blake.
64926         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64927         Don't include <stdbool.h>; not used.
64928         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64929         (link_exists_p): Simplify implementation, since we can now assume
64930         dirfd and fstatat.
64931         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64932
64933 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64934
64935         * gnulib-tool (func_get_dependencies): Fix sed script to
64936         match only tests.
64937
64938 2007-10-17  Bruno Haible  <bruno@clisp.org>
64939
64940         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64941         allow locale names without encoding suffix.
64942         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64943         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64944
64945 2007-10-16  Bruno Haible  <bruno@clisp.org>
64946
64947         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64948         * lib/getgroups.c (getgroups): Likewise.
64949         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64950
64951 2007-10-16  Bruno Haible  <bruno@clisp.org>
64952
64953         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64954         * modules/malloc-posix (License): Likewise.
64955         * modules/realloc-posix (License): Likewise.
64956         * modules/calloc-posix (License): Likewise.
64957         * modules/intprops (License): Change from GPL to LGPL, with
64958         Paul Eggert's approval.
64959
64960 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64961
64962         Merge glibc changes into lib/glob.c.
64963
64964         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64965         2007-10-15 04:59:03 UTC.  Here are the changes:
64966
64967         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64968
64969         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64970
64971         * lib/glob.c: Add some branch prediction throughout.
64972
64973         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64974
64975         [BZ #5103]
64976         * lib/glob.c (glob): Recognize patterns starting \/.
64977
64978         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64979
64980         [BZ #3996]
64981         * lib/glob.c (attribute_hidden): Define if not defined.
64982         (glob): Unescape dirname, filename or username when needed and not
64983         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64984         is NULL.  Handle unescaped [ in pattern without closing ].
64985         Don't pass GLOB_CHECK down to recursive glob for directories.
64986         (__glob_pattern_type): New function.
64987         (__glob_pattern_p): Implement using __glob_pattern_type.
64988         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64989         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64990         Remove unreachable code.
64991
64992         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64993
64994         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64995         explain why there are no leaks.
64996
64997         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64998
64999         [BZ #3253]
65000         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65001         time, rather allocate increasingly bigger arrays of pointers, if
65002         possible with alloca, if too large with malloc.
65003
65004 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65005
65006         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65007         Problem reported by H.Merijn Brand in
65008         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65009         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65010         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65011
65012 2007-10-15  Bruno Haible  <bruno@clisp.org>
65013
65014         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65015         with explicit rpl_ prefix.
65016         * lib/fopen.c (fopen): Likewise.
65017         * lib/freopen.c (freopen): Likewise.
65018         * lib/iconv.c (iconv): Likewise.
65019         * lib/iconv_close.c (iconv_close): Likewise.
65020
65021 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65022
65023         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65024
65025 2007-10-15  Bruno Haible  <bruno@clisp.org>
65026
65027         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65028         <stddef.h> instead of <stdlib.h> since we only need NULL.
65029         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65030
65031 2007-10-15  Bruno Haible  <bruno@clisp.org>
65032
65033         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65034         Replace paragraph talking about LIBOBJS.
65035         Reported by Colin Watson <cjwatson@debian.org>.
65036
65037 2007-10-15  Bruno Haible  <bruno@clisp.org>
65038
65039         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65040         <stdlib.h> before using NULL.
65041
65042 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65043
65044         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65045         Reported by Albert Chin <china@thewrittenword.com>.
65046
65047 2007-10-14  Bruno Haible  <bruno@clisp.org>
65048
65049         * modules/iconv_open-utf-tests: New file.
65050         * tests/test-iconv-utf.c: New file.
65051
65052         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65053         * modules/iconv_open-utf: New file.
65054         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65055         (iconv, iconv_close): New declarations.
65056         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65057         be defined.
65058         (iconv_open): Add special handling of conversion between UTF-8 and
65059         UTF-{16,32}{BE,LE}.
65060         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65061         * lib/iconv_close.c: New file.
65062         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65063         gl_FUNC_ICONV_OPEN.
65064         (gl_FUNC_ICONV_OPEN): Use it.
65065         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65066         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65067         and REPLACE_ICONV_UTF.
65068         * modules/iconv_open (Depends-on): Add c-strcase.
65069         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65070         ICONV_CONST.
65071         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65072
65073 2007-10-13  Albert Chin  <china@thewrittenword.com>
65074             Bruno Haible  <bruno@clisp.org>
65075
65076         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65077         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65078
65079 2007-10-13  Bruno Haible  <bruno@clisp.org>
65080
65081         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65082         defined, use the ISO C99 inline semantics.
65083         * lib/argp.h (ARGP_EI): Likewise.
65084
65085 2007-10-13  Bruno Haible  <bruno@clisp.org>
65086
65087         Handle 'inline' change in gcc 4.3.0.
65088         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65089         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65090         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65091         argp_fmtstream_point): Disable 'extern' declaration if the function
65092         definition is going to be provided inline.
65093         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65094         semantics, not the ISO C99 inline semantics.
65095         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65096         'extern' declaration if the function definition is going to be provided
65097         inline.
65098         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65099         the GNU C inline semantics, not the ISO C99 inline semantics. With
65100         GCC 4.2, avoid a warning.
65101
65102 2007-10-13  Bruno Haible  <bruno@clisp.org>
65103
65104         * lib/freading.h (freading): Enable the use of __freading for
65105         glibc >= 2.7.
65106         * lib/freading.c (freading): Likewise.
65107
65108 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65109
65110         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65111         "warning: C99 inline functions are not supported; using GNU89".
65112
65113 2007-10-12  Bruno Haible  <bruno@clisp.org>
65114
65115         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65116         of 2.
65117         * tests/test-ceilf2.c: New file.
65118         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65119
65120         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65121         * modules/ceilf-tests: Update.
65122
65123 2007-10-12  Bruno Haible  <bruno@clisp.org>
65124
65125         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65126         of 2.
65127         * tests/test-floorf2.c: New file.
65128         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65129
65130         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65131         * modules/floorf-tests: Update.
65132
65133 2007-10-12  Bruno Haible  <bruno@clisp.org>
65134
65135         * tests/test-trunc2.c: New file.
65136         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65137
65138         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65139         * modules/trunc-tests: Update.
65140
65141 2007-10-12  Bruno Haible  <bruno@clisp.org>
65142
65143         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65144         of 2.
65145         * tests/test-truncf2.c: New file.
65146         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65147
65148         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65149         * modules/truncf-tests: Update.
65150
65151 2007-10-11  Eric Blake  <ebb9@byu.net>
65152
65153         Don't claim strerror is broken on Interix.
65154         * doc/functions/strerror.texi (strerror): Known broken systems are
65155         now Solaris 8, and not Interix.
65156         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65157         Interix on cross-compile.
65158         Reported by Martin Koeppe in
65159         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65160
65161 2007-10-11  Bruno Haible  <bruno@clisp.org>
65162
65163         * modules/i-ring-tests: New file.
65164         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65165         instead of assert.
65166
65167 2007-10-11  Bruno Haible  <bruno@clisp.org>
65168
65169         * modules/filenamecat-tests: New file.
65170         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65171         * lib/filenamecat.c: Remove test code.
65172
65173 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65174
65175         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65176
65177         * lib/strerror.c: Include <string.h> always, to test interface,
65178         and to remove the need for the dummy.
65179         Include intprops.h to compute width instead of doing it ourselves
65180         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65181         (strerror): Define it to return NULL if there's no system strerror.
65182         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65183         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65184         ancient pre-strerror Unix systems well any more.  Saying "unknown
65185         system error" is enough.
65186         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65187         simpler strerror.c implementation.
65188         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65189         Simplify the tests to reflect the simpler strerror implementation.
65190         * modules/strerror (Depends-on): Add intprops.
65191
65192 2007-10-09  Eric Blake  <ebb9@byu.net>
65193
65194         Silence test-fpending.
65195         * modules/fpending-tests (Files): Add wrapper script.
65196         * tests/test-fpending.sh: New file.
65197
65198 2007-10-09  Bruno Haible  <bruno@clisp.org>
65199
65200         * MODULES.html.sh (func_module): Don't create a hyperlink for
65201         function names like 'printf_frexp'.
65202         (Misc): Add crc, memxor.
65203         (Characteristics of floating types): New section.
65204         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65205         isnanf-nolibm, signbit, trunc, truncf, truncl.
65206         (Enhancements for ISO C 99 functions): New subsection Input/output.
65207         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65208         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65209         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65210         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65211         (Enhancements for POSIX:2001 functions): Add chdir-long.
65212         (File system functions): Add areadlink, chdir-safer, read-file.
65213         Remove cycle-check.
65214         (File system as inode set): New section.
65215         (Date and time): Add gethrxtime.
65216         (Multithreading): Add openmp.
65217         (Internationalization functions): Add localename.
65218         (Unicode string functions): Add unistr/u*-mbsnlen.
65219         (Support for maintaining and releasing projects): Add git-version-gen.
65220         (Lone files): Remove directories.
65221
65222 2007-10-08  Ben Pfaff  <blp@gnu.org>
65223
65224         * lib/xmalloca.h: Fix typo in comment.
65225
65226 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65227
65228         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65229         when avoiding problems with integer overflow.  Use a portable test
65230         instead.
65231
65232 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65233
65234         * modules/dummy (License): Change to LGPLv2+.
65235         * modules/float (License): Likewise
65236         * modules/realloc (License): Likewise
65237         * modules/stdlib (License): Likewise
65238
65239 2007-10-07  Bruno Haible  <bruno@clisp.org>
65240
65241         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65242         * floor.c (TWO_MANT_DIG): Likewise.
65243         * ceil.c (TWO_MANT_DIG): Likewise.
65244         Reported by Ben Pfaff.
65245
65246 2007-10-07  Bruno Haible  <bruno@clisp.org>
65247
65248         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65249         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65250         * lib/frexp.c (FUNC): Likewise.
65251         * lib/printf-frexp.h (printf_frexp): Likewise.
65252         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65253         * lib/printf-frexp.c (FUNC): Likewise.
65254         Suggested by Jim Meyering.
65255
65256 2007-10-07  Jim Meyering  <meyering@redhat.com>
65257
65258         Make xnanosleep's integer overflow test more robust.
65259         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65260         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65261
65262 2007-10-07  Bruno Haible  <bruno@clisp.org>
65263
65264         * NEWS: Mention the license change.
65265
65266         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65267         abbreviations in the modules files.
65268
65269         Change copyright notice from GPLv2+ to GPLv3+.
65270         * README: Change copyright notice.
65271         * MODULES.html.sh: Likewise.
65272         * build-aux/bootstrap.conf: Likewise.
65273         * build-aux/config.libpath: Likewise.
65274         * build-aux/csharpcomp.sh.in: Likewise.
65275         * build-aux/csharpexec.sh.in: Likewise.
65276         * build-aux/install-reloc: Likewise.
65277         * build-aux/javacomp.sh.in: Likewise.
65278         * build-aux/javaexec.sh.in: Likewise.
65279         * build-aux/ldd.sh.in: Likewise.
65280         * build-aux/reloc-ldflags: Likewise.
65281         * build-aux/relocatable.sh.in: Likewise.
65282         * build-aux/x-to-1.in: Likewise.
65283         * check-module: Likewise.
65284         * config/srclistvars.sh: Likewise.
65285         * gnulib-tool: Likewise.
65286         * lib/acl-internal.h: Likewise.
65287         * lib/acl.c: Likewise.
65288         * lib/acl.h: Likewise.
65289         * lib/acl_entries.c: Likewise.
65290         * lib/areadlink-with-size.c: Likewise.
65291         * lib/areadlink.c: Likewise.
65292         * lib/areadlink.h: Likewise.
65293         * lib/argmatch.c: Likewise.
65294         * lib/argmatch.h: Likewise.
65295         * lib/argp-ba.c: Likewise.
65296         * lib/argp-eexst.c: Likewise.
65297         * lib/argp-fmtstream.c: Likewise.
65298         * lib/argp-fmtstream.h: Likewise.
65299         * lib/argp-fs-xinl.c: Likewise.
65300         * lib/argp-help.c: Likewise.
65301         * lib/argp-namefrob.h: Likewise.
65302         * lib/argp-parse.c: Likewise.
65303         * lib/argp-pin.c: Likewise.
65304         * lib/argp-pv.c: Likewise.
65305         * lib/argp-pvh.c: Likewise.
65306         * lib/argp-xinl.c: Likewise.
65307         * lib/argp.h: Likewise.
65308         * lib/at-func.c: Likewise.
65309         * lib/atanl.c: Likewise.
65310         * lib/backupfile.c: Likewise.
65311         * lib/backupfile.h: Likewise.
65312         * lib/basename.c: Likewise.
65313         * lib/binary-io.h: Likewise.
65314         * lib/byteswap.in.h: Likewise.
65315         * lib/c-stack.c: Likewise.
65316         * lib/c-stack.h: Likewise.
65317         * lib/c-strcasestr.c: Likewise.
65318         * lib/c-strcasestr.h: Likewise.
65319         * lib/c-strstr.c: Likewise.
65320         * lib/c-strstr.h: Likewise.
65321         * lib/c-strtod.c: Likewise.
65322         * lib/calloc.c: Likewise.
65323         * lib/canon-host.c: Likewise.
65324         * lib/canon-host.h: Likewise.
65325         * lib/canonicalize-lgpl.c: Likewise.
65326         * lib/canonicalize.c: Likewise.
65327         * lib/canonicalize.h: Likewise.
65328         * lib/ceil.c: Likewise.
65329         * lib/ceilf.c: Likewise.
65330         * lib/ceill.c: Likewise.
65331         * lib/chdir-long.c: Likewise.
65332         * lib/chdir-long.h: Likewise.
65333         * lib/chdir-safer.c: Likewise.
65334         * lib/chdir-safer.h: Likewise.
65335         * lib/chown.c: Likewise.
65336         * lib/classpath.c: Likewise.
65337         * lib/classpath.h: Likewise.
65338         * lib/clean-temp.c: Likewise.
65339         * lib/clean-temp.h: Likewise.
65340         * lib/cloexec.c: Likewise.
65341         * lib/close-stream.c: Likewise.
65342         * lib/closein.c: Likewise.
65343         * lib/closein.h: Likewise.
65344         * lib/closeout.c: Likewise.
65345         * lib/closeout.h: Likewise.
65346         * lib/concat-filename.c: Likewise.
65347         * lib/copy-file.c: Likewise.
65348         * lib/copy-file.h: Likewise.
65349         * lib/count-one-bits.h: Likewise.
65350         * lib/crc.c: Likewise.
65351         * lib/crc.h: Likewise.
65352         * lib/creat-safer.c: Likewise.
65353         * lib/csharpcomp.c: Likewise.
65354         * lib/csharpcomp.h: Likewise.
65355         * lib/csharpexec.c: Likewise.
65356         * lib/csharpexec.h: Likewise.
65357         * lib/cycle-check.c: Likewise.
65358         * lib/cycle-check.h: Likewise.
65359         * lib/diacrit.c: Likewise.
65360         * lib/diacrit.h: Likewise.
65361         * lib/diffseq.h: Likewise.
65362         * lib/dirchownmod.c: Likewise.
65363         * lib/dirent.in.h: Likewise.
65364         * lib/dirfd.c: Likewise.
65365         * lib/dirfd.h: Likewise.
65366         * lib/dirname.c: Likewise.
65367         * lib/dirname.h: Likewise.
65368         * lib/dummy.c: Likewise.
65369         * lib/dup-safer.c: Likewise.
65370         * lib/dup2.c: Likewise.
65371         * lib/eealloc.h: Likewise.
65372         * lib/error.c: Likewise.
65373         * lib/error.h: Likewise.
65374         * lib/euidaccess.c: Likewise.
65375         * lib/exclude.c: Likewise.
65376         * lib/exclude.h: Likewise.
65377         * lib/execute.c: Likewise.
65378         * lib/execute.h: Likewise.
65379         * lib/exitfail.c: Likewise.
65380         * lib/exitfail.h: Likewise.
65381         * lib/expl.c: Likewise.
65382         * lib/fatal-signal.c: Likewise.
65383         * lib/fatal-signal.h: Likewise.
65384         * lib/fbufmode.c: Likewise.
65385         * lib/fbufmode.h: Likewise.
65386         * lib/fchdir.c: Likewise.
65387         * lib/fchmodat.c: Likewise.
65388         * lib/fchownat.c: Likewise.
65389         * lib/fcntl--.h: Likewise.
65390         * lib/fcntl-safer.h: Likewise.
65391         * lib/fcntl.in.h: Likewise.
65392         * lib/fd-safer.c: Likewise.
65393         * lib/fflush.c: Likewise.
65394         * lib/file-has-acl.c: Likewise.
65395         * lib/file-set.c: Likewise.
65396         * lib/file-type.c: Likewise.
65397         * lib/file-type.h: Likewise.
65398         * lib/fileblocks.c: Likewise.
65399         * lib/filemode.c: Likewise.
65400         * lib/filemode.h: Likewise.
65401         * lib/filename.h: Likewise.
65402         * lib/filenamecat.c: Likewise.
65403         * lib/filenamecat.h: Likewise.
65404         * lib/findprog.c: Likewise.
65405         * lib/findprog.h: Likewise.
65406         * lib/float.in.h: Likewise.
65407         * lib/floor.c: Likewise.
65408         * lib/floorf.c: Likewise.
65409         * lib/floorl.c: Likewise.
65410         * lib/fopen-safer.c: Likewise.
65411         * lib/fopen.c: Likewise.
65412         * lib/fpending.c: Likewise.
65413         * lib/fpending.h: Likewise.
65414         * lib/fprintf.c: Likewise.
65415         * lib/fprintftime.h: Likewise.
65416         * lib/fpucw.h: Likewise.
65417         * lib/fpurge.c: Likewise.
65418         * lib/fpurge.h: Likewise.
65419         * lib/freadable.c: Likewise.
65420         * lib/freadable.h: Likewise.
65421         * lib/freadahead.c: Likewise.
65422         * lib/freadahead.h: Likewise.
65423         * lib/freading.c: Likewise.
65424         * lib/freading.h: Likewise.
65425         * lib/free.c: Likewise.
65426         * lib/freopen.c: Likewise.
65427         * lib/frexp.c: Likewise.
65428         * lib/frexpl.c: Likewise.
65429         * lib/fseek.c: Likewise.
65430         * lib/fseterr.c: Likewise.
65431         * lib/fseterr.h: Likewise.
65432         * lib/fstatat.c: Likewise.
65433         * lib/fstrcmp.c: Likewise.
65434         * lib/fstrcmp.h: Likewise.
65435         * lib/fsusage.c: Likewise.
65436         * lib/fsusage.h: Likewise.
65437         * lib/ftell.c: Likewise.
65438         * lib/ftello.c: Likewise.
65439         * lib/fts-cycle.c: Likewise.
65440         * lib/fts.c: Likewise.
65441         * lib/fts_.h: Likewise.
65442         * lib/full-read.c: Likewise.
65443         * lib/full-read.h: Likewise.
65444         * lib/full-write.c: Likewise.
65445         * lib/full-write.h: Likewise.
65446         * lib/fwritable.c: Likewise.
65447         * lib/fwritable.h: Likewise.
65448         * lib/fwriteerror.c: Likewise.
65449         * lib/fwriteerror.h: Likewise.
65450         * lib/fwriting.c: Likewise.
65451         * lib/fwriting.h: Likewise.
65452         * lib/gcd.c: Likewise.
65453         * lib/gcd.h: Likewise.
65454         * lib/getcwd.c: Likewise.
65455         * lib/getdate.h: Likewise.
65456         * lib/getdate.y: Likewise.
65457         * lib/getdomainname.c: Likewise.
65458         * lib/getdomainname.h: Likewise.
65459         * lib/getgroups.c: Likewise.
65460         * lib/gethostname.c: Likewise.
65461         * lib/gethrxtime.c: Likewise.
65462         * lib/gethrxtime.h: Likewise.
65463         * lib/getloadavg.c: Likewise.
65464         * lib/getndelim2.c: Likewise.
65465         * lib/getndelim2.h: Likewise.
65466         * lib/getnline.c: Likewise.
65467         * lib/getnline.h: Likewise.
65468         * lib/getopt.c: Likewise.
65469         * lib/getopt.in.h: Likewise.
65470         * lib/getopt1.c: Likewise.
65471         * lib/getopt_int.h: Likewise.
65472         * lib/getpagesize.h: Likewise.
65473         * lib/getsubopt.c: Likewise.
65474         * lib/gettime.c: Likewise.
65475         * lib/getugroups.c: Likewise.
65476         * lib/getugroups.h: Likewise.
65477         * lib/getusershell.c: Likewise.
65478         * lib/gl_anyavltree_list1.h: Likewise.
65479         * lib/gl_anyavltree_list2.h: Likewise.
65480         * lib/gl_anyhash_list1.h: Likewise.
65481         * lib/gl_anyhash_list2.h: Likewise.
65482         * lib/gl_anylinked_list1.h: Likewise.
65483         * lib/gl_anylinked_list2.h: Likewise.
65484         * lib/gl_anyrbtree_list1.h: Likewise.
65485         * lib/gl_anyrbtree_list2.h: Likewise.
65486         * lib/gl_anytree_list1.h: Likewise.
65487         * lib/gl_anytree_list2.h: Likewise.
65488         * lib/gl_anytree_oset.h: Likewise.
65489         * lib/gl_anytreehash_list1.h: Likewise.
65490         * lib/gl_anytreehash_list2.h: Likewise.
65491         * lib/gl_array_list.c: Likewise.
65492         * lib/gl_array_list.h: Likewise.
65493         * lib/gl_array_oset.c: Likewise.
65494         * lib/gl_array_oset.h: Likewise.
65495         * lib/gl_avltree_list.c: Likewise.
65496         * lib/gl_avltree_list.h: Likewise.
65497         * lib/gl_avltree_oset.c: Likewise.
65498         * lib/gl_avltree_oset.h: Likewise.
65499         * lib/gl_avltreehash_list.c: Likewise.
65500         * lib/gl_avltreehash_list.h: Likewise.
65501         * lib/gl_carray_list.c: Likewise.
65502         * lib/gl_carray_list.h: Likewise.
65503         * lib/gl_linked_list.c: Likewise.
65504         * lib/gl_linked_list.h: Likewise.
65505         * lib/gl_linkedhash_list.c: Likewise.
65506         * lib/gl_linkedhash_list.h: Likewise.
65507         * lib/gl_list.c: Likewise.
65508         * lib/gl_list.h: Likewise.
65509         * lib/gl_oset.c: Likewise.
65510         * lib/gl_oset.h: Likewise.
65511         * lib/gl_rbtree_list.c: Likewise.
65512         * lib/gl_rbtree_list.h: Likewise.
65513         * lib/gl_rbtree_oset.c: Likewise.
65514         * lib/gl_rbtree_oset.h: Likewise.
65515         * lib/gl_rbtreehash_list.c: Likewise.
65516         * lib/gl_rbtreehash_list.h: Likewise.
65517         * lib/gl_sublist.c: Likewise.
65518         * lib/gl_sublist.h: Likewise.
65519         * lib/group-member.c: Likewise.
65520         * lib/group-member.h: Likewise.
65521         * lib/hard-locale.c: Likewise.
65522         * lib/hard-locale.h: Likewise.
65523         * lib/hash-pjw.c: Likewise.
65524         * lib/hash-pjw.h: Likewise.
65525         * lib/hash-triple.c: Likewise.
65526         * lib/hash.c: Likewise.
65527         * lib/hash.h: Likewise.
65528         * lib/human.c: Likewise.
65529         * lib/human.h: Likewise.
65530         * lib/i-ring.c: Likewise.
65531         * lib/i-ring.h: Likewise.
65532         * lib/idcache.c: Likewise.
65533         * lib/imaxabs.c: Likewise.
65534         * lib/imaxdiv.c: Likewise.
65535         * lib/inet_pton.c: Likewise.
65536         * lib/inet_pton.h: Likewise.
65537         * lib/intprops.h: Likewise.
65538         * lib/inttostr.c: Likewise.
65539         * lib/inttostr.h: Likewise.
65540         * lib/inttypes.in.h: Likewise.
65541         * lib/isapipe.c: Likewise.
65542         * lib/isdir.c: Likewise.
65543         * lib/isnan.c: Likewise.
65544         * lib/isnan.h: Likewise.
65545         * lib/isnanf.c: Likewise.
65546         * lib/isnanf.h: Likewise.
65547         * lib/isnanl-nolibm.h: Likewise.
65548         * lib/isnanl.c: Likewise.
65549         * lib/isnanl.h: Likewise.
65550         * lib/javacomp.c: Likewise.
65551         * lib/javacomp.h: Likewise.
65552         * lib/javaexec.c: Likewise.
65553         * lib/javaexec.h: Likewise.
65554         * lib/javaversion.c: Likewise.
65555         * lib/javaversion.h: Likewise.
65556         * lib/javaversion.java: Likewise.
65557         * lib/lbrkprop.h: Likewise.
65558         * lib/lchmod.h: Likewise.
65559         * lib/lchown.c: Likewise.
65560         * lib/ldexpl.c: Likewise.
65561         * lib/linebreak.c: Likewise.
65562         * lib/linebreak.h: Likewise.
65563         * lib/linebuffer.c: Likewise.
65564         * lib/linebuffer.h: Likewise.
65565         * lib/locale.in.h: Likewise.
65566         * lib/logl.c: Likewise.
65567         * lib/long-options.c: Likewise.
65568         * lib/long-options.h: Likewise.
65569         * lib/lstat.c: Likewise.
65570         * lib/lstat.h: Likewise.
65571         * lib/math.in.h: Likewise.
65572         * lib/mbchar.c: Likewise.
65573         * lib/mbchar.h: Likewise.
65574         * lib/mbfile.h: Likewise.
65575         * lib/mbiter.h: Likewise.
65576         * lib/mbscasecmp.c: Likewise.
65577         * lib/mbscasestr.c: Likewise.
65578         * lib/mbschr.c: Likewise.
65579         * lib/mbscspn.c: Likewise.
65580         * lib/mbslen.c: Likewise.
65581         * lib/mbsncasecmp.c: Likewise.
65582         * lib/mbsnlen.c: Likewise.
65583         * lib/mbspbrk.c: Likewise.
65584         * lib/mbspcasecmp.c: Likewise.
65585         * lib/mbsrchr.c: Likewise.
65586         * lib/mbssep.c: Likewise.
65587         * lib/mbsspn.c: Likewise.
65588         * lib/mbsstr.c: Likewise.
65589         * lib/mbstok_r.c: Likewise.
65590         * lib/mbswidth.c: Likewise.
65591         * lib/mbswidth.h: Likewise.
65592         * lib/mbuiter.h: Likewise.
65593         * lib/memcasecmp.c: Likewise.
65594         * lib/memcasecmp.h: Likewise.
65595         * lib/memchr.c: Likewise.
65596         * lib/memcmp.c: Likewise.
65597         * lib/memcoll.c: Likewise.
65598         * lib/memcoll.h: Likewise.
65599         * lib/memcpy.c: Likewise.
65600         * lib/memrchr.c: Likewise.
65601         * lib/mkancesdirs.c: Likewise.
65602         * lib/mkdir-p.c: Likewise.
65603         * lib/mkdir-p.h: Likewise.
65604         * lib/mkdir.c: Likewise.
65605         * lib/mkdirat.c: Likewise.
65606         * lib/mkdtemp.c: Likewise.
65607         * lib/mkstemp-safer.c: Likewise.
65608         * lib/mkstemp.c: Likewise.
65609         * lib/modechange.c: Likewise.
65610         * lib/modechange.h: Likewise.
65611         * lib/mountlist.c: Likewise.
65612         * lib/mountlist.h: Likewise.
65613         * lib/mpsort.c: Likewise.
65614         * lib/nanosleep.c: Likewise.
65615         * lib/obstack.c: Likewise.
65616         * lib/obstack.h: Likewise.
65617         * lib/open-safer.c: Likewise.
65618         * lib/open.c: Likewise.
65619         * lib/openat-die.c: Likewise.
65620         * lib/openat-priv.h: Likewise.
65621         * lib/openat-proc.c: Likewise.
65622         * lib/openat.c: Likewise.
65623         * lib/openat.h: Likewise.
65624         * lib/pagealign_alloc.c: Likewise.
65625         * lib/pagealign_alloc.h: Likewise.
65626         * lib/physmem.c: Likewise.
65627         * lib/physmem.h: Likewise.
65628         * lib/pipe-safer.c: Likewise.
65629         * lib/pipe.c: Likewise.
65630         * lib/pipe.h: Likewise.
65631         * lib/posixtm.c: Likewise.
65632         * lib/posixtm.h: Likewise.
65633         * lib/posixver.c: Likewise.
65634         * lib/printf-frexp.c: Likewise.
65635         * lib/printf-frexp.h: Likewise.
65636         * lib/printf-frexpl.c: Likewise.
65637         * lib/printf-frexpl.h: Likewise.
65638         * lib/printf.c: Likewise.
65639         * lib/progname.c: Likewise.
65640         * lib/progname.h: Likewise.
65641         * lib/progreloc.c: Likewise.
65642         * lib/putenv.c: Likewise.
65643         * lib/quote.c: Likewise.
65644         * lib/quote.h: Likewise.
65645         * lib/quotearg.c: Likewise.
65646         * lib/quotearg.h: Likewise.
65647         * lib/raise.c: Likewise.
65648         * lib/readline.c: Likewise.
65649         * lib/readline.h: Likewise.
65650         * lib/readlink.c: Likewise.
65651         * lib/readtokens.c: Likewise.
65652         * lib/readtokens.h: Likewise.
65653         * lib/readtokens0.c: Likewise.
65654         * lib/readtokens0.h: Likewise.
65655         * lib/readutmp.c: Likewise.
65656         * lib/readutmp.h: Likewise.
65657         * lib/realloc.c: Likewise.
65658         * lib/relocwrapper.c: Likewise.
65659         * lib/rename-dest-slash.c: Likewise.
65660         * lib/rename.c: Likewise.
65661         * lib/rmdir.c: Likewise.
65662         * lib/rpmatch.c: Likewise.
65663         * lib/safe-read.c: Likewise.
65664         * lib/safe-read.h: Likewise.
65665         * lib/safe-write.c: Likewise.
65666         * lib/safe-write.h: Likewise.
65667         * lib/same-inode.h: Likewise.
65668         * lib/same.c: Likewise.
65669         * lib/same.h: Likewise.
65670         * lib/save-cwd.c: Likewise.
65671         * lib/save-cwd.h: Likewise.
65672         * lib/savedir.c: Likewise.
65673         * lib/savedir.h: Likewise.
65674         * lib/savewd.c: Likewise.
65675         * lib/savewd.h: Likewise.
65676         * lib/search.in.h: Likewise.
65677         * lib/setenv.c: Likewise.
65678         * lib/setenv.h: Likewise.
65679         * lib/settime.c: Likewise.
65680         * lib/sh-quote.c: Likewise.
65681         * lib/sh-quote.h: Likewise.
65682         * lib/sig2str.c: Likewise.
65683         * lib/sig2str.h: Likewise.
65684         * lib/signal.in.h: Likewise.
65685         * lib/signbitd.c: Likewise.
65686         * lib/signbitf.c: Likewise.
65687         * lib/signbitl.c: Likewise.
65688         * lib/sigprocmask.c: Likewise.
65689         * lib/sincosl.c: Likewise.
65690         * lib/sleep.c: Likewise.
65691         * lib/sprintf.c: Likewise.
65692         * lib/sqrtl.c: Likewise.
65693         * lib/stat-time.h: Likewise.
65694         * lib/stdio--.h: Likewise.
65695         * lib/stdio-safer.h: Likewise.
65696         * lib/stdlib--.h: Likewise.
65697         * lib/stdlib-safer.h: Likewise.
65698         * lib/stdlib.in.h: Likewise.
65699         * lib/stpcpy.c: Likewise.
65700         * lib/stpncpy.c: Likewise.
65701         * lib/strchrnul.c: Likewise.
65702         * lib/strcspn.c: Likewise.
65703         * lib/strerror.c: Likewise.
65704         * lib/strftime.c: Likewise.
65705         * lib/strftime.h: Likewise.
65706         * lib/striconveh.c: Likewise.
65707         * lib/striconveh.h: Likewise.
65708         * lib/striconveha.c: Likewise.
65709         * lib/striconveha.h: Likewise.
65710         * lib/stripslash.c: Likewise.
65711         * lib/strnlen1.c: Likewise.
65712         * lib/strnlen1.h: Likewise.
65713         * lib/strtod.c: Likewise.
65714         * lib/strtoimax.c: Likewise.
65715         * lib/strtok_r.c: Likewise.
65716         * lib/strtol.c: Likewise.
65717         * lib/strtoll.c: Likewise.
65718         * lib/strtoul.c: Likewise.
65719         * lib/strtoull.c: Likewise.
65720         * lib/sysexits.in.h: Likewise.
65721         * lib/tempname.c: Likewise.
65722         * lib/tempname.h: Likewise.
65723         * lib/timespec.h: Likewise.
65724         * lib/tls.c: Likewise.
65725         * lib/tls.h: Likewise.
65726         * lib/tmpdir.c: Likewise.
65727         * lib/tmpdir.h: Likewise.
65728         * lib/tmpfile-safer.c: Likewise.
65729         * lib/tmpfile.c: Likewise.
65730         * lib/trigl.c: Likewise.
65731         * lib/trigl.h: Likewise.
65732         * lib/trim.c: Likewise.
65733         * lib/trim.h: Likewise.
65734         * lib/trunc.c: Likewise.
65735         * lib/truncf.c: Likewise.
65736         * lib/truncl.c: Likewise.
65737         * lib/tsearch.c: Likewise.
65738         * lib/unicodeio.c: Likewise.
65739         * lib/unicodeio.h: Likewise.
65740         * lib/unistd--.h: Likewise.
65741         * lib/unistd-safer.h: Likewise.
65742         * lib/unistdio/ulc-fprintf.c: Likewise.
65743         * lib/unistdio/ulc-vfprintf.c: Likewise.
65744         * lib/unlinkdir.c: Likewise.
65745         * lib/unlinkdir.h: Likewise.
65746         * lib/unlocked-io.h: Likewise.
65747         * lib/unsetenv.c: Likewise.
65748         * lib/userspec.c: Likewise.
65749         * lib/utime.c: Likewise.
65750         * lib/utimecmp.c: Likewise.
65751         * lib/utimecmp.h: Likewise.
65752         * lib/utimens.c: Likewise.
65753         * lib/verify.h: Likewise.
65754         * lib/verror.c: Likewise.
65755         * lib/verror.h: Likewise.
65756         * lib/version-etc-fsf.c: Likewise.
65757         * lib/version-etc.c: Likewise.
65758         * lib/version-etc.h: Likewise.
65759         * lib/vfprintf.c: Likewise.
65760         * lib/vprintf.c: Likewise.
65761         * lib/vsprintf.c: Likewise.
65762         * lib/w32spawn.h: Likewise.
65763         * lib/wait-process.c: Likewise.
65764         * lib/wait-process.h: Likewise.
65765         * lib/wcwidth.c: Likewise.
65766         * lib/write-any-file.c: Likewise.
65767         * lib/xalloc-die.c: Likewise.
65768         * lib/xalloc.h: Likewise.
65769         * lib/xasprintf.c: Likewise.
65770         * lib/xgetcwd.c: Likewise.
65771         * lib/xgetcwd.h: Likewise.
65772         * lib/xgetdomainname.c: Likewise.
65773         * lib/xgetdomainname.h: Likewise.
65774         * lib/xgethostname.c: Likewise.
65775         * lib/xmalloc.c: Likewise.
65776         * lib/xmalloca.c: Likewise.
65777         * lib/xmalloca.h: Likewise.
65778         * lib/xmemcoll.c: Likewise.
65779         * lib/xnanosleep.c: Likewise.
65780         * lib/xreadlink.c: Likewise.
65781         * lib/xreadlink.h: Likewise.
65782         * lib/xsetenv.c: Likewise.
65783         * lib/xsetenv.h: Likewise.
65784         * lib/xstriconv.c: Likewise.
65785         * lib/xstriconv.h: Likewise.
65786         * lib/xstrndup.c: Likewise.
65787         * lib/xstrndup.h: Likewise.
65788         * lib/xstrtod.c: Likewise.
65789         * lib/xstrtod.h: Likewise.
65790         * lib/xstrtol-error.c: Likewise.
65791         * lib/xstrtol.c: Likewise.
65792         * lib/xstrtol.h: Likewise.
65793         * lib/xtime.h: Likewise.
65794         * lib/xvasprintf.c: Likewise.
65795         * lib/xvasprintf.h: Likewise.
65796         * lib/yesno.c: Likewise.
65797         * lib/yesno.h: Likewise.
65798         * posix-modules: Likewise.
65799         * tests/test-alloca-opt.c: Likewise.
65800         * tests/test-arcfour.c: Likewise.
65801         * tests/test-arctwo.c: Likewise.
65802         * tests/test-argmatch.c: Likewise.
65803         * tests/test-argp-2.sh: Likewise.
65804         * tests/test-argp.c: Likewise.
65805         * tests/test-arpa_inet.c: Likewise.
65806         * tests/test-array_list.c: Likewise.
65807         * tests/test-array_oset.c: Likewise.
65808         * tests/test-atexit.c: Likewise.
65809         * tests/test-avltree_list.c: Likewise.
65810         * tests/test-avltree_oset.c: Likewise.
65811         * tests/test-avltreehash_list.c: Likewise.
65812         * tests/test-base64.c: Likewise.
65813         * tests/test-binary-io.c: Likewise.
65814         * tests/test-byteswap.c: Likewise.
65815         * tests/test-c-ctype.c: Likewise.
65816         * tests/test-c-strcasecmp.c: Likewise.
65817         * tests/test-c-strcasestr.c: Likewise.
65818         * tests/test-c-strncasecmp.c: Likewise.
65819         * tests/test-c-strstr.c: Likewise.
65820         * tests/test-canonicalize-lgpl.c: Likewise.
65821         * tests/test-canonicalize.c: Likewise.
65822         * tests/test-carray_list.c: Likewise.
65823         * tests/test-ceilf.c: Likewise.
65824         * tests/test-ceill.c: Likewise.
65825         * tests/test-count-one-bits.c: Likewise.
65826         * tests/test-crc.c: Likewise.
65827         * tests/test-dirname.c: Likewise.
65828         * tests/test-fbufmode.c: Likewise.
65829         * tests/test-fcntl.c: Likewise.
65830         * tests/test-fflush.c: Likewise.
65831         * tests/test-floorf.c: Likewise.
65832         * tests/test-floorl.c: Likewise.
65833         * tests/test-fopen.c: Likewise.
65834         * tests/test-fprintf-posix.c: Likewise.
65835         * tests/test-fprintf-posix.h: Likewise.
65836         * tests/test-fpurge.c: Likewise.
65837         * tests/test-freadable.c: Likewise.
65838         * tests/test-freadahead.c: Likewise.
65839         * tests/test-freading.c: Likewise.
65840         * tests/test-freopen.c: Likewise.
65841         * tests/test-frexp.c: Likewise.
65842         * tests/test-frexpl.c: Likewise.
65843         * tests/test-fseek.c: Likewise.
65844         * tests/test-fseeko.c: Likewise.
65845         * tests/test-fseterr.c: Likewise.
65846         * tests/test-fstrcmp.c: Likewise.
65847         * tests/test-ftell.c: Likewise.
65848         * tests/test-ftello.c: Likewise.
65849         * tests/test-fwritable.c: Likewise.
65850         * tests/test-fwriting.c: Likewise.
65851         * tests/test-getaddrinfo.c: Likewise.
65852         * tests/test-getpass.c: Likewise.
65853         * tests/test-gettimeofday.c: Likewise.
65854         * tests/test-hmac-md5.c: Likewise.
65855         * tests/test-hmac-sha1.c: Likewise.
65856         * tests/test-iconv.c: Likewise.
65857         * tests/test-iconvme.c: Likewise.
65858         * tests/test-inttypes.c: Likewise.
65859         * tests/test-isnan.c: Likewise.
65860         * tests/test-isnanf.c: Likewise.
65861         * tests/test-isnanl-nolibm.c: Likewise.
65862         * tests/test-isnanl.c: Likewise.
65863         * tests/test-isnanl.h: Likewise.
65864         * tests/test-ldexpl.c: Likewise.
65865         * tests/test-linked_list.c: Likewise.
65866         * tests/test-linkedhash_list.c: Likewise.
65867         * tests/test-locale.c: Likewise.
65868         * tests/test-localename.c: Likewise.
65869         * tests/test-lock.c: Likewise.
65870         * tests/test-lseek.c: Likewise.
65871         * tests/test-malloca.c: Likewise.
65872         * tests/test-math.c: Likewise.
65873         * tests/test-mbscasecmp.c: Likewise.
65874         * tests/test-mbscasestr1.c: Likewise.
65875         * tests/test-mbscasestr2.c: Likewise.
65876         * tests/test-mbscasestr3.c: Likewise.
65877         * tests/test-mbscasestr4.c: Likewise.
65878         * tests/test-mbschr.c: Likewise.
65879         * tests/test-mbscspn.c: Likewise.
65880         * tests/test-mbsncasecmp.c: Likewise.
65881         * tests/test-mbspbrk.c: Likewise.
65882         * tests/test-mbspcasecmp.c: Likewise.
65883         * tests/test-mbsrchr.c: Likewise.
65884         * tests/test-mbsspn.c: Likewise.
65885         * tests/test-mbsstr1.c: Likewise.
65886         * tests/test-mbsstr2.c: Likewise.
65887         * tests/test-mbsstr3.c: Likewise.
65888         * tests/test-md5.c: Likewise.
65889         * tests/test-memmem.c: Likewise.
65890         * tests/test-netinet_in.c: Likewise.
65891         * tests/test-open.c: Likewise.
65892         * tests/test-printf-frexp.c: Likewise.
65893         * tests/test-printf-frexpl.c: Likewise.
65894         * tests/test-printf-posix.c: Likewise.
65895         * tests/test-printf-posix.h: Likewise.
65896         * tests/test-rbtree_list.c: Likewise.
65897         * tests/test-rbtree_oset.c: Likewise.
65898         * tests/test-rbtreehash_list.c: Likewise.
65899         * tests/test-read-file.c: Likewise.
65900         * tests/test-rijndael.c: Likewise.
65901         * tests/test-search.c: Likewise.
65902         * tests/test-signbit.c: Likewise.
65903         * tests/test-sleep.c: Likewise.
65904         * tests/test-snprintf-posix.c: Likewise.
65905         * tests/test-snprintf-posix.h: Likewise.
65906         * tests/test-snprintf.c: Likewise.
65907         * tests/test-sprintf-posix.c: Likewise.
65908         * tests/test-sprintf-posix.h: Likewise.
65909         * tests/test-stat-time.c: Likewise.
65910         * tests/test-stdbool.c: Likewise.
65911         * tests/test-stdint.c: Likewise.
65912         * tests/test-stdio.c: Likewise.
65913         * tests/test-stdlib.c: Likewise.
65914         * tests/test-stpncpy.c: Likewise.
65915         * tests/test-strcasestr.c: Likewise.
65916         * tests/test-striconv.c: Likewise.
65917         * tests/test-striconveh.c: Likewise.
65918         * tests/test-striconveha.c: Likewise.
65919         * tests/test-string.c: Likewise.
65920         * tests/test-sys_select.c: Likewise.
65921         * tests/test-sys_socket.c: Likewise.
65922         * tests/test-sys_stat.c: Likewise.
65923         * tests/test-sys_time.c: Likewise.
65924         * tests/test-sysexits.c: Likewise.
65925         * tests/test-time.c: Likewise.
65926         * tests/test-tls.c: Likewise.
65927         * tests/test-trunc.c: Likewise.
65928         * tests/test-truncf.c: Likewise.
65929         * tests/test-truncl.c: Likewise.
65930         * tests/test-unistd.c: Likewise.
65931         * tests/test-vasnprintf-posix.c: Likewise.
65932         * tests/test-vasnprintf-posix2.c: Likewise.
65933         * tests/test-vasnprintf.c: Likewise.
65934         * tests/test-vasprintf-posix.c: Likewise.
65935         * tests/test-vasprintf.c: Likewise.
65936         * tests/test-verify.c: Likewise.
65937         * tests/test-vfprintf-posix.c: Likewise.
65938         * tests/test-vprintf-posix.c: Likewise.
65939         * tests/test-vsnprintf-posix.c: Likewise.
65940         * tests/test-vsnprintf.c: Likewise.
65941         * tests/test-vsprintf-posix.c: Likewise.
65942         * tests/test-wchar.c: Likewise.
65943         * tests/test-wctype.c: Likewise.
65944         * tests/test-wcwidth.c: Likewise.
65945         * tests/test-xstrtol.c: Likewise.
65946         * tests/test-xvasprintf.c: Likewise.
65947         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65948         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65949         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65950         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65951         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65952         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65953         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65954         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65955         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65956         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65957         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65958         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65959         * tests/uniname/test-uninames.c: Likewise.
65960         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65961         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65962         * tests/unistdio/test-u16-printf1.h: Likewise.
65963         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65964         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65965         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65966         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65967         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65968         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65969         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65970         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65971         * tests/unistdio/test-u32-printf1.h: Likewise.
65972         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65973         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65974         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65975         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65976         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65977         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65978         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65979         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65980         * tests/unistdio/test-u8-printf1.h: Likewise.
65981         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65982         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65983         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65984         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65985         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65986         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65987         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65988         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65989         * tests/unistdio/test-ulc-printf1.h: Likewise.
65990         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65991         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65992         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65993         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65994         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65995         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65996         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65997         * tests/uniwidth/test-u16-width.c: Likewise.
65998         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65999         * tests/uniwidth/test-u32-width.c: Likewise.
66000         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66001         * tests/uniwidth/test-u8-width.c: Likewise.
66002         * tests/uniwidth/test-uc_width.c: Likewise.
66003         * config/srclist-update: Likewise.
66004         (fixlicense): Update to GPLv3+.
66005
66006         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66007         * tests/test-tsearch.c: Change copyright notice.
66008
66009         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66010         * lib/c-strcaseeq.h: Change copyright notice.
66011         * lib/streq.h: Likewise.
66012         * lib/uniconv.h: Likewise.
66013         * lib/uniconv/u-conv-from-enc.h: Likewise.
66014         * lib/uniconv/u-conv-to-enc.h: Likewise.
66015         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66016         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66017         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66018         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66019         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66020         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66021         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66022         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66023         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66024         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66025         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66026         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66027         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66028         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66029         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66030         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66031         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66032         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66033         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66034         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66035         * lib/uniname.h: Likewise.
66036         * lib/uniname/uniname.c: Likewise.
66037         * lib/unistdio.h: Likewise.
66038         * lib/unistdio/u-asnprintf.h: Likewise.
66039         * lib/unistdio/u-asprintf.h: Likewise.
66040         * lib/unistdio/u-printf-args.c: Likewise.
66041         * lib/unistdio/u-printf-args.h: Likewise.
66042         * lib/unistdio/u-printf-parse.h: Likewise.
66043         * lib/unistdio/u-snprintf.h: Likewise.
66044         * lib/unistdio/u-sprintf.h: Likewise.
66045         * lib/unistdio/u-vasprintf.h: Likewise.
66046         * lib/unistdio/u-vsnprintf.h: Likewise.
66047         * lib/unistdio/u-vsprintf.h: Likewise.
66048         * lib/unistdio/u16-asnprintf.c: Likewise.
66049         * lib/unistdio/u16-asprintf.c: Likewise.
66050         * lib/unistdio/u16-printf-parse.c: Likewise.
66051         * lib/unistdio/u16-snprintf.c: Likewise.
66052         * lib/unistdio/u16-sprintf.c: Likewise.
66053         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66054         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66055         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66056         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66057         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66058         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66059         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66060         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66061         * lib/unistdio/u16-vasnprintf.c: Likewise.
66062         * lib/unistdio/u16-vasprintf.c: Likewise.
66063         * lib/unistdio/u16-vsnprintf.c: Likewise.
66064         * lib/unistdio/u16-vsprintf.c: Likewise.
66065         * lib/unistdio/u32-asnprintf.c: Likewise.
66066         * lib/unistdio/u32-asprintf.c: Likewise.
66067         * lib/unistdio/u32-printf-parse.c: Likewise.
66068         * lib/unistdio/u32-snprintf.c: Likewise.
66069         * lib/unistdio/u32-sprintf.c: Likewise.
66070         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66071         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66072         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66073         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66074         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66075         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66076         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66077         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66078         * lib/unistdio/u32-vasnprintf.c: Likewise.
66079         * lib/unistdio/u32-vasprintf.c: Likewise.
66080         * lib/unistdio/u32-vsnprintf.c: Likewise.
66081         * lib/unistdio/u32-vsprintf.c: Likewise.
66082         * lib/unistdio/u8-asnprintf.c: Likewise.
66083         * lib/unistdio/u8-asprintf.c: Likewise.
66084         * lib/unistdio/u8-printf-parse.c: Likewise.
66085         * lib/unistdio/u8-snprintf.c: Likewise.
66086         * lib/unistdio/u8-sprintf.c: Likewise.
66087         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66088         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66089         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66090         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66091         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66092         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66093         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66094         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66095         * lib/unistdio/u8-vasnprintf.c: Likewise.
66096         * lib/unistdio/u8-vasprintf.c: Likewise.
66097         * lib/unistdio/u8-vsnprintf.c: Likewise.
66098         * lib/unistdio/u8-vsprintf.c: Likewise.
66099         * lib/unistdio/ulc-asnprintf.c: Likewise.
66100         * lib/unistdio/ulc-asprintf.c: Likewise.
66101         * lib/unistdio/ulc-printf-parse.c: Likewise.
66102         * lib/unistdio/ulc-snprintf.c: Likewise.
66103         * lib/unistdio/ulc-sprintf.c: Likewise.
66104         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66105         * lib/unistdio/ulc-vasprintf.c: Likewise.
66106         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66107         * lib/unistdio/ulc-vsprintf.c: Likewise.
66108         * lib/unistr.h: Likewise.
66109         * lib/unistr/u-cpy-alloc.h: Likewise.
66110         * lib/unistr/u-cpy.h: Likewise.
66111         * lib/unistr/u-endswith.h: Likewise.
66112         * lib/unistr/u-move.h: Likewise.
66113         * lib/unistr/u-set.h: Likewise.
66114         * lib/unistr/u-startswith.h: Likewise.
66115         * lib/unistr/u-stpcpy.h: Likewise.
66116         * lib/unistr/u-stpncpy.h: Likewise.
66117         * lib/unistr/u-strcat.h: Likewise.
66118         * lib/unistr/u-strcpy.h: Likewise.
66119         * lib/unistr/u-strcspn.h: Likewise.
66120         * lib/unistr/u-strdup.h: Likewise.
66121         * lib/unistr/u-strlen.h: Likewise.
66122         * lib/unistr/u-strncat.h: Likewise.
66123         * lib/unistr/u-strncpy.h: Likewise.
66124         * lib/unistr/u-strnlen.h: Likewise.
66125         * lib/unistr/u-strpbrk.h: Likewise.
66126         * lib/unistr/u-strspn.h: Likewise.
66127         * lib/unistr/u-strstr.h: Likewise.
66128         * lib/unistr/u-strtok.h: Likewise.
66129         * lib/unistr/u16-check.c: Likewise.
66130         * lib/unistr/u16-chr.c: Likewise.
66131         * lib/unistr/u16-cmp.c: Likewise.
66132         * lib/unistr/u16-cpy-alloc.c: Likewise.
66133         * lib/unistr/u16-cpy.c: Likewise.
66134         * lib/unistr/u16-endswith.c: Likewise.
66135         * lib/unistr/u16-mblen.c: Likewise.
66136         * lib/unistr/u16-mbsnlen.c: Likewise.
66137         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66138         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66139         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66140         * lib/unistr/u16-mbtouc.c: Likewise.
66141         * lib/unistr/u16-mbtoucr.c: Likewise.
66142         * lib/unistr/u16-move.c: Likewise.
66143         * lib/unistr/u16-next.c: Likewise.
66144         * lib/unistr/u16-prev.c: Likewise.
66145         * lib/unistr/u16-set.c: Likewise.
66146         * lib/unistr/u16-startswith.c: Likewise.
66147         * lib/unistr/u16-stpcpy.c: Likewise.
66148         * lib/unistr/u16-stpncpy.c: Likewise.
66149         * lib/unistr/u16-strcat.c: Likewise.
66150         * lib/unistr/u16-strchr.c: Likewise.
66151         * lib/unistr/u16-strcmp.c: Likewise.
66152         * lib/unistr/u16-strcpy.c: Likewise.
66153         * lib/unistr/u16-strcspn.c: Likewise.
66154         * lib/unistr/u16-strdup.c: Likewise.
66155         * lib/unistr/u16-strlen.c: Likewise.
66156         * lib/unistr/u16-strmblen.c: Likewise.
66157         * lib/unistr/u16-strmbtouc.c: Likewise.
66158         * lib/unistr/u16-strncat.c: Likewise.
66159         * lib/unistr/u16-strncmp.c: Likewise.
66160         * lib/unistr/u16-strncpy.c: Likewise.
66161         * lib/unistr/u16-strnlen.c: Likewise.
66162         * lib/unistr/u16-strpbrk.c: Likewise.
66163         * lib/unistr/u16-strrchr.c: Likewise.
66164         * lib/unistr/u16-strspn.c: Likewise.
66165         * lib/unistr/u16-strstr.c: Likewise.
66166         * lib/unistr/u16-strtok.c: Likewise.
66167         * lib/unistr/u16-to-u32.c: Likewise.
66168         * lib/unistr/u16-to-u8.c: Likewise.
66169         * lib/unistr/u16-uctomb-aux.c: Likewise.
66170         * lib/unistr/u16-uctomb.c: Likewise.
66171         * lib/unistr/u32-check.c: Likewise.
66172         * lib/unistr/u32-chr.c: Likewise.
66173         * lib/unistr/u32-cmp.c: Likewise.
66174         * lib/unistr/u32-cpy-alloc.c: Likewise.
66175         * lib/unistr/u32-cpy.c: Likewise.
66176         * lib/unistr/u32-endswith.c: Likewise.
66177         * lib/unistr/u32-mblen.c: Likewise.
66178         * lib/unistr/u32-mbsnlen.c: Likewise.
66179         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66180         * lib/unistr/u32-mbtouc.c: Likewise.
66181         * lib/unistr/u32-mbtoucr.c: Likewise.
66182         * lib/unistr/u32-move.c: Likewise.
66183         * lib/unistr/u32-next.c: Likewise.
66184         * lib/unistr/u32-prev.c: Likewise.
66185         * lib/unistr/u32-set.c: Likewise.
66186         * lib/unistr/u32-startswith.c: Likewise.
66187         * lib/unistr/u32-stpcpy.c: Likewise.
66188         * lib/unistr/u32-stpncpy.c: Likewise.
66189         * lib/unistr/u32-strcat.c: Likewise.
66190         * lib/unistr/u32-strchr.c: Likewise.
66191         * lib/unistr/u32-strcmp.c: Likewise.
66192         * lib/unistr/u32-strcpy.c: Likewise.
66193         * lib/unistr/u32-strcspn.c: Likewise.
66194         * lib/unistr/u32-strdup.c: Likewise.
66195         * lib/unistr/u32-strlen.c: Likewise.
66196         * lib/unistr/u32-strmblen.c: Likewise.
66197         * lib/unistr/u32-strmbtouc.c: Likewise.
66198         * lib/unistr/u32-strncat.c: Likewise.
66199         * lib/unistr/u32-strncmp.c: Likewise.
66200         * lib/unistr/u32-strncpy.c: Likewise.
66201         * lib/unistr/u32-strnlen.c: Likewise.
66202         * lib/unistr/u32-strpbrk.c: Likewise.
66203         * lib/unistr/u32-strrchr.c: Likewise.
66204         * lib/unistr/u32-strspn.c: Likewise.
66205         * lib/unistr/u32-strstr.c: Likewise.
66206         * lib/unistr/u32-strtok.c: Likewise.
66207         * lib/unistr/u32-to-u16.c: Likewise.
66208         * lib/unistr/u32-to-u8.c: Likewise.
66209         * lib/unistr/u32-uctomb.c: Likewise.
66210         * lib/unistr/u8-check.c: Likewise.
66211         * lib/unistr/u8-chr.c: Likewise.
66212         * lib/unistr/u8-cmp.c: Likewise.
66213         * lib/unistr/u8-cpy-alloc.c: Likewise.
66214         * lib/unistr/u8-cpy.c: Likewise.
66215         * lib/unistr/u8-endswith.c: Likewise.
66216         * lib/unistr/u8-mblen.c: Likewise.
66217         * lib/unistr/u8-mbsnlen.c: Likewise.
66218         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66219         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66220         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66221         * lib/unistr/u8-mbtouc.c: Likewise.
66222         * lib/unistr/u8-mbtoucr.c: Likewise.
66223         * lib/unistr/u8-move.c: Likewise.
66224         * lib/unistr/u8-next.c: Likewise.
66225         * lib/unistr/u8-prev.c: Likewise.
66226         * lib/unistr/u8-set.c: Likewise.
66227         * lib/unistr/u8-startswith.c: Likewise.
66228         * lib/unistr/u8-stpcpy.c: Likewise.
66229         * lib/unistr/u8-stpncpy.c: Likewise.
66230         * lib/unistr/u8-strcat.c: Likewise.
66231         * lib/unistr/u8-strchr.c: Likewise.
66232         * lib/unistr/u8-strcmp.c: Likewise.
66233         * lib/unistr/u8-strcpy.c: Likewise.
66234         * lib/unistr/u8-strcspn.c: Likewise.
66235         * lib/unistr/u8-strdup.c: Likewise.
66236         * lib/unistr/u8-strlen.c: Likewise.
66237         * lib/unistr/u8-strmblen.c: Likewise.
66238         * lib/unistr/u8-strmbtouc.c: Likewise.
66239         * lib/unistr/u8-strncat.c: Likewise.
66240         * lib/unistr/u8-strncmp.c: Likewise.
66241         * lib/unistr/u8-strncpy.c: Likewise.
66242         * lib/unistr/u8-strnlen.c: Likewise.
66243         * lib/unistr/u8-strpbrk.c: Likewise.
66244         * lib/unistr/u8-strrchr.c: Likewise.
66245         * lib/unistr/u8-strspn.c: Likewise.
66246         * lib/unistr/u8-strstr.c: Likewise.
66247         * lib/unistr/u8-strtok.c: Likewise.
66248         * lib/unistr/u8-to-u16.c: Likewise.
66249         * lib/unistr/u8-to-u32.c: Likewise.
66250         * lib/unistr/u8-uctomb-aux.c: Likewise.
66251         * lib/unistr/u8-uctomb.c: Likewise.
66252         * lib/unitypes.h: Likewise.
66253         * lib/uniwidth.h: Likewise.
66254         * lib/uniwidth/cjk.h: Likewise.
66255         * lib/uniwidth/u16-strwidth.c: Likewise.
66256         * lib/uniwidth/u16-width.c: Likewise.
66257         * lib/uniwidth/u32-strwidth.c: Likewise.
66258         * lib/uniwidth/u32-width.c: Likewise.
66259         * lib/uniwidth/u8-strwidth.c: Likewise.
66260         * lib/uniwidth/u8-width.c: Likewise.
66261         * lib/uniwidth/width.c: Likewise.
66262
66263 2007-10-07  Bruno Haible  <bruno@clisp.org>
66264
66265         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66266         The file is still under LGPL (see modules/inttypes).
66267
66268 2007-10-06  Bruno Haible  <bruno@clisp.org>
66269
66270         * modules/trunc (Dependencies): Add 'extensions'.
66271         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66272         Reported by Ben Pfaff <blp@gnu.org>.
66273
66274 2007-10-06  Bruno Haible  <bruno@clisp.org>
66275
66276         * modules/freopen-tests: New file.
66277         * tests/test-freopen.c: New file.
66278
66279         * modules/fopen-tests: New file.
66280         * tests/test-fopen.c: New file.
66281
66282         * modules/fopen: New file.
66283         * lib/fopen.c: New file.
66284         * m4/fopen.m4: New file.
66285         * modules/freopen: New file.
66286         * lib/freopen.c: New file.
66287         * m4/freopen.m4: New file.
66288         * lib/stdio.in.h (fopen, freopen): New declarations.
66289         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66290         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66291         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66292         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66293         * doc/functions/fopen.texi: Mention the 'fopen' module.
66294         * doc/functions/freopen.texi: Mention the 'freopen' module.
66295
66296 2007-10-06  Bruno Haible  <bruno@clisp.org>
66297
66298         * modules/open-tests: New file.
66299         * tests/test-open.c: New file.
66300
66301         * modules/open: New file.
66302         * lib/open.c: New file.
66303         * m4/open.m4: New file.
66304         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66305         lib/open.c does.
66306         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66307         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66308         macros.
66309         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66310         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66311         REPLACE_OPEN.
66312         * doc/functions/open.texi: Mention the 'open' module.
66313
66314 2007-10-04  Bruno Haible  <bruno@clisp.org>
66315
66316         * modules/ceill-tests: New file.
66317         * tests/test-ceill.c: New file.
66318
66319         * modules/ceill: New file.
66320         * lib/ceill.c: Replace entire file.
66321         * m4/ceill.m4: New file.
66322         * lib/math.in.h (ceill): Replace declaration.
66323         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66324         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66325         * doc/functions/ceill.texi: Mention the 'ceill' module.
66326         * modules/mathl (Files): Remove lib/ceill.c.
66327         (Depends-on): Add ceill.
66328
66329 2007-10-04  Bruno Haible  <bruno@clisp.org>
66330
66331         * modules/ceilf-tests: New file.
66332         * tests/test-ceilf.c: New file.
66333
66334         * modules/ceilf: New file.
66335         * lib/ceil.c: New file.
66336         * lib/ceilf.c: New file.
66337         * m4/ceilf.m4: New file.
66338         * lib/math.in.h (ceilf): New declaration.
66339         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66340         HAVE_DECL_CEILF.
66341         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66342         HAVE_DECL_CEILF.
66343         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66344
66345 2007-10-04  Bruno Haible  <bruno@clisp.org>
66346
66347         * modules/floorl-tests: New file.
66348         * tests/test-floorl.c: New file.
66349
66350         * modules/floorl: New file.
66351         * lib/floorl.c: Replace entire file.
66352         * m4/floorl.m4: New file.
66353         * lib/math.in.h (floorl): Replace declaration.
66354         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66355         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66356         * doc/functions/floorl.texi: Mention the 'floorl' module.
66357         * modules/mathl (Files): Remove lib/floorl.c.
66358         (Depends-on): Add floorl.
66359
66360 2007-10-04  Bruno Haible  <bruno@clisp.org>
66361
66362         * modules/floorf-tests: New file.
66363         * tests/test-floorf.c: New file.
66364
66365         * modules/floorf: New file.
66366         * lib/floor.c: New file.
66367         * lib/floorf.c: New file.
66368         * m4/floorf.m4: New file.
66369         * lib/math.in.h (floorf): New declaration.
66370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66371         HAVE_DECL_FLOORF.
66372         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66373         HAVE_DECL_FLOORF.
66374         * doc/functions/floorf.texi: Mention the 'floorf' module.
66375
66376 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66377             Bruno Haible  <bruno@clisp.org>
66378
66379         Advertise for the Git server instead of the CVS server.
66380         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66381         repository instead of the CVS one.
66382         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66383         about all VCS systems generically.
66384         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66385
66386 2007-10-04  Bruno Haible  <bruno@clisp.org>
66387
66388         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66389         means.
66390         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66391
66392 2007-10-04  Bruno Haible  <bruno@clisp.org>
66393
66394         * modules/truncl-tests: New file.
66395         * tests/test-truncl.c: New file.
66396
66397         * modules/truncl: New file.
66398         * lib/truncl.c: New file.
66399         * m4/truncl.m4: New file.
66400         * lib/math.in.h (truncl): New declaration.
66401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66402         HAVE_DECL_TRUNCL.
66403         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66404         HAVE_DECL_TRUNCL.
66405         * doc/functions/truncl.texi: Mention the 'truncl' module.
66406
66407 2007-10-04  Bruno Haible  <bruno@clisp.org>
66408
66409         * modules/truncf-tests: New file.
66410         * tests/test-truncf.c: New file.
66411
66412         * modules/truncf: New file.
66413         * lib/trunc.c: Make paramerizable through USE_* macros.
66414         * lib/truncf.c: New file.
66415         * m4/truncf.m4: New file.
66416         * lib/math.in.h (truncf): New declaration.
66417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66418         HAVE_DECL_TRUNCF.
66419         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66420         HAVE_DECL_TRUNCF.
66421         * doc/functions/truncf.texi: Mention the 'truncf' module.
66422
66423 2007-10-03  Bruno Haible  <bruno@clisp.org>
66424
66425         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66426         augmentation also for tests modules.
66427         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66428         * modules/atexit-tests (Makefile.am): Likewise.
66429         * modules/binary-io-tests (Makefile.am): Likewise.
66430         * modules/c-strcase-tests (Makefile.am): Likewise.
66431         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66432         * modules/canonicalize-tests (Makefile.am): Likewise.
66433         * modules/closein-tests (Makefile.am): Likewise.
66434         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66435         * modules/freadahead-tests (Makefile.am): Likewise.
66436         * modules/fseek-tests (Makefile.am): Likewise.
66437         * modules/fseeko-tests (Makefile.am): Likewise.
66438         * modules/ftell-tests (Makefile.am): Likewise.
66439         * modules/ftello-tests (Makefile.am): Likewise.
66440         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66441         * modules/isnanl-tests (Makefile.am): Likewise.
66442         * modules/lseek-tests (Makefile.am): Likewise.
66443         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66444         * modules/mbscasestr-tests (Makefile.am): Likewise.
66445         * modules/mbschr-tests (Makefile.am): Likewise.
66446         * modules/mbscspn-tests (Makefile.am): Likewise.
66447         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66448         * modules/mbspbrk-tests (Makefile.am): Likewise.
66449         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66450         * modules/mbsrchr-tests (Makefile.am): Likewise.
66451         * modules/mbsspn-tests (Makefile.am): Likewise.
66452         * modules/mbsstr-tests (Makefile.am): Likewise.
66453         * modules/printf-posix-tests (Makefile.am): Likewise.
66454         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66455         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66456         * modules/tsearch-tests (Makefile.am): Likewise.
66457         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66458         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66459         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66460         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66461         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66462         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66463         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66464         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66465         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66466         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66467         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66468         * modules/xstrtol-tests (Makefile.am): Likewise.
66469         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66470         * modules/yesno-tests (Makefile.am): Likewise.
66471
66472 2007-10-03  Bruno Haible  <bruno@clisp.org>
66473
66474         * modules/trunc-tests: New file.
66475         * tests/test-trunc.c: New file.
66476
66477         * modules/trunc: New file.
66478         * lib/trunc.c: New file.
66479         * m4/trunc.m4: New file.
66480         * lib/math.in.h (trunc): New declaration.
66481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66482         HAVE_DECL_TRUNC.
66483         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66484         HAVE_DECL_TRUNC.
66485         * doc/functions/trunc.texi: Mention the 'trunc' module.
66486
66487 2007-10-03  Bruno Haible  <bruno@clisp.org>
66488
66489         * tests/test-fpending.c: New file, mostly copied
66490         from coreutils/lib/t-fpending.c.
66491         * modules/fpending-tests: New file.
66492
66493 2007-10-03  Bruno Haible  <bruno@clisp.org>
66494
66495         Port the stdio extensions to QNX (untested).
66496         * lib/fseterr.c (fseterr): Add support for QNX.
66497         * lib/fbufmode.c (fbufmode): Likewise.
66498         * lib/freadable.c (freadable): Likewise.
66499         * lib/fwritable.c (fwritable): Likewise.
66500         * lib/freading.c (freading): Likewise.
66501         * lib/fwriting.c (fwriting): Likewise.
66502         * lib/freadahead.c (freadahed): Likewise.
66503         * lib/fpurge.c (fpurge): Likewise.
66504         * lib/fseeko.c (rpl_fseeko): Likewise.
66505
66506 2007-10-03  Bruno Haible  <bruno@clisp.org>
66507             Jim Meyering  <jim@meyering.net>
66508             Eric Blake  <ebb9@byu.net>
66509
66510         * doc/relocatable.texi: Use @command instead of @program.
66511
66512 2007-10-02  Jim Meyering  <jim@meyering.net>
66513
66514         Perform one more "_.h" -> ".in.h" substitution.
66515         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66516         instead of unistd_.h here, too.
66517
66518 2007-10-01  Bruno Haible  <bruno@clisp.org>
66519
66520         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66521         Needed for the alloca-opt module.
66522
66523 2007-09-30  Bruno Haible  <bruno@clisp.org>
66524
66525         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66526         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66527         alloca_.h.
66528         * lib/argz.in.h: Renamed from lib/argz_.h.
66529         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66530         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66531         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66532         byteswap_.h.
66533         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66534         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66535         dirent_.h.
66536         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66537         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66538         fcntl_.h.
66539         * lib/float.in.h: Renamed from lib/float_.h.
66540         * modules/float (Files, Makefile.am): Use float.in.h instead of
66541         float_.h.
66542         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66543         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66544         fnmatch_.h.
66545         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66546         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66547         getopt_.h.
66548         * lib/glob.in.h: Renamed from lib/glob_.h.
66549         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66550         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66551         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66552         iconv_.h.
66553         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66554         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66555         inttypes_.h.
66556         * lib/locale.in.h: Renamed from lib/locale_.h.
66557         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66558         locale_.h.
66559         * lib/math.in.h: Renamed from lib/math_.h.
66560         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66561         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66562         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66563         of netinet_in_.h. Add dependency.
66564         * lib/poll.in.h: Renamed from lib/poll_.h.
66565         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66566         * lib/search.in.h: Renamed from lib/search_.h.
66567         * modules/search (Files, Makefile.am): Use search.in.h instead of
66568         search_.h.
66569         * lib/signal.in.h: Renamed from lib/signal_.h.
66570         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66571         _signal.h.
66572         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66573         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66574         stdbool_.h.
66575         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66576         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66577         stdint_.h.
66578         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66579         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66580         stdio_.h.
66581         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66582         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66583         stdlib_.h.
66584         * lib/string.in.h: Renamed from lib/string_.h.
66585         * modules/string (Files, Makefile.am): Use string.in.h instead of
66586         string_.h.
66587         * doc/gnulib-tool.texi (Initial import): Update.
66588         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66589         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66590         of sys_select_.h. Add dependency.
66591         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66592         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66593         of sys_socket_.h.
66594         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66595         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66596         sys_stat_.h.
66597         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66598         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66599         sys_time_.h.
66600         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66601         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66602         sysexits_.h.
66603         * lib/time.in.h: Renamed from lib/time_.h.
66604         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66605         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66606         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66607         unistd_.h.
66608         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66609         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66610         wchar_.h.
66611         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66612         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66613         wctype_.h.
66614         * build-aux/bootstrap (slurp): Update.
66615         * lib/.cppi-disable: Update.
66616
66617 2007-09-30  Bruno Haible  <bruno@clisp.org>
66618
66619         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66620         Needed on BeOS.
66621
66622 2007-09-30  Bruno Haible  <bruno@clisp.org>
66623
66624         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66625
66626 2007-09-29  Bruno Haible  <bruno@clisp.org>
66627
66628         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66629
66630 2007-09-29  Bruno Haible  <bruno@clisp.org>
66631
66632         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66633         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66634         * build-aux/install-reloc: Compile also areadlink.c.
66635         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66636
66637 2007-09-29  Bruno Haible  <bruno@clisp.org>
66638
66639         * gnulib-tool (func_emit_initmacro_done): Indentation.
66640
66641 2007-09-29  Bruno Haible  <bruno@clisp.org>
66642
66643         * README: Add CVS checkout update instructions.
66644         Info from Bob Proulx <bob@proulx.com>.
66645
66646 2007-09-28  Eric Blake  <ebb9@byu.net>
66647
66648         Provide move-if-change.
66649         * build-aux/move-if-change: New file, based on best practice
66650         rather than any canonical upstream location.
66651
66652 2007-09-28  Jim Meyering  <jim@meyering.net>
66653
66654         Fix canonicalize loop-detection corner case.
66655         Do not attempt to stat the symlink values stored via seen_triple.
66656         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66657         on linux-2.6.18, (but not 2.6.22).
66658         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66659         triple_compare.  The former compares dev,ino,filename, while the latter
66660         would actually stat dirname(filename) when dev and ino were equal.
66661         * lib/hash-triple.c: Install <string.h>.
66662         (STREQ): Define.
66663         (triple_compare_ino_str): New function.
66664         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66665
66666 2007-09-28  Eric Blake  <ebb9@byu.net>
66667
66668         Enforce that AC_REPLACE_FUNCS files exist.
66669         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66670         override check for typos.
66671
66672         Fix test-closein on Solaris 10.
66673         * tests/test-closein.c (main): Don't assume stdin can be inherited
66674         closed on all systems.
66675         * tests/test-closein.sh: Likewise.
66676         Reported by Piotr Tarnowski.
66677
66678 2007-09-28  Jim Meyering  <jim@meyering.net>
66679
66680         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66681
66682 2007-09-27  Jim Meyering  <jim@meyering.net>
66683
66684         canonicalize: Avoid a false-positive cycle failure.
66685         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66686         Sort.  Remove cycle-check.
66687         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66688         not cycle-check.h.
66689         (seen_triple): New function.
66690         (canonicalize_filename_mode): Use it instead of cycle-check.
66691         * tests/test-canonicalize.c: Add a test for this bug.
66692         * tests/test-canonicalize.sh: Set up and run the test.
66693
66694         New module, file-set, from coreutils.
66695         * modules/file-set: Define it.
66696         * lib/file-set.c, lib/file-set.h: Implement.
66697
66698         New module, hash-triple, from coreutils.
66699         * modules/hash-triple: Define it.
66700         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66701
66702 2007-09-25  Eric Blake  <ebb9@byu.net>
66703
66704         Fix strerror on Interix.
66705         * lib/string_.h (strerror): Declare replacement.
66706         * doc/functions/strerror.texi (strerror): Document the Interix
66707         shortcoming.
66708         * modules/string (Makefile.am): Support new hooks.
66709         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66710         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66711         gl_FUNC_STRERROR_SEPARATE.
66712         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66713         * lib/strerror.c (rpl_strerror): Provide replacement.
66714         * modules/strerror (Depends-on): Add string.
66715         (configure.ac): Detect use of module.
66716         * tests/test-strerror.c: New file.
66717         * modules/strerror-tests: New test module.
66718         * modules/argp (Depends-on): Add strerror.
66719         * modules/error (Depends-on): Likewise.
66720         Reported by Martin Koeppe.
66721
66722 2007-09-24  Bruno Haible  <bruno@clisp.org>
66723
66724         * README: Update git instructions.
66725
66726 2007-09-24  Eric Blake  <ebb9@byu.net>
66727
66728         Revert fpending breakage from 2007-09-08.
66729         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66730         __fpending.c.
66731
66732 2007-09-24  Jim Meyering  <jim@meyering.net>
66733
66734         filenamecat.c: Add a test.
66735         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66736         showing how the function works when DIR is the empty string.
66737
66738 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66739
66740         * tests/test-canonicalize.sh: Turn on executable bit.
66741
66742 2007-09-19  Eric Blake  <ebb9@byu.net>
66743
66744         * README: Update CVS instructions.
66745
66746 2007-09-18  Bruno Haible  <bruno@clisp.org>
66747
66748         * modules/areadlink: New file.
66749         * lib/areadlink.h (areadlink): New declaration.
66750         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66751
66752 2007-09-17  Jim Meyering  <jim@meyering.net>
66753
66754         * lib/savewd.c (ESTALE) [!defined]: Define.
66755         Reported to be required on Interix by Martin Koeppe.
66756
66757 2007-09-17  Bruno Haible  <bruno@clisp.org>
66758
66759         * gnulib-tool (func_version): Use $version.
66760
66761 2007-09-16  Bruno Haible  <bruno@clisp.org>
66762
66763         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66764         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66765         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66766         Reported by Greg Schafer <gschafer@zip.com.au>.
66767
66768 2007-09-15  Bruno Haible  <bruno@clisp.org>
66769
66770         * gnulib-tool (sed): Try a little harder to make bash understand the
66771         alias.
66772         Reported by Bruce Korb <bruce.korb@gmail.com>.
66773
66774 2007-09-13  Eric Blake  <ebb9@byu.net>
66775
66776         * ChangeLog: Remove conflict markers.
66777
66778 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66779
66780         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66781         Reported by Bruno Haible <bruno@clisp.org>.
66782
66783 2007-09-12  Bruno Haible  <bruno@clisp.org>
66784
66785         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66786         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66787         is not defined.
66788
66789 2007-09-12  Eric Blake  <ebb9@byu.net>
66790
66791         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66792         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66793         Autoconf definition.
66794         * modules/euidaccess (Depends-on): Add extensions, for
66795         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66796         * modules/fnmatch (Depends-on): Likewise.
66797         * modules/getaddrinfo (Depends-on): Likewise.
66798         * modules/getdelim (Depends-on): Likewise.
66799         * modules/getline (Depends-on): Likewise.
66800         * modules/getsubopt (Depends-on): Likewise.
66801         * modules/gettext (Depends-on): Likewise.
66802         * modules/group-member (Depends-on): Likewise.
66803         * modules/mbchar (Depends-on): Likewise.
66804         * modules/memmem (Depends-on): Likewise.
66805         * modules/mempcpy (Depends-on): Likewise.
66806         * modules/memrchr (Depends-on): Likewise.
66807         * modules/pagealign_alloc (Depends-on): Likewise.
66808         * modules/readutmp (Depends-on): Likewise.
66809         * modules/stpcpy (Depends-on): Likewise.
66810         * modules/stpncpy (Depends-on): Likewise.
66811         * modules/strchrnul (Depends-on): Likewise.
66812         * modules/strndup (Depends-on): Likewise.
66813         * modules/strsep (Depends-on): Likewise.
66814         * modules/strverscmp (Depends-on): Likewise.
66815         * modules/vasprintf (Depends-on): Likewise.
66816         * modules/wcwidth (Depends-on): Likewise.
66817         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66818         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66819         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66820         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66821         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66822         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66823         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66824         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66825         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66826         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66827         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66828         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66829         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66830         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66831         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66832         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66833         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66834         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66835         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66836         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66837         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66838         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66839         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66840         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66841         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66842         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66843         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66844         so that lock.m4 can be used in gettext without extensions module.
66845
66846 2007-09-11  Bruno Haible  <bruno@clisp.org>
66847
66848         * m4/isc-posix.m4: Remove file.
66849         Suggested by Eric Blake.
66850
66851 2007-09-11  Eric Blake  <ebb9@byu.net>
66852
66853         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66854
66855 2007-09-10  Bruno Haible  <bruno@clisp.org>
66856
66857         * posix-modules: Fix typo in error message.
66858         Reported by Matt <mkraai@beckman.com>.
66859
66860 2007-09-09  Bruno Haible  <bruno@clisp.org>
66861
66862         * doc/functions/getdelim.texi: Update list of platforms lacking the
66863         function.
66864         * doc/functions/getline.texi: Likewise.
66865
66866 2007-09-09  Jim Meyering  <jim@meyering.net>
66867
66868         * lib/hash.c (hash_initialize): Detect calloc failure.
66869         Reported by Bruno Haible.
66870
66871 2007-09-09  Bruno Haible  <bruno@clisp.org>
66872
66873         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66874         malloc or realloc fails.
66875
66876 2007-09-09  Bruno Haible  <bruno@clisp.org>
66877
66878         * modules/getcwd (Depends-on): Add malloc-posix.
66879         * modules/glob (Depends-on): Likewise.
66880         * modules/putenv (Depends-on): Likewise.
66881         * modules/strdup (Depends-on): Likewise.
66882         * modules/getdelim (Depends-on): Add realloc-posix.
66883         * modules/read-file (Depends-on): Likewise.
66884
66885 2007-09-09  Bruno Haible  <bruno@clisp.org>
66886
66887         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66888         (gl_FUNC_MALLOC_POSIX): Require it.
66889         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66890         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66891         * modules/realloc (Files): Add m4/malloc.m4.
66892         * modules/calloc (Files): Likewise.
66893
66894 2007-09-09  Bruno Haible  <bruno@clisp.org>
66895
66896         * modules/malloc-posix: New file.
66897         * modules/malloc (Depends-on): Add malloc-posix.
66898         * lib/malloc.c: Include errno.h.
66899         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66900         and a POSIX-compatible malloc into a single function. Set ENOMEM
66901         when returning NULL.
66902         * m4/malloc.m4: New file.
66903         * doc/functions/malloc.texi: Mention the malloc-posix module.
66904         * lib/stdlib_.h (malloc): New declaration.
66905         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66906         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66907         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66908         and HAVE_MALLOC_POSIX.
66909
66910 2007-09-09  Bruno Haible  <bruno@clisp.org>
66911
66912         * modules/realloc-posix: New file.
66913         * modules/realloc (Depends-on): Add realloc-posix.
66914         * lib/realloc.c: Include errno.h.
66915         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66916         and a POSIX-compatible realloc into a single function. Set ENOMEM
66917         when returning NULL.
66918         * m4/realloc.m4: New file.
66919         * doc/functions/realloc.texi: Mention the realloc-posix module.
66920         * lib/stdlib_.h (realloc): New declaration.
66921         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66922         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66923         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66924         and HAVE_REALLOC_POSIX.
66925
66926 2007-09-09  Bruno Haible  <bruno@clisp.org>
66927
66928         * modules/calloc-posix: New file.
66929         * modules/calloc (Depends-on): Add calloc-posix.
66930         * lib/calloc.c: Include errno.h.
66931         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66932         and a POSIX-compatible calloc into a single function. Set ENOMEM
66933         when returning NULL.
66934         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66935         * doc/functions/calloc.texi: Mention the calloc-posix module.
66936         * lib/stdlib_.h (calloc): New declaration.
66937         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66938         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66939         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66940         and HAVE_CALLOC_POSIX.
66941
66942 2007-09-09  Bruno Haible  <bruno@clisp.org>
66943
66944         Allow for modules to show an arbitrary notice.
66945         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66946         * gnulib-tool: New option --extract-notice.
66947         (func_usage): Document it.
66948         (sed_extract_prog): Update.
66949         (func_get_notice): New function.
66950         (func_modules_notice): New function.
66951         (func_import, func_create_testdir): Invoke it.
66952         Suggested by Jim Meyering.
66953
66954 2007-09-09  Bruno Haible  <bruno@clisp.org>
66955
66956         * gnulib-tool: New options --verbose, --quiet.
66957         (func_usage): Document them.
66958         (verbose): New variable.
66959         (func_execute_command): New function.
66960         (func_import): Don't show the module list and the file list if
66961         $verbose < 0.
66962         (func_create_testdir): Likewise. Use func_execute_command.
66963         (func_create_megatestdir): Use func_execute_command.
66964
66965 2007-09-08  Bruno Haible  <bruno@clisp.org>
66966
66967         * gnulib-tool (func_import): Prefer rsync over wget when available,
66968         for fetching the PO files.
66969
66970 2007-09-08  Bruno Haible  <bruno@clisp.org>
66971
66972         * posix-modules: New file. Portions copied from gnulib-tool.
66973         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66974
66975 2007-09-08  Jim Meyering  <jim@meyering.net>
66976
66977         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66978         * lib/fpending.h: Rename from __fpending.h.
66979         * lib/fpending.c: Rename from __fpending.c.
66980         Include "fpending.h", not "__fpending.h".
66981         * lib/__fpending.h, lib/__fpending.c: Remove files.
66982         * modules/fpending (Files): Reflect new file names.
66983         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66984
66985 2007-09-08  Bruno Haible  <bruno@clisp.org>
66986
66987         * m4/inttypes-h.m4: Remove stub file.
66988
66989 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66990
66991         * doc/headers/stdint.texi: Discuss #include_next issue.
66992
66993 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66994
66995         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66996
66997 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66998
66999         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67000         in variable name.
67001
67002 2007-09-03  Jim Meyering  <jim@meyering.net>
67003
67004         New module: git-version-gen.
67005         * modules/git-version-gen: New file.
67006
67007         Import changes from coreutils for bootstrap script.
67008
67009         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67010
67011         bootstrap: uses rsync to download the .po files
67012         * build-aux/bootstrap (po_download_command_format): New global.
67013         (download_po_files): Use rsync.
67014         (update_po_files): Don't remove .po files after download,
67015         so future rsync runs can take advantage of the copies.
67016
67017         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67018
67019         Solve the unnecessary-.po-file-regeneration problem once and for all.
67020         * build-aux/bootstrap (download_po_files): New function, renamed from
67021         get_translations.  Now, downloads, but doesn't update LINGUAS.
67022         (update_po_files): New function.
67023
67024         bootstrap: Ignore more.
67025         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67026         uniwidth to e.g., lib/.gitignore.
67027         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67028
67029         * build-aux/bootstrap: New setting: vc_ignore.
67030         (insert_sorted_if_absent): Create $file if absent.
67031         Adapt to new, possibly empty, list: $vc_ignore.
67032
67033         bootstrap: generate more ignorable names
67034         * build-aux/bootstrap (slurp): When generating ignorable names,
67035         also map .sin to .sed, .gperf to .c, and .y to .c.
67036
67037 2007-09-03  Jim Meyering  <jim@meyering.net>
67038
67039         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67040         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67041
67042 2007-09-02  Bruno Haible  <bruno@clisp.org>
67043
67044         Fix mis-recognition of 'mcs' on QNX 6.
67045         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67046         output contains the string "Mono".
67047         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67048         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67049
67050 2007-09-01  Bruno Haible  <bruno@clisp.org>
67051
67052         Fix collision between uniwidth/* and linebreak modules.
67053         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67054         u32_width): Remove declarations.
67055         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67056         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67057         streq3, streq2, streq1, streq0): Remove functions.
67058         (STREQ): Remove macro.
67059         (is_cjk_encoding): Remove function.
67060         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67061         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67062         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67063         * NEWS: Document the change.
67064
67065 2007-09-01  Bruno Haible  <bruno@clisp.org>
67066
67067         * lib/streq.h: Add double-inclusion guard.
67068
67069 2007-09-01  Karl Berry  <karl@gnu.org>
67070
67071         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67072
67073 2007-08-28  Jim Meyering  <jim@meyering.net>
67074
67075         Rename mreadlink_with_size to areadlink_with_size.
67076         * NEWS: Document the change.
67077         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67078         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67079         * lib/mreadlink.h: Rename this to...
67080         * lib/areadlink.h: ...this.
67081         * modules/mreadlink-with-size: Rename this to...
67082         * modules/areadlink-with-size: ...this.
67083         * lib/canonicalize.c: Reflect the renaming.
67084         * modules/canonicalize: Likewise.
67085
67086 2007-08-26  Bruno Haible  <bruno@clisp.org>
67087
67088         * gnulib-tool (func_import): When deciding which files to remove,
67089         consider also dangling symbolic links.
67090         Reported by Eric Blake.
67091
67092 2007-08-26  Bruno Haible  <bruno@clisp.org>
67093
67094         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67095
67096 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67097
67098         * lib/readline.c: Don't include getline.h, the prototype is now
67099         found in stdio.h.
67100
67101 2007-08-23  Jim Meyering  <jim@meyering.net>
67102
67103         Getdelim touchup.
67104         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67105         around the funlockfile call, since funlockfile never sets errno.
67106         Don't set errno upon failed realloc.
67107
67108 2007-08-22  Eric Blake  <ebb9@byu.net>
67109
67110         Getline touchups.
67111         * lib/getdelim.c (getdelim): Revert regression that required *n to
67112         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67113         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67114         getdelim, rather than whether implementation is missing.
67115         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67116         * lib/stdio_.h (getline): Also declare if replacement is
67117         required.
67118         * doc/functions/getdelim.texi: New file.
67119         * doc/functions/getline.texi: Likewise.
67120         * doc/gnulib.texi (Function Substitutes): Add new files.
67121         Reported by Bruno Haible.
67122
67123 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67124
67125         * users.txt: Add Guile.
67126
67127 2007-08-22  Eric Blake  <ebb9@byu.net>
67128
67129         * tests/test-getdelim.c (main): Use remove, not unlink.
67130         * tests/test-getline.c (main): Likewise.
67131
67132         Move getline and getdelim into stdio.h, per POSIX 200x.
67133         * modules/getline (Files): Remove getline.h.
67134         (Depends-on): Add stdio.
67135         (configure.ac): Add module indicator.
67136         * modules/getdelim (Files): Remove getdelim.h.
67137         (Depends-on): Add stdio.
67138         (configure.ac): Add module indicator.
67139         * modules/stdio (Makefile.am): Work with new indicators.
67140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67141         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67142         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67143         * lib/getdelim.h: Delete.
67144         * lib/getline.h: Delete.
67145         * lib/stdio_.h (getdelim, getline): Declare.
67146         * modules/getdelim-tests: New module.
67147         * modules/getline-tests: Likewise.
67148         * tests/test-getdelim.c: New file.
67149         * tests/test-getline.c: Likewise.
67150         * NEWS: Document the change.
67151         * lib/getline.c: Update choice of header.
67152         * lib/csharpcomp.c: Likewise.
67153         * lib/getpass.c: Likewise.
67154         * lib/javacomp.c: Likewise.
67155         * lib/javaversion.c: Likewise.
67156         * lib/yesno.c: Likewise.
67157         * lib/getdelim.c: Likewise.
67158         (getdelim): Set errno on failure, and avoid memory leak.
67159
67160 2007-08-19  Bruno Haible  <bruno@clisp.org>
67161
67162         * modules/closein (Depends-on): Add freadahead.
67163         * lib/closein.c: Include freadahead.h.
67164         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67165         is zero.
67166
67167 2007-08-19  Bruno Haible  <bruno@clisp.org>
67168
67169         * modules/freadahead-tests: New file.
67170         * tests/test-freadahead.sh: New file.
67171         * tests/test-freadahead.c: New file.
67172
67173         * modules/freadahead: New file.
67174         * lib/freadahead.h: New file.
67175         * lib/freadahead.c: New file.
67176         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67177         fbufmode, fpurge, freadable, fwritable.
67178
67179 2007-08-19  Eric Blake  <ebb9@byu.net>
67180
67181         Test yesno in combination with closein.
67182         * lib/yesno.c (yesno): Document use of stdin.
67183         * modules/yesno-tests (Files): New module.
67184         * tests/test-yesno.c (main): New file.
67185         * tests/test-yesno.sh: Likewise.
67186
67187 2007-08-19  Bruno Haible  <bruno@clisp.org>
67188
67189         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67190         * lib/fseeko.c (rpl_fseeko): Likewise.
67191         * lib/fseterr.c (fseterr): Likewise.
67192
67193 2007-08-19  Bruno Haible  <bruno@clisp.org>
67194
67195         * tests/test-lseek.c (main): Disable a test for BeOS.
67196         * doc/functions/lseek.texi: Document the BeOS bug.
67197
67198 2007-08-19  Bruno Haible  <bruno@clisp.org>
67199             Eric Blake  <ebb9@byu.net>
67200
67201         * lib/lseek.c: Include <sys/stat.h>.
67202         (rpl_lseek): Add workaround code also for Unix platforms.
67203         Needed for BeOS.
67204         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67205         * doc/functions/lseek.texi: Document BeOS definiency.
67206
67207 2007-08-18  Bruno Haible  <bruno@clisp.org>
67208
67209         * modules/fstrcmp-tests: New file.
67210         * tests/test-fstrcmp.c: New file.
67211
67212 2007-08-18  Bruno Haible  <bruno@clisp.org>
67213
67214         * modules/fstrcmp: New file, from GNU gettext with modifications.
67215         * lib/fstrcmp.h: New file, from GNU gettext.
67216         * lib/fstrcmp.c: New file, from GNU gettext.
67217         * MODULES.html.sh (String handling): Add fstrcmp.
67218
67219 2007-08-18  Bruno Haible  <bruno@clisp.org>
67220
67221         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67222         'bool'.
67223         (diag, compareseq): Remove const from the ctxt argument.
67224         (USE_HEURISTIC): Undefine at the end.
67225
67226 2007-08-18  Jim Meyering  <jim@meyering.net>
67227
67228         New file: lib/idcache.h
67229         * NEWS: Mention the addition.
67230         * modules/idcache (Files): Add lib/idcache.h
67231         * lib/idcache.c: Include "idcache.h".
67232         Don't include <sys/types.h>.
67233         Add a FIXME comment.
67234         Move file-scoped "static" declarations to the top.
67235         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67236
67237 2007-08-17  Bruno Haible  <bruno@clisp.org>
67238         and Paul Eggert  <eggert@cs.ucla.edu>
67239
67240         * MODULES.html.sh: Add diffseq.
67241         * modules/diffseq: New file.
67242         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67243         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67244
67245 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67246
67247         Import changes from coreutils for bootstrap script.
67248
67249         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67250
67251         * build-aux/bootstrap (slurp): Work even in environments where
67252         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67253         current code does not slurp files whose names start with ".", and
67254         this looks like it might be a troublesome area.
67255
67256         2007-07-11  Jim Meyering  <jim@meyering.net>
67257
67258         If there's a GPL vN copyright comment, require that N == 3.
67259
67260         2007-07-08  Jim Meyering  <jim@meyering.net>
67261
67262         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67263         * build-aux/bootstrap (mam_template): Move definition out of loop.
67264
67265         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67266
67267         * build-aux/bootstrap (symlink_to_dir): Rename function from
67268         symlink_to_gnulib.  Add a directory parameter.  Update all
67269         callers.
67270         (cp_mark_as_generated): Also check for -- and link to -- files in
67271         gl/.
67272
67273         2007-07-08  Jim Meyering  <jim@meyering.net>
67274
67275         Adapt to deeper hierarchy in gnulib.
67276         * build-aux/bootstrap (symlink_to_dir): If the destination
67277         directory doesn't exist, create it. This is required at least for
67278         "lib/uniwidth/cjk.h".
67279
67280         2007-05-15  Jim Meyering  <jim@meyering.net>
67281
67282         * build-aux/bootstrap: Now that generated Makefile.am files
67283         are no longer under version control, they must be created at
67284         bootstrap time.
67285
67286 2007-08-14  Ben Pfaff  <blp@gnu.org>
67287
67288         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67289
67290 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67291
67292         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67293         given the changes below.
67294         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67295         even on hosts that have padding bits beyond the supported 64.
67296
67297 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67298
67299         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67300         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67301         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67302         depends on it.
67303         (xstrtol_error): Remove.
67304         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67305         but with a different signature.
67306         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67307         * lib/xstrtol-error.c: Include exitfail.h.
67308         (xstrtol_fatal): New function, with a different signature from the
67309         old xstrtol_error, so that the caller need not worry about passing
67310         in an exit status, or about storage management of the option argument.
67311         (xstrtol_error): Now a static function.  Redo signature to
67312         implement xstrtol_fatal.  Output the correct number of hyphens in
67313         front of the option so that the caller need not worry about
67314         storage management.
67315         (N_): New macro.
67316         (_): Remove; not used now.
67317         * modules/xstrtol: Depend on getopt.
67318         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67319         of old STRTOL_FATAL_ERROR macro.
67320         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67321         of test program.
67322         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67323         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67324
67325 2007-08-08  Eric Blake  <ebb9@byu.net>
67326
67327         * lib/xstrtol-error.c: Add missing include.
67328
67329         Move xstrtol messages into gnulib domain, when --pobase is used.
67330         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67331         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67332         * modules/xstrtol (Files): Distribute new file.
67333         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67334         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67335         * tests/test-xstrtol.c: ...into new file.
67336         * tests/test-xstrtoul.c: Also test xstrtoul.
67337         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67338         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67339         * tests/test-xstrtol.sh: Drive the tests.
67340         * tests/test-xstrtoimax.sh: Likewise.
67341         * tests/test-xstrtoumax.sh: Likewise.
67342         * modules/xstrtol-tests: New module.
67343         * modules/xstrtoimax-tests: Likewise.
67344         * modules/xstrtoumax-tests: Likewise.
67345
67346 2007-08-08  Jim Meyering  <jim@meyering.net>
67347
67348         New function: mfile_name_concat.
67349         * lib/filenamecat.c (mfile_name_concat): New function, just like
67350         file_name_concat, but return NULL upon failure rather than exiting
67351         with a diagnostic.
67352         * lib/filenamecat.h: Declare it.
67353
67354 2007-08-07  Bruno Haible  <bruno@clisp.org>
67355
67356         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67357         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67358         warning from gcc.
67359         Reported by Eric Blake.
67360
67361 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67362
67363         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67364         * modules/crypto/arcfour (License): Likewise.
67365         * modules/crypto/des-tests (License): Likewise.
67366         * modules/crypto/gc-arctwo-tests (License): Likewise.
67367         * modules/crypto/gc-des-tests (License): Likewise.
67368         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67369         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67370         * modules/crypto/gc-md2-tests (License): Likewise.
67371         * modules/crypto/gc-md4-tests (License): Likewise.
67372         * modules/crypto/gc-md5-tests (License): Likewise.
67373         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67374         * modules/crypto/gc-rijndael-tests (License): Likewise.
67375         * modules/crypto/gc-sha1-tests (License): Likewise.
67376         * modules/crypto/gc-tests (License): Likewise.
67377         * modules/crypto/hmac-md5 (License): Likewise.
67378         * modules/crypto/hmac-sha1 (License): Likewise.
67379         * modules/crypto/md2-tests (License): Likewise.
67380         * modules/crypto/md4-tests (License): Likewise.
67381         * modules/crypto/md5 (License): Likewise.
67382         * modules/crypto/rijndael (License): Likewise.
67383         * modules/crypto/sha1 (License): Likewise.
67384         * modules/memxor (License): Likewise.
67385
67386 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67387         and Bruno Haible  <bruno@clisp.org>
67388
67389         * NEWS: Describe interface changes to human, xstrtol.
67390         * lib/human.h: Include <xstrtol.h>.
67391         (human_options): Return enum strtol_error, not int.  Remove
67392         bool arg; take int * instead.
67393         * lib/human.c: Don't include "gettext.h".
67394         (_): Remove; no longer used.
67395         Don't include <xstrtol.h>, since human.h does it.
67396         (human_options): Adjust to abovementioned interface changes.
67397         Do not report error to stderr; that's now the caller's
67398         responsibility.
67399         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67400         interface change.
67401         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67402         Str, Argument_type_string.  All uses changed.  Put " argument"
67403         in diagnostics to make them clearer.  Change wording of suffix
67404         message for clarity.
67405         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67406         Argument_type_string.
67407         (STRTOL_FATAL_WARN): Remove; no longer used.
67408         * modules/human (Depends-on): Remove gettext-h.
67409
67410 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67411
67412         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67413
67414 2007-07-31  Bruno Haible  <bruno@clisp.org>
67415
67416         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67417         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67418         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67419
67420 2007-07-31  Bruno Haible  <bruno@clisp.org>
67421
67422         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67423         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67424
67425 2007-07-30  Bruno Haible  <bruno@clisp.org>
67426
67427         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67428         * modules/c-ctype (License): Likewise.
67429         * modules/c-strcase (License): Likewise.
67430         * modules/check-version (License): Likewise.
67431         * modules/iconv (License): Likewise.
67432         * modules/iconv_open (License): Likewise.
67433         * modules/read-file (License): Likewise.
67434         * modules/striconv (License): Likewise.
67435         * modules/strverscmp (License): Likewise.
67436         * modules/vasprintf (License): Likewise.
67437         * modules/crypto/des (License): Likewise.
67438         * modules/crypto/gc (License): Likewise.
67439         * modules/crypto/gc-arcfour (License): Likewise.
67440         * modules/crypto/gc-arctwo (License): Likewise.
67441         * modules/crypto/gc-des (License): Likewise.
67442         * modules/crypto/gc-hmac-md5 (License): Likewise.
67443         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67444         * modules/crypto/gc-md2 (License): Likewise.
67445         * modules/crypto/gc-md4 (License): Likewise.
67446         * modules/crypto/gc-md5 (License): Likewise.
67447         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67448         * modules/crypto/gc-random (License): Likewise.
67449         * modules/crypto/gc-rijndael (License): Likewise.
67450         * modules/crypto/gc-sha1 (License): Likewise.
67451         * modules/crypto/md2 (License): Likewise.
67452         * modules/crypto/md4 (License): Likewise.
67453
67454 2007-07-30  Jim Meyering  <jim@meyering.net>
67455
67456         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67457         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67458         it has valid stat data.  This bug would cause du not to count the
67459         sizes of inaccessible directories.
67460         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67461         in <http://bugzilla.redhat.com/250077>.
67462
67463 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67464             Bruno Haible  <bruno@clisp.org>
67465
67466         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67467         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67468         #include_next, gives a diagnostic about it, but reports no error in
67469         the exit code.
67470         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67471
67472 2007-07-24  Ben Pfaff  <blp@gnu.org>
67473
67474         Improve name: "count-one-bits" is better than "popcount".
67475         * MODULES.html.sh: Update name.
67476         * lib/popcount.h: Renamed lib/count-one-bits.h.
67477         (popcount): Renamed count_one_bits.
67478         (popcountl): Renamed count_one_bits_l.
67479         (popcountll): Renamed count_one_bits_ll.
67480         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67481         * modules/popcount: Renamed module/count-one-bits.
67482         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67483         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67484
67485 2007-07-23  Ben Pfaff  <blp@gnu.org>
67486
67487         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67488         better code generation, and add U to large constants to avoid
67489         warnings, in non-GCC case.
67490         Suggested by Bruno Haible.
67491
67492 2007-07-23  Ben Pfaff  <blp@gnu.org>
67493
67494         * lib/popcount.h: Use verify_true instead of if...abort.
67495         * modules/popcount: Depend on verify module.
67496         Suggested by Jim Meyering.
67497
67498 2007-07-23  Bruno Haible  <bruno@clisp.org>
67499
67500         * gnulib-tool (func_import): Create a .cvsignore file also when the
67501         directory is not yet in CVS but the toplevel directory is. When
67502         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67503         Reported by Karl Berry.
67504
67505 2007-07-22  Ben Pfaff  <blp@gnu.org>
67506
67507         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67508         case.
67509         Suggested by Eric Blake.
67510
67511 2007-07-22  Ben Pfaff  <blp@gnu.org>
67512
67513         New module: popcount.
67514         * MODULES.html.sh: Add popcount.
67515         * modules/popcount: New file.
67516         * modules/popcount-tests: New file.
67517         * tests/test-popcount.c: New file.
67518         * lib/popcount.h: New file.
67519         * m4/popcount.m4: New file.
67520
67521 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67522
67523         * build-aux/announce-gen: Update to GPLv3.
67524
67525         * build-aux/config.guess: Update from config.
67526
67527 2007-07-21  Bruno Haible  <bruno@clisp.org>
67528
67529         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67530         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67531
67532 2007-07-20  Jim Meyering  <jim@meyering.net>
67533
67534         * check-module: Diagnose a self-dependency.
67535
67536 2007-07-19  Bruno Haible  <bruno@clisp.org>
67537
67538         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67539         empty.
67540         Reported by Eric Blake.
67541
67542 2007-07-18  Bruno Haible  <bruno@clisp.org>
67543
67544         * gnulib-tool: New options --po-base, --po-domain.
67545         (func_usage): Document them.
67546         (pobase, po_domain): New variables.
67547         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67548         DEFAULT_TEXT_DOMAIN.
67549         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67550         (func_import): Consider pobase and po_domain. Create a po/ directory.
67551         (func_create_testdir): Set pobase and po_domain to empty.
67552         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67553         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67554
67555 2007-07-18  Bruno Haible  <bruno@clisp.org>
67556
67557         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67558         EXTRA_DIST augmentation for files in build-aux/.
67559
67560 2007-07-16  Bruno Haible  <bruno@clisp.org>
67561
67562         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67563         * modules/getdelim (License): Likewise.
67564
67565 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67566
67567         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67568         * modules/d-type (License): Likewise.
67569         * modules/extensions (License): Likewise.
67570         * modules/fnmatch (License): Likewise.
67571         * modules/fseeko (License): Likewise.
67572         * modules/getaddrinfo (License): Likewise.
67573         * modules/getline (License): Likewise.
67574         * modules/getlogin_r (License): Likewise.
67575         * modules/getpass (License): Likewise.
67576         * modules/gettimeofday (License): Likewise.
67577         * modules/glob (License): Likewise.
67578         * modules/inet_ntop (License): Likewise.
67579         * modules/malloc (License): Likewise.
67580         * modules/malloca (License): Likewise.
67581         * modules/memmem (License): Likewise.
67582         * modules/mempcpy (License): Likewise.
67583         * modules/memset (License): Likewise.
67584         * modules/minmax (License): Likewise.
67585         * modules/mktime (License): Likewise.
67586         * modules/netinet_in (License): Likewise.
67587         * modules/pathmax (License): Likewise.
67588         * modules/poll (License): Likewise.
67589         * modules/regex (License): Likewise.
67590         * modules/snprintf (License): Likewise.
67591         * modules/stdbool (License): Likewise.
67592         * modules/stdint (License): Likewise.
67593         * modules/stdio (License): Likewise.
67594         * modules/strcase (License): Likewise.
67595         * modules/strcasestr (License): Likewise.
67596         * modules/strdup (License): Likewise.
67597         * modules/string (License): Likewise.
67598         * modules/strndup (License): Likewise.
67599         * modules/strnlen (License): Likewise.
67600         * modules/strpbrk (License): Likewise.
67601         * modules/strptime (License): Likewise.
67602         * modules/strsep (License): Likewise.
67603         * modules/sys_select (License): Likewise.
67604         * modules/sys_socket (License): Likewise.
67605         * modules/sys_stat (License): Likewise.
67606         * modules/sys_time (License): Likewise.
67607         * modules/time (License): Likewise.
67608         * modules/time_r (License): Likewise.
67609         * modules/timegm (License): Likewise.
67610         * modules/unistd (License): Likewise.
67611         * modules/vsnprintf (License): Likewise.
67612         * modules/wctype (License): Likewise.
67613
67614 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67615
67616         * modules/argz (License): LGPLv2+.
67617
67618 2007-07-15  Karl Berry  <karl@gnu.org>
67619
67620         * doc/gnulib.texi: revise node structure per new fdl.texi.
67621
67622 2007-07-14  Bruno Haible  <bruno@clisp.org>
67623
67624         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67625         the output file.
67626         * lib/uniname/uninames.h: Regenerated.
67627
67628 2007-07-14  Karl Berry  <karl@gnu.org>
67629
67630         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67631         omitting sectioning and index commands.
67632
67633 2007-07-13  Bruno Haible  <bruno@clisp.org>
67634
67635         New gnulib-tool option --more-symlinks.
67636         * gnulib-tool (func_usage): Document --more-symlinks.
67637         (do_copyrights): New variable.
67638         Recognize option --more-symlinks.
67639         (func_import): Don't add a copyright notice transform to
67640         sed_transform_lib_file if do_copyrights is empty.
67641
67642 2007-07-13  Bruno Haible  <bruno@clisp.org>
67643
67644         * lib/vasnprintf.c (decimal_point_char): Define also if
67645         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67646         && !NEED_PRINTF_DIRECTIVE_A.
67647         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67648         Gary V. Vaughan <gary@gnu.org>.
67649
67650 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67651
67652         * lib/inttypes_.h: Undo previous change, since it was fixed
67653         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67654
67655 2007-07-13  Bruno Haible  <bruno@clisp.org>
67656
67657         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67658         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67659
67660 2007-07-13  Jim Meyering  <jim@meyering.net>
67661
67662         df: Don't fail for Tru64's "file-on-file mount".
67663         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67664         so we fall through and use statfs instead.  Details here:
67665         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67666         Reported by Albert Chin.
67667
67668 2007-07-13  Bruno Haible  <bruno@clisp.org>
67669
67670         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67671         * modules/configmake (License): Likewise.
67672         * modules/gettext (License): Likewise.
67673         * modules/gettext-h (License): Likewise.
67674         * modules/include_next (License): Likewise.
67675         * modules/link-warning (License): Likewise.
67676         * modules/localcharset (License): Likewise.
67677         * modules/localename (License): Likewise.
67678         * modules/lock (License): Likewise.
67679         * modules/relocatable-lib-lgpl (License): Likewise.
67680         * modules/size_max (License): Likewise.
67681         * modules/vasnprintf (License): Likewise.
67682         * modules/wchar (License): Likewise.
67683         * modules/xsize (License): Likewise.
67684
67685 2007-07-13  Bruno Haible  <bruno@clisp.org>
67686
67687         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67688         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67689
67690 2007-07-12  Bruno Haible  <bruno@clisp.org>
67691
67692         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67693         in the modules files.
67694
67695 2007-07-11  Karl Berry  <karl@gnu.org>
67696
67697         * MODULES.html.sh (func_module): use
67698          sed -e '\|^'"${includefile}"'$|d'
67699          instead of /.../d, to avoid errors on $includefile's containing /.
67700
67701 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67702
67703         * gnulib-tool (func_import): Avoid duplication of --avoid
67704         statements
67705         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67706         names to `_' in variable names.
67707
67708 2007-07-10  Eric Blake  <ebb9@byu.net>
67709
67710         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67711         * NEWS: Document this change.
67712
67713 2007-07-08  Bruno Haible  <bruno@clisp.org>
67714
67715         Update to Unicode 5.0.
67716         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67717         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67718         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67719         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67720         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67721         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67722         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67723         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67724         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67725         U+10A3F, U+1D242..U+1D244.
67726         (nonspacing_table_ind): Update.
67727         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67728         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67729
67730 2007-07-08  Bruno Haible  <bruno@clisp.org>
67731
67732         Update to Unicode 5.0.
67733         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67734         code transform. Extend the name index field of unicode_name_to_code and
67735         unicode_code_to_name from 16 to 24 bits.
67736         * lib/uniname/uniname.c (unicode_character_name,
67737         unicode_name_character): Add the range 0x12xxx to the code transform.
67738         * lib/uniname/uninames.h: Regenerated.
67739         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67740
67741 2007-07-07  Bruno Haible  <bruno@clisp.org>
67742
67743         * modules/wcwidth-tests: New file.
67744         * tests/test-wcwidth.c: New file.
67745
67746         Work around MacOS X wcwidth() bug.
67747         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67748         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67749         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67750         original wcwidth in non-UTF-8 locales.
67751         * modules/wcwidth (Depends-on): Add localcharset, streq,
67752         uniwidth/width.
67753         * doc/functions/wcwidth.texi: Update.
67754
67755 2007-07-07  Bruno Haible  <bruno@clisp.org>
67756
67757         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67758         (wcwidth): New declaration.
67759         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67760         macros.
67761         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67762         here. Prepare for creating <wchar.h> unconditionally.
67763         * modules/wchar (Depends-on): Add link-warning.
67764         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67765         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67766         * lib/wcwidth.h: Remove file.
67767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67768         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67769         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67770         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67771         (Include): Replace wcwidth.h with <wchar.h>.
67772         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67773         * lib/mbchar.h: Don't include wcwidth.h.
67774         * lib/mbswidth.c: Likewise.
67775         * NEWS: Mention the change.
67776
67777 2007-07-07  Bruno Haible  <bruno@clisp.org>
67778
67779         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67780         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67781         definition with an external declaration.
67782         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67783         defined as a function. Remove AC_C_INLINE requirement.
67784         * modules/wcwidth (Files): Add lib/wcwidth.c.
67785         (Makefile.am): Remove redundant statement.
67786
67787 2007-07-07  Bruno Haible  <bruno@clisp.org>
67788
67789         * MODULES.html.sh (Unicode string functions): Add the new modules.
67790
67791         * tests/uniwidth/test-u32-strwidth.c: New file.
67792         * modules/uniwidth/u32-strwidth-tests: New file.
67793
67794         * lib/uniwidth/u32-strwidth.c: New file.
67795         * modules/uniwidth/u32-strwidth: New file.
67796
67797         * tests/uniwidth/test-u16-strwidth.c: New file.
67798         * modules/uniwidth/u16-strwidth-tests: New file.
67799
67800         * lib/uniwidth/u16-strwidth.c: New file.
67801         * modules/uniwidth/u16-strwidth: New file.
67802
67803         * tests/uniwidth/test-u8-strwidth.c: New file.
67804         * modules/uniwidth/u8-strwidth-tests: New file.
67805
67806         * lib/uniwidth/u8-strwidth.c: New file.
67807         * modules/uniwidth/u8-strwidth: New file.
67808
67809         * tests/uniwidth/test-u32-width.c: New file.
67810         * modules/uniwidth/u32-width-tests: New file.
67811
67812         * lib/uniwidth/u32-width.c: New file.
67813         * modules/uniwidth/u32-width: New file.
67814
67815         * tests/uniwidth/test-u16-width.c: New file.
67816         * modules/uniwidth/u16-width-tests: New file.
67817
67818         * lib/uniwidth/u16-width.c: New file.
67819         * modules/uniwidth/u16-width: New file.
67820
67821         * tests/uniwidth/test-u8-width.c: New file.
67822         * modules/uniwidth/u8-width-tests: New file.
67823
67824         * lib/uniwidth/u8-width.c: New file.
67825         * modules/uniwidth/u8-width: New file.
67826
67827         * tests/uniwidth/test-uc_width.c: New file.
67828         * modules/uniwidth/width-tests: New file.
67829
67830         * lib/uniwidth/width.c: New file, from GNU libiconv.
67831         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67832         * modules/uniwidth/width: New file.
67833
67834         * lib/uniwidth.h: New file, from GNU libiconv.
67835         * modules/uniwidth/base: New file.
67836
67837 2007-07-07  Bruno Haible  <bruno@clisp.org>
67838
67839         * lib/uniname.h: New file, from GNU gettext.
67840         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67841         * lib/uniname/uninames.h: New file, from GNU gettext.
67842         * lib/uniname/uniname.c: New file, from GNU gettext.
67843         * tests/uniname/test-uninames.sh: New file.
67844         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67845         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67846         * modules/uniname/base: New file.
67847         * modules/uniname/uniname: New file.
67848         * modules/uniname/uniname-tests: New file.
67849         * MODULES.html.sh (Unicode string functions): Add the new modules.
67850
67851 2007-07-06  Bruno Haible  <bruno@clisp.org>
67852
67853         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67854
67855 2007-07-06  Bruno Haible  <bruno@clisp.org>
67856
67857         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67858         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67859         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67860         include <sys/time.h>.
67861         Reported by Eric Blake.
67862
67863 2007-07-06  Eric Blake  <ebb9@byu.net>
67864
67865         Fix testing canonicalize on cygwin.
67866         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67867         Revert patch from 2007-06-19.
67868         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67869         canonicalize module is also in use.
67870         * tests/test-canonicalize.c: New file.
67871         * tests/test-canonicalize.sh: Likewise.
67872         * modules/canonicalize-tests: Likewise.
67873
67874 2007-07-06  Jim Meyering  <jim@meyering.net>
67875
67876         * lib/getugroups.c (getugroups): Detect getgrent failure.
67877         Adjust comment to reflect reality: this function may return -1.
67878
67879 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67880
67881         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67882         the new TP address.
67883         (usage): Fix typo
67884         (gnulib_mk): New variable.
67885
67886 2007-07-05  Jim Meyering  <jim@meyering.net>
67887
67888         Don't let endgrent clobber errno, no matter how improbable.
67889         * lib/getugroups.c (getugroups): Save and restore errno around
67890         endgrent call.
67891
67892         Close the group DB even when failing with 2^31 or more members.
67893         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67894
67895 2007-07-04  Jim Meyering  <jim@meyering.net>
67896
67897         * lib/getugroups.h: New file.
67898         * lib/getugroups.c: Include "getugroups.h".
67899         Remove uses of "register" keyword.
67900         Move local variable, "cp", down into scope where used.
67901         Give "username" parameter the "const" attribute.
67902         * modules/getugroups (Files): Add lib/getugroups.h
67903
67904 2007-07-04  Karl Berry  <karl@gnu.org>
67905
67906         * MODULES.html.sh (func_all_modules): Complete rename of
67907         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67908
67909 2007-07-02  Bruno Haible  <bruno@clisp.org>
67910
67911         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67912         mode, when inttypes.h comes from gnulib.
67913         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67914
67915 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67916
67917         * NEWS: Mention lgpl module name change.
67918
67919         * modules/lgpl-2.1: Renamed from lgpl.
67920
67921         * NEWS: Mention gpl module name change.
67922
67923         * modules/gpl-3.0: New file, based on gpl-2.0.
67924
67925         * modules/gpl-2.0: Renamed from gpl.
67926
67927         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67928         doc/gpl-2.0.texi.
67929
67930 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67931
67932         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67933         #define __STDC_LIMIT_MACROS temporarily while including
67934         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67935         Problem reported by Joel E. Denny in
67936         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67937
67938 2007-07-01  Bruno Haible  <bruno@clisp.org>
67939
67940         * lib/unistdio.h: New file.
67941         * lib/unistdio/u-asnprintf.h: New file.
67942         * lib/unistdio/u-asprintf.h: New file.
67943         * lib/unistdio/u-printf-args.c: New file.
67944         * lib/unistdio/u-printf-args.h: New file.
67945         * lib/unistdio/u-printf-parse.h: New file.
67946         * lib/unistdio/u-snprintf.h: New file.
67947         * lib/unistdio/u-sprintf.h: New file.
67948         * lib/unistdio/u-vasprintf.h: New file.
67949         * lib/unistdio/u-vsnprintf.h: New file.
67950         * lib/unistdio/u-vsprintf.h: New file.
67951         * lib/unistdio/ulc-asnprintf.c: New file.
67952         * lib/unistdio/ulc-asprintf.c: New file.
67953         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67954         * lib/unistdio/ulc-printf-parse.c: New file.
67955         * lib/unistdio/ulc-snprintf.c: New file.
67956         * lib/unistdio/ulc-sprintf.c: New file.
67957         * lib/unistdio/ulc-vasnprintf.c: New file.
67958         * lib/unistdio/ulc-vasprintf.c: New file.
67959         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67960         * lib/unistdio/ulc-vsnprintf.c: New file.
67961         * lib/unistdio/ulc-vsprintf.c: New file.
67962         * lib/unistdio/u8-asnprintf.c: New file.
67963         * lib/unistdio/u8-asprintf.c: New file.
67964         * lib/unistdio/u8-printf-parse.c: New file.
67965         * lib/unistdio/u8-snprintf.c: New file.
67966         * lib/unistdio/u8-sprintf.c: New file.
67967         * lib/unistdio/u8-vasnprintf.c: New file.
67968         * lib/unistdio/u8-vasprintf.c: New file.
67969         * lib/unistdio/u8-vsnprintf.c: New file.
67970         * lib/unistdio/u8-vsprintf.c: New file.
67971         * lib/unistdio/u8-u8-asnprintf.c: New file.
67972         * lib/unistdio/u8-u8-asprintf.c: New file.
67973         * lib/unistdio/u8-u8-snprintf.c: New file.
67974         * lib/unistdio/u8-u8-sprintf.c: New file.
67975         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67976         * lib/unistdio/u8-u8-vasprintf.c: New file.
67977         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67978         * lib/unistdio/u8-u8-vsprintf.c: New file.
67979         * lib/unistdio/u16-asnprintf.c: New file.
67980         * lib/unistdio/u16-asprintf.c: New file.
67981         * lib/unistdio/u16-printf-parse.c: New file.
67982         * lib/unistdio/u16-snprintf.c: New file.
67983         * lib/unistdio/u16-sprintf.c: New file.
67984         * lib/unistdio/u16-vasnprintf.c: New file.
67985         * lib/unistdio/u16-vasprintf.c: New file.
67986         * lib/unistdio/u16-vsnprintf.c: New file.
67987         * lib/unistdio/u16-vsprintf.c: New file.
67988         * lib/unistdio/u16-u16-asnprintf.c: New file.
67989         * lib/unistdio/u16-u16-asprintf.c: New file.
67990         * lib/unistdio/u16-u16-snprintf.c: New file.
67991         * lib/unistdio/u16-u16-sprintf.c: New file.
67992         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67993         * lib/unistdio/u16-u16-vasprintf.c: New file.
67994         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67995         * lib/unistdio/u16-u16-vsprintf.c: New file.
67996         * lib/unistdio/u32-asnprintf.c: New file.
67997         * lib/unistdio/u32-asprintf.c: New file.
67998         * lib/unistdio/u32-printf-parse.c: New file.
67999         * lib/unistdio/u32-snprintf.c: New file.
68000         * lib/unistdio/u32-sprintf.c: New file.
68001         * lib/unistdio/u32-vasnprintf.c: New file.
68002         * lib/unistdio/u32-vasprintf.c: New file.
68003         * lib/unistdio/u32-vsnprintf.c: New file.
68004         * lib/unistdio/u32-vsprintf.c: New file.
68005         * lib/unistdio/u32-u32-asnprintf.c: New file.
68006         * lib/unistdio/u32-u32-asprintf.c: New file.
68007         * lib/unistdio/u32-u32-snprintf.c: New file.
68008         * lib/unistdio/u32-u32-sprintf.c: New file.
68009         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68010         * lib/unistdio/u32-u32-vasprintf.c: New file.
68011         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68012         * lib/unistdio/u32-u32-vsprintf.c: New file.
68013         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68014         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68015         * tests/unistdio/test-ulc-printf1.h: New file.
68016         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68017         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68018         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68019         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68020         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68021         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68022         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68023         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68024         * tests/unistdio/test-u8-asnprintf1.c: New file.
68025         * tests/unistdio/test-u8-asnprintf1.h: New file.
68026         * tests/unistdio/test-u8-printf1.h: New file.
68027         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68028         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68029         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68030         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68031         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68032         * tests/unistdio/test-u8-vasprintf1.c: New file.
68033         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68034         * tests/unistdio/test-u8-vsprintf1.c: New file.
68035         * tests/unistdio/test-u16-asnprintf1.c: New file.
68036         * tests/unistdio/test-u16-asnprintf1.h: New file.
68037         * tests/unistdio/test-u16-printf1.h: New file.
68038         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68039         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68040         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68041         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68042         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68043         * tests/unistdio/test-u16-vasprintf1.c: New file.
68044         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68045         * tests/unistdio/test-u16-vsprintf1.c: New file.
68046         * tests/unistdio/test-u32-asnprintf1.c: New file.
68047         * tests/unistdio/test-u32-asnprintf1.h: New file.
68048         * tests/unistdio/test-u32-printf1.h: New file.
68049         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68050         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68051         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68052         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68053         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68054         * tests/unistdio/test-u32-vasprintf1.c: New file.
68055         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68056         * tests/unistdio/test-u32-vsprintf1.c: New file.
68057         * modules/unistdio/base: New file.
68058         * modules/unistdio/u-printf-args: New file.
68059         * modules/unistdio/ulc-asnprintf: New file.
68060         * modules/unistdio/ulc-asprintf: New file.
68061         * modules/unistdio/ulc-fprintf: New file.
68062         * modules/unistdio/ulc-printf-parse: New file.
68063         * modules/unistdio/ulc-snprintf: New file.
68064         * modules/unistdio/ulc-sprintf: New file.
68065         * modules/unistdio/ulc-vasnprintf: New file.
68066         * modules/unistdio/ulc-vasprintf: New file.
68067         * modules/unistdio/ulc-vfprintf: New file.
68068         * modules/unistdio/ulc-vsnprintf: New file.
68069         * modules/unistdio/ulc-vsprintf: New file.
68070         * modules/unistdio/u8-asnprintf: New file.
68071         * modules/unistdio/u8-asprintf: New file.
68072         * modules/unistdio/u8-printf-parse: New file.
68073         * modules/unistdio/u8-snprintf: New file.
68074         * modules/unistdio/u8-sprintf: New file.
68075         * modules/unistdio/u8-vasnprintf: New file.
68076         * modules/unistdio/u8-vasprintf: New file.
68077         * modules/unistdio/u8-vsnprintf: New file.
68078         * modules/unistdio/u8-vsprintf: New file.
68079         * modules/unistdio/u8-u8-asnprintf: New file.
68080         * modules/unistdio/u8-u8-asprintf: New file.
68081         * modules/unistdio/u8-u8-snprintf: New file.
68082         * modules/unistdio/u8-u8-sprintf: New file.
68083         * modules/unistdio/u8-u8-vasnprintf: New file.
68084         * modules/unistdio/u8-u8-vasprintf: New file.
68085         * modules/unistdio/u8-u8-vsnprintf: New file.
68086         * modules/unistdio/u8-u8-vsprintf: New file.
68087         * modules/unistdio/u16-asnprintf: New file.
68088         * modules/unistdio/u16-asprintf: New file.
68089         * modules/unistdio/u16-printf-parse: New file.
68090         * modules/unistdio/u16-snprintf: New file.
68091         * modules/unistdio/u16-sprintf: New file.
68092         * modules/unistdio/u16-vasnprintf: New file.
68093         * modules/unistdio/u16-vasprintf: New file.
68094         * modules/unistdio/u16-vsnprintf: New file.
68095         * modules/unistdio/u16-vsprintf: New file.
68096         * modules/unistdio/u16-u16-asnprintf: New file.
68097         * modules/unistdio/u16-u16-asprintf: New file.
68098         * modules/unistdio/u16-u16-snprintf: New file.
68099         * modules/unistdio/u16-u16-sprintf: New file.
68100         * modules/unistdio/u16-u16-vasnprintf: New file.
68101         * modules/unistdio/u16-u16-vasprintf: New file.
68102         * modules/unistdio/u16-u16-vsnprintf: New file.
68103         * modules/unistdio/u16-u16-vsprintf: New file.
68104         * modules/unistdio/u32-asnprintf: New file.
68105         * modules/unistdio/u32-asprintf: New file.
68106         * modules/unistdio/u32-printf-parse: New file.
68107         * modules/unistdio/u32-snprintf: New file.
68108         * modules/unistdio/u32-sprintf: New file.
68109         * modules/unistdio/u32-vasnprintf: New file.
68110         * modules/unistdio/u32-vasprintf: New file.
68111         * modules/unistdio/u32-vsnprintf: New file.
68112         * modules/unistdio/u32-vsprintf: New file.
68113         * modules/unistdio/u32-u32-asnprintf: New file.
68114         * modules/unistdio/u32-u32-asprintf: New file.
68115         * modules/unistdio/u32-u32-snprintf: New file.
68116         * modules/unistdio/u32-u32-sprintf: New file.
68117         * modules/unistdio/u32-u32-vasnprintf: New file.
68118         * modules/unistdio/u32-u32-vasprintf: New file.
68119         * modules/unistdio/u32-u32-vsnprintf: New file.
68120         * modules/unistdio/u32-u32-vsprintf: New file.
68121         * modules/unistdio/ulc-asnprintf-tests: New file.
68122         * modules/unistdio/ulc-vasnprintf-tests: New file.
68123         * modules/unistdio/ulc-vasprintf-tests: New file.
68124         * modules/unistdio/ulc-vsnprintf-tests: New file.
68125         * modules/unistdio/ulc-vsprintf-tests: New file.
68126         * modules/unistdio/u8-asnprintf-tests: New file.
68127         * modules/unistdio/u8-vasnprintf-tests: New file.
68128         * modules/unistdio/u8-vasprintf-tests: New file.
68129         * modules/unistdio/u8-vsnprintf-tests: New file.
68130         * modules/unistdio/u8-vsprintf-tests: New file.
68131         * modules/unistdio/u16-asnprintf-tests: New file.
68132         * modules/unistdio/u16-vasnprintf-tests: New file.
68133         * modules/unistdio/u16-vasprintf-tests: New file.
68134         * modules/unistdio/u16-vsnprintf-tests: New file.
68135         * modules/unistdio/u16-vsprintf-tests: New file.
68136         * modules/unistdio/u32-asnprintf-tests: New file.
68137         * modules/unistdio/u32-vasnprintf-tests: New file.
68138         * modules/unistdio/u32-vasprintf-tests: New file.
68139         * modules/unistdio/u32-vsnprintf-tests: New file.
68140         * modules/unistdio/u32-vsprintf-tests: New file.
68141         * MODULES.html.sh (Unicode string functions): Add the new modules.
68142
68143 2007-07-01  Bruno Haible  <bruno@clisp.org>
68144
68145         * lib/sprintf.c (sprintf): Limit the available length estimation,
68146         to avoid address wraparound.
68147         * lib/vsprintf.c (vsprintf): Likewise.
68148         * modules/sprintf-posix (Dependencies): Add stdint.
68149         * modules/vsprintf-posix (Dependencies): Likewise.
68150
68151 2007-07-01  Bruno Haible  <bruno@clisp.org>
68152
68153         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68154         Windows PATH as well. Conservative double-quoting. Comments.
68155
68156 2007-07-01  Bruno Haible  <bruno@clisp.org>
68157             Eric Blake  <ebb9@byu.net>
68158             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68159
68160         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68161         empty components in $PATH, denoting '.'.
68162
68163 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68164
68165         * gnulib-tool: Fix indentation.
68166         (func_create_megatestdir): Likewise.
68167         Report by Bruno Haible.
68168
68169 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68170
68171         Sync from Automake.
68172         * build-aux/gnupload: Fix shell portability issues with for loops.
68173         Report by Karl Berry.
68174
68175 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68176
68177         * build-aux/maint.mk (POURL): Use translationproject.org.
68178
68179 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68180             Bruno Haible  <bruno@clisp.org>
68181
68182         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68183         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68184         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68185         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68186         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68187
68188 2007-06-27  Bruno Haible  <bruno@clisp.org>
68189
68190         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68191         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68192
68193 2007-06-26  Karl Berry  <karl@gnu.org>
68194
68195         * MODULES.html.sh: remove xreadlink-with-size.
68196
68197 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68198
68199         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68200         method that I hope also handles the double-include problem noted
68201         by Bruno Haible in
68202         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68203
68204 2007-06-23  Bruno Haible  <bruno@clisp.org>
68205
68206         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68207         Don't let the 'mostlyclean' target fail if the last subdirectory could
68208         not be removed.
68209         Reported by Karl Berry.
68210
68211 2007-06-23  Bruno Haible  <bruno@clisp.org>
68212
68213         * gnulib-tool (echo): Add a speedier workaround for ksh.
68214         * tests/test-echo.sh: Likewise.
68215
68216 2007-06-23  Bruno Haible  <bruno@clisp.org>
68217
68218         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68219         * tests/test-echo.sh: Likewise.
68220
68221 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68222
68223         * gnulib-tool (IFS): Initialize early, so we don't set it to
68224         empty later.
68225         (self_abspathname): Rewrite algorithm to set it, reindent.
68226         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68227         (func_create_megatestdir): Merge some sed scripts.
68228
68229 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68230
68231         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68232         exposed by Sun Studio 11 cc on Solaris 8.
68233
68234 2007-06-22  Bruno Haible  <bruno@clisp.org>
68235
68236         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68237         backslashes.
68238         * tests/test-echo.sh: New file.
68239
68240 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68241
68242         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68243         simplify `sed_replace_build_aux' scripts, they are portable but
68244         echoing them with `echo' is not.
68245         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68246
68247 2007-06-21  Karl Berry  <karl@gnu.org>
68248
68249         * config/srclist.txt: guess we can't handle the licenses via
68250         srclist at the moment.
68251
68252 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68253
68254         * MODULES.html.sh: Add include_next.
68255         * modules/include_next: New file.
68256
68257 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68258
68259         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68260         INCLUDE_NEXT.
68261         (gl_CHECK_NEXT_HEADERS): New macro.
68262         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68263         the obsolescent gl_ABSOLUTE_HEADER.
68264         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68265         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68266         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68267         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68268         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68269         * m4/math_h.m4 (gl_MATH_H): Likewise.
68270         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68271         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68272         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68273         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68274         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68275         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68276         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68277         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68278         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68279         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68280         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68281         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68282         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68283         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68284         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68285         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68286         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68287         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68288         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68289         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68290         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68291         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68292         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68293         * lib/float_.h: Likewise.
68294         * lib/inttypes_.h: Likewise.
68295         * lib/math_.h: Likewise.
68296         * lib/search_.h: Likewise.
68297         * lib/signal_.h: Likewise.
68298         * lib/stdint_.h: Likewise.
68299         * lib/stdio_.h: Likewise.
68300         * lib/stdlib_.h: Likewise.
68301         * lib/string_.h: Likewise.
68302         * lib/sys_stat_.h: Likewise.
68303         * lib/sys_time_.h: Likewise.
68304         * lib/time_.h: Likewise.
68305         * lib/unistd_.h: Likewise.
68306         * lib/wchar_.h: Likewise.
68307         * lib/wctype_.h: Likewise.
68308         * lib/dirent_.h: Likewise.
68309         * lib/iconv_.h: Likewise.
68310         * lib/locale_.h: Likewise.
68311         * lib/netinet_in_.h: Likewise.
68312         * lib/sys_select_.h: Likewise.
68313         * lib/sys_socket_.h: Likewise.
68314         * lib/sysexits_.h: Likewise.
68315         * modules/fcntl (Depends-on): Depend on include_next, not
68316         absolute_header.
68317         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68318         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68319         * modules/fchdir: Likewise.
68320         * modules/float: Likewise.
68321         * modules/iconv_open: Likewise.
68322         * modules/inttypes: Likewise.
68323         * modules/locale: Likewise.
68324         * modules/math: Likewise.
68325         * modules/netinet_in: Likewise.
68326         * modules/search: Likewise.
68327         * modules/signal: Likewise.
68328         * modules/stdint: Likewise.
68329         * modules/stdio: Likewise.
68330         * modules/stdlib: Likewise.
68331         * modules/string: Likewise.
68332         * modules/sys_select: Likewise.
68333         * modules/sys_socket: Likewise.
68334         * modules/sys_stat: Likewise.
68335         * modules/sys_time: Likewise.
68336         * modules/sysexits: Likewise.
68337         * modules/time: Likewise.
68338         * modules/unistd: Likewise.
68339         * modules/wchar: Likewise.
68340         * modules/wctype: Likewise.
68341         * modules/sys_stat: Change maintainer to "all".
68342         * modules/unistd: Likewise.
68343
68344 2007-06-20  Karl Berry  <karl@gnu.org>
68345
68346         * config/srclist.txt: track www changes in license files.
68347
68348 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68349
68350         * build-aux/bootstrap: Remove stray dot.
68351         Make sure build_aux settings are honored when linking
68352         gnulib_extra_files.
68353
68354 2007-06-19  Eric Blake  <ebb9@byu.net>
68355
68356         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68357         Allow compilation on cygwin.
68358
68359 2007-06-19  Jim Meyering  <jim@meyering.net>
68360
68361         xreadlink-with-size: Remove module.  No longer used.
68362         Ex-callers now use xreadlink or mreadlink-with-size.
68363         * modules/xreadlink-with-size: Remove module.
68364         * lib/xreadlink-with-size.c: Remove file.
68365         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68366         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68367         just before the function definition *is* accurate.
68368
68369         Eliminate one way canonicalize_filename_mode could exit.
68370         * lib/canonicalize.c (canonicalize_filename_mode):
68371         Use mreadlink_with_size, not xreadlink_with_size.
68372
68373 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68374
68375         Detect porting problems to FreeBSD/arm, which has time_t wider than
68376         long int.  Original problem reported for GNU diff by Xin Li in
68377         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68378         * modules/getdate (Depends-on): Add intprops, verify.
68379         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68380         is an integer type no wider than long int.
68381
68382 2007-06-18  Jim Meyering  <jim@meyering.net>
68383
68384         New module: mreadlink-with-size.
68385         * MODULES.html.sh: Add mreadlink-with-size.
68386         * modules/mreadlink-with-size: New module
68387         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68388         not xreadlink-with-size.
68389         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68390
68391 2007-06-16  Bruno Haible  <bruno@clisp.org>
68392
68393         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68394         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68395         Reported by Gary V. Vaughan <gary@gnu.org>.
68396
68397 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68398
68399         Revamp lchown so that it lives in unistd.h where it belongs.
68400         * lib/lchown.h: Remove.
68401         * lib/dirchownmod.c: Don't include lib/lchown.h.
68402         * lib/fchownat.c: Likewise.
68403         * lib/openat.c: Likewise.
68404         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68405         does not follow symlinks.
68406         (EOPNOTSUPP): Define if not defined.
68407         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68408         is defined to 0.
68409         (lchown): New decl.
68410         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68411         Do not check for lchown decl.
68412         Set REPLACE_LCHOWN.
68413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68414         REPLACE_LCHOWN.
68415         * modules/chown: Make it clear it follows symlinks.
68416         * modules/lchown: Make it clear it doesn't follow symlinks.
68417         (Files): Remove lib/lchown.h
68418         (Depends-on): Add unistd.
68419         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68420         (Include): Include <unistd.h>, not "lchown.h".
68421         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68422         REPLACE_LCHOWN.
68423
68424 2007-06-15  Jim Meyering  <jim@meyering.net>
68425
68426         Change license (GPL to LGPL) of fsusage and dependents.
68427         * modules/fsusage (License): Change to LGPL.
68428         * modules/full-read (License): Likewise.
68429         * modules/full-write (License): Likewise.
68430         * modules/safe-read (License): Likewise.
68431         * modules/safe-write (License): Likewise.
68432
68433 2007-06-14  Ben Pfaff  <blp@gnu.org>
68434
68435         Missing part of allocsa -> malloca transition.
68436         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68437         gl_MALLOCA.
68438
68439 2007-06-12  Bruno Haible  <bruno@clisp.org>
68440
68441         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68442         to ia64, x86_64, i386.
68443         Reported by Eric Blake.
68444
68445 2007-06-12  Bruno Haible  <bruno@clisp.org>
68446
68447         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68448         cross-compiling to x86_64.
68449
68450 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68451
68452         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68453         glitch reported by Ralf Wildenhues in
68454         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68455
68456         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68457         Vin Shelton.
68458
68459 2007-06-11  Bruno Haible  <bruno@clisp.org>
68460
68461         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68462         replacement string.
68463         Reported by Eric Blake.
68464
68465 2007-06-10  Bruno Haible  <bruno@clisp.org>
68466
68467         Prepare vasnprintf code for use with Unicode strings.
68468         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68469         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68470         TYPE_U32_STRING.
68471         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68472         a_u32_string variants.
68473         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68474         * lib/printf-args.c: Don't include config.h and the specification
68475         header if PRINTF_FETCHARGS is already defined.
68476         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68477         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68478         TYPE_U16_STRING, TYPE_U32_STRING.
68479         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68480         u16_directive, u16_directives, u32_directive, u32_directives): New
68481         types.
68482         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68483         New declarations.
68484         * lib/printf-parse.c: Don't include config.h and the specification
68485         header if PRINTF_PARSE is already defined. Eliminate the set of
68486         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68487         them now. Include c-ctype.h.
68488         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68489         directive and CHAR_T_ONLY_ASCII.
68490         * lib/vasnprintf.c: Don't include config.h and the specification header
68491         if VASNPRINTF is already defined.
68492         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68493         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68494         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68495         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68496         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68497         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68498         code accordingly.
68499         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68500         pad_ourselves also in this case, with the 'c' and 's' directives, and
68501         with a different notion of "width".
68502         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68503
68504 2007-06-10  Bruno Haible  <bruno@clisp.org>
68505
68506         * modules/unistr/u32-mbsnlen: New file.
68507         * lib/unistr/u32-mbsnlen.c: New file.
68508
68509         * modules/unistr/u16-mbsnlen: New file.
68510         * lib/unistr/u16-mbsnlen.c: New file.
68511
68512         * modules/unistr/u8-mbsnlen: New file.
68513         * lib/unistr/u8-mbsnlen.c: New file.
68514
68515         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68516         declarations.
68517
68518 2007-06-10  Bruno Haible  <bruno@clisp.org>
68519
68520         * lib/string_.h (mbsnlen): New declaration.
68521         * lib/mbsnlen.c: New file.
68522         * m4/mbsnlen.m4: New file.
68523         * modules/mbsnlen: New file.
68524         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68525         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68526         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68527
68528 2007-06-10  Bruno Haible  <bruno@clisp.org>
68529
68530         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68531
68532 2007-06-10  Bruno Haible  <bruno@clisp.org>
68533
68534         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68535         * lib/mbuiter.h: Likewise.
68536
68537 2007-06-10  Bruno Haible  <bruno@clisp.org>
68538
68539         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68540         declaration.
68541
68542 2007-06-10  Karl Berry  <karl@gnu.org>
68543
68544         * config/srclist.txt: remove gettext entries, Bruno prefers
68545         to update individually.
68546
68547 2007-06-10  Bruno Haible  <bruno@clisp.org>
68548
68549         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68550         'maxlen'. Ensure only length + width bytes are allocated, not
68551         length + 1 + width.
68552
68553 2007-06-09  Bruno Haible  <bruno@clisp.org>
68554
68555         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68556         (CHAR_T): Remove macro.
68557         (VASNPRINTF): Update.
68558
68559 2007-06-09  Bruno Haible  <bruno@clisp.org>
68560
68561         * MODULES.html.sh (Unicode string functions): Add the new modules.
68562
68563         * modules/uniconv/u32-conv-to-enc: New file.
68564         * lib/uniconv/u32-conv-to-enc.c: New file.
68565         * modules/uniconv/u32-conv-to-enc-tests: New file.
68566         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68567
68568         * modules/uniconv/u16-conv-to-enc: New file.
68569         * lib/uniconv/u16-conv-to-enc.c: New file.
68570         * lib/uniconv/u-conv-to-enc.h: New file.
68571         * modules/uniconv/u16-conv-to-enc-tests: New file.
68572         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68573
68574         * modules/uniconv/u8-conv-to-enc: New file.
68575         * lib/uniconv/u8-conv-to-enc.c: New file.
68576         * modules/uniconv/u8-conv-to-enc-tests: New file.
68577         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68578
68579         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68580         u32_conv_to_encoding): New declarations.
68581
68582 2007-06-09  Bruno Haible  <bruno@clisp.org>
68583
68584         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68585
68586 2007-06-09  Bruno Haible  <bruno@clisp.org>
68587
68588         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68589         * modules/malloca: Renamed from modules/allocsa, updated.
68590         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68591         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68592         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68593         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68594         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68595         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68596         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68597         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68598         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68599         * modules/c-strcasestr (Depends-on): Update.
68600         * lib/c-strcasestr.c: Update.
68601         * modules/c-strstr (Depends-on): Update.
68602         * lib/c-strstr.c: Update.
68603         * modules/canonicalize-lgpl (Depends-on): Update.
68604         * lib/canonicalize-lgpl.c: Update.
68605         * modules/clean-temp (Depends-on): Update.
68606         * lib/clean-temp.c: Update.
68607         * modules/csharpcomp (Depends-on): Update.
68608         * lib/csharpcomp.c: Update.
68609         * modules/csharpexec (Depends-on): Update.
68610         * lib/csharpexec.c: Update.
68611         * modules/javacomp (Depends-on): Update.
68612         * lib/javacomp.c: Update.
68613         * modules/javaexec (Depends-on): Update.
68614         * lib/javaexec.c: Update.
68615         * modules/mbscasestr (Depends-on): Update.
68616         * lib/mbscasestr.c: Update.
68617         * modules/mbsstr (Depends-on): Update.
68618         * lib/mbsstr.c: Update.
68619         * modules/setenv (Depends-on): Update.
68620         * lib/setenv.c: Update.
68621         * modules/strcasestr (Depends-on): Update.
68622         * lib/strcasestr.c: Update.
68623         * modules/striconveha (Depends-on): Update.
68624         * lib/striconveha.c: Update.
68625         * modules/relocatable-prog-wrapper (Files): Update.
68626         * lib/relocwrapper.c: Update.
68627         * build-aux/install-reloc: Update.
68628         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68629
68630 2007-06-08  Bruno Haible  <bruno@clisp.org>
68631
68632         Port to uClibc.
68633         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68634         * lib/fpurge.c (fpurge): Likewise.
68635         * lib/freading.c (freading): Likewise.
68636         * lib/fseeko.c (rpl_fseeko): Likewise.
68637         * lib/fseterr.c (fseterr): Likewise.
68638         * lib/fwriting.c (fwriting): Likewise.
68639         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68640
68641 2007-06-08  Bruno Haible  <bruno@clisp.org>
68642
68643         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68644         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68645         * modules/gettext (Files): Add m4/intlmacosx.m4.
68646
68647 2007-06-07  Bruno Haible  <bruno@clisp.org>
68648
68649         * modules/localename-tests: New file.
68650         * tests/test-localename.c: New file.
68651
68652         New module 'localename'.
68653         * lib/localename.h: New file.
68654         * lib/localename.c: New file, from GNU gettext.
68655         * m4/localename.m4: New file.
68656         * modules/localename: New file.
68657
68658 2007-06-07  Bruno Haible  <bruno@clisp.org>
68659
68660         Work around the lack of <wchar.h> on some builds of uClibc.
68661         * doc/headers/wchar.texi: Update.
68662         * lib/wchar_.h: Include <wchar.h> only if it exists.
68663         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68664         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68665         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68666         doesn't exist.
68667         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68668         * modules/mbfile (Depends-on): Add wchar.
68669         * modules/mbiter (Depends-on): Likewise.
68670         * modules/mbuiter (Depends-on): Likewise.
68671         Reported by Simon Josefsson.
68672
68673 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68674
68675         Work around problem reported by Steven M. Schweda in
68676         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68677         Tru64 5.1B with the Compaq compiler environment installed declares
68678         an 'isblank' function but does not define it in the C library.
68679         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68680         * lib/regex_internal.h (isblank): Likewise.
68681         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68682         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68683
68684 2007-06-05  Bruno Haible  <bruno@clisp.org>
68685
68686         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68687         ia64.
68688         * modules/printf-safe: New file.
68689         * modules/fprintf-posix (Depends-on): Add printf-safe.
68690         * modules/printf-posix (Depends-on): Likewise.
68691         * modules/snprintf-posix (Depends-on): Likewise.
68692         * modules/sprintf-posix (Depends-on): Likewise.
68693         * modules/vasnprintf-posix (Depends-on): Likewise.
68694         * modules/vasprintf-posix (Depends-on): Likewise.
68695         * modules/vfprintf-posix (Depends-on): Likewise.
68696         * modules/vprintf-posix (Depends-on): Likewise.
68697         * modules/vsnprintf-posix (Depends-on): Likewise.
68698         * modules/vsprintf-posix (Depends-on): Likewise.
68699         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68700         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68701         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68702         "no" on i386, x86_64, ia64.
68703         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68704         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68705         on i386, x86_64, ia64.
68706         * tests/test-sprintf-posix.h (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-vasnprintf-posix.c: Include float.h.
68710         (LDBL80_WORDS): New macro.
68711         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68712         on i386, x86_64, ia64.
68713         * tests/test-vasprintf-posix.c: Include float.h.
68714         (LDBL80_WORDS): New macro.
68715         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68716         on i386, x86_64, ia64.
68717         * tests/test-snprintf-posix.c: Include float.h.
68718         * tests/test-sprintf-posix.c: Likewise.
68719         * tests/test-vsnprintf-posix.c: Likewise.
68720         * tests/test-vsprintf-posix.c: Likewise.
68721
68722 2007-06-05  Bruno Haible  <bruno@clisp.org>
68723
68724         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68725         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68726         non-IEEE numbers on i386, x86_64, ia64.
68727         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68728         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68729         * tests/test-isnanl.h: Include float.h.
68730         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68731
68732 2007-06-05  Bruno Haible  <bruno@clisp.org>
68733
68734         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68735         also the %a / %A. Handle the %a / %A code before this extra handling.
68736
68737 2007-06-05  Bruno Haible  <bruno@clisp.org>
68738
68739         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68740         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68741
68742 2007-06-05  Bruno Haible  <bruno@clisp.org>
68743
68744         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68745         typo in variable name.
68746
68747 2007-06-05  Eric Blake  <ebb9@byu.net>
68748
68749         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68750         Reported by Simon Josefsson.
68751
68752 2007-06-04  Bruno Haible  <bruno@clisp.org>
68753
68754         Avoid test failures on some PowerPC platforms.
68755         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68756         Define differently for PowerPC.
68757         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68758         Reported by Gary V. Vaughan <gary@gnu.org>.
68759
68760 2007-06-02  Bruno Haible  <bruno@clisp.org>
68761
68762         Fix test-stdint failure on FreeBSD/ia64.
68763         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68764         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68765         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68766         * doc/headers/stdint.texi: Update.
68767
68768 2007-06-01  Bruno Haible  <bruno@clisp.org>
68769
68770         * tests/test-binary-io.c (main): Pass a third argument to open().
68771         Reported by Gary V. Vaughan <gary@gnu.org>.
68772
68773 2007-06-01  Bruno Haible  <bruno@clisp.org>
68774
68775         * doc/functions/frexpl.texi: Update for mingw.
68776
68777 2007-06-01  Bruno Haible  <bruno@clisp.org>
68778
68779         * tests/test-lseek.c (main): Disable test of errno for invalid third
68780         argument.
68781         * doc/functions/lseek.texi: Update.
68782         Reported by Gary V. Vaughan <gary@gnu.org>.
68783
68784 2007-05-28  Bruno Haible  <bruno@clisp.org>
68785
68786         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68787
68788 2007-05-31  Eric Blake  <ebb9@byu.net>
68789
68790         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68791         cross compiling.
68792
68793 2007-05-30  Eric Blake  <ebb9@byu.net>
68794         and Bruno Haible  <bruno@clisp.org>
68795
68796         Work around mingw test failures exposed by m4-1.4.9b.
68797         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68798         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68799         moment.
68800
68801 2007-05-30  Bruno Haible  <bruno@clisp.org>
68802
68803         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68804         assuming that they are closed. Needed on HP-UX 11.
68805
68806 2007-05-29  Bruno Haible  <bruno@clisp.org>
68807
68808         Fix a problem with #include_next.
68809         * lib/dirent_.h: Split the double-inclusion guard.
68810         * lib/fcntl_.h: Likewise.
68811         * lib/float_.h: Likewise.
68812         * lib/iconv_.h: Likewise.
68813         * lib/inttypes_.h: Likewise.
68814         * lib/locale_.h: Likewise.
68815         * lib/math_.h: Likewise.
68816         * lib/netinet_in_.h: Likewise.
68817         * lib/search_.h: Likewise.
68818         * lib/signal_.h: Likewise.
68819         * lib/stdint_.h: Likewise.
68820         * lib/stdio_.h: Likewise.
68821         * lib/stdlib_.h: Likewise.
68822         * lib/string_.h: Likewise.
68823         * lib/sys_select_.h: Likewise.
68824         * lib/sys_socket_.h: Likewise.
68825         * lib/sys_stat_.h: Likewise.
68826         * lib/sys_time_.h: Likewise.
68827         * lib/sysexits_.h: Likewise.
68828         * lib/time_.h: Likewise.
68829         * lib/unistd_.h: Likewise.
68830         * lib/wchar_.h: Likewise.
68831         * lib/wctype_.h: Likewise.
68832
68833 2007-05-29  Bruno Haible  <bruno@clisp.org>
68834
68835         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68836         for the moment.
68837
68838 2007-05-29  Bruno Haible  <bruno@clisp.org>
68839
68840         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68841         invocation.
68842         Reported by Eric Blake.
68843
68844 2007-05-29  Bruno Haible  <bruno@clisp.org>
68845
68846         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68847         compiling case.
68848
68849 2007-05-29  Eric Blake  <ebb9@byu.net>
68850             Bruno Haible  <bruno@clisp.org>
68851
68852         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68853         cross compiles.
68854
68855 2007-05-28  Eric Blake  <ebb9@byu.net>
68856
68857         * modules/closein-tests (test_closein_LDADD): Support test on
68858         cygwin with libtool.
68859
68860 2007-05-28  Bruno Haible  <bruno@clisp.org>
68861
68862         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68863         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68864         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68865         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68866         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68867         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68868         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68869         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68870         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68871
68872 2007-05-28  Eric Blake  <ebb9@byu.net>
68873
68874         Unconditionally include <config.h> in unit tests.
68875         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68876         * tests/test-allocsa.c, tests/test-arcfour.c,
68877         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68878         tests/test-array_list.c, tests/test-array_oset.c,
68879         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68880         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68881         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68882         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68883         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68884         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68885         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68886         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68887         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68888         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68889         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68890         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68891         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68892         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68893         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68894         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68895         test-md5.c, test-memmem.c, test-printf-posix.c,
68896         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68897         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68898         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68899         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68900         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68901         test-vasnprintf-posix2.c, test-vasnprintf.c,
68902         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68903         test-vfprintf-posix.c, test-vprintf-posix.c,
68904         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68905         test-xvasprintf.c: Likewise.
68906
68907 2007-05-28  Bruno Haible  <bruno@clisp.org>
68908
68909         * gnulib-tool (func_import): Remember the --with-tests command-line
68910         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68911         Reported by Eric Blake.
68912
68913 2007-05-28  Bruno Haible  <bruno@clisp.org>
68914
68915         * modules/ftell-tests: New file.
68916         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68917         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68918
68919         * lib/ftell.c: New file.
68920         * modules/ftell: New file.
68921         * m4/ftell.m4: New file.
68922         * doc/functions/ftell.texi: Update.
68923         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68924         REPLACE_FTELL.
68925         * lib/stdio_.h (rpl_ftell): New declaration.
68926         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68927         REPLACE_FTELL.
68928
68929 2007-05-28  Eric Blake  <ebb9@byu.net>
68930
68931         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68932
68933 2007-05-28  Bruno Haible  <bruno@clisp.org>
68934
68935         * modules/fseek-tests: New file.
68936         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68937         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68938
68939         * lib/fseek.c: New file.
68940         * modules/fseek: New file.
68941         * m4/fseek.m4: New file.
68942         * doc/functions/fseek.texi: Update.
68943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68944         REPLACE_FSEEK.
68945         * lib/stdio_.h (rpl_fseek): New declaration.
68946         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68947         REPLACE_FSEEK.
68948
68949 2007-05-28  Bruno Haible  <bruno@clisp.org>
68950
68951         * lib/stdio_.h (fflush): More comments.
68952
68953 2007-05-28  Bruno Haible  <bruno@clisp.org>
68954
68955         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68956         runtime test.
68957
68958 2007-05-28  Eric Blake  <ebb9@byu.net>
68959
68960         Improve lseek module.
68961         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68962         * lib/unistd_.h (lseek): Scale back link warning message.
68963         * tests/test-lseek.c: Beef up test.
68964         * tests/test-lseek.sh: Exercise more facets of lseek.
68965         Reported by Bruno Haible.
68966
68967 2007-05-28  Bruno Haible  <bruno@clisp.org>
68968
68969         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68970         to define.
68971
68972 2007-05-27  Bruno Haible  <bruno@clisp.org>
68973
68974         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68975
68976 2007-05-27  Bruno Haible  <bruno@clisp.org>
68977
68978         * modules/openmp: New file.
68979         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68980         Noah Misch.
68981
68982 2007-05-26  Bruno Haible  <bruno@clisp.org>
68983
68984         * modules/chdir-long (Depends-on): Add fchdir.
68985         * modules/chdir-safer (Depends-on): Likewise.
68986         * modules/fts (Depends-on): Likewise.
68987         * modules/fts-lgpl (Depends-on): Likewise.
68988         * modules/openat (Depends-on): Likewise.
68989         * modules/savewd (Depends-on): Likewise.
68990
68991 2007-05-24  Eric Blake  <ebb9@byu.net>
68992
68993         Fix lseek on mingw.
68994         * modules/lseek: New module.
68995         * m4/lseek.m4: New file.
68996         * lib/lseek.c: New file.
68997         * modules/lseek-tests: New file.
68998         * tests/test-lseek.c: New file.
68999         * tests/test-lseek.sh: New file.
69000         * MODULES.html.sh: Document lseek module.
69001         * modules/fflush (Depends-on): Add lseek, fseeko.
69002         * modules/fseeko (Depends-on): Likewise.
69003         * modules/ftello (Depends-on): Likewise.
69004         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69005         broken.
69006         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69007         broken.
69008         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69009         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69010         * lib/ftello.c (rpl_ftello): Likewise.
69011         * tests/test-fseeko.c (main): Test this.
69012         * tests/test-fseeko.sh: Likewise.
69013         * tests/test-ftello.c (main): Likewise.
69014         * tests/test-ftello.sh: Likewise.
69015         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69016         implies replacing fseek.
69017         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69018         HAVE_FTELLO.
69019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69020         * modules/unistd (Makefile.am): Likewise.
69021         * lib/unistd_.h (lseek): Declare a replacement.
69022         * doc/functions/lseek.texi (lseek): Document this fix.
69023         * doc/functions/fseek.texi (fseek): Likewise.
69024         * doc/functions/ftell.texi (ftell): Likewise.
69025
69026 2007-05-24  Bruno Haible  <bruno@clisp.org>
69027
69028         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69029         in the printed representation of a NaN.
69030         * tests/test-vasprintf-posix.c (test_function): Likewise.
69031         * tests/test-snprintf-posix.h (test_function): Likewise.
69032         * tests/test-sprintf-posix.h (test_function): Likewise.
69033         Reported by Eric Blake.
69034
69035 2007-05-23  Eric Blake  <ebb9@byu.net>
69036
69037         Fix fseeko/ftello on cygwin 1.5.24.
69038         * doc/functions/fseeko.texi (fseeko): Document the fix.
69039         * doc/functions/ftello.texi (ftello): Document the fix.
69040         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69041         * doc/functions/stdout.text (stdout): New file.
69042         * doc/functions/stderr.text (stderr): New file.
69043         * doc/gnulib.texi (Function Substitutes): Use new files.
69044         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69045         prior to 1.7.0.
69046         * tests/test-ftello.c (main): Likewise for ftello.
69047         * tests/test-fseeko.sh: New file.
69048         * tests/test-ftello.sh: New file.
69049         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69050         with seekable stdin.
69051         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69052         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69053         (gl_REPLACE_FSEEKO): New macro.
69054         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69055         * modules/fseeko (Files): Distribute fseeko.c.
69056         * modules/ftello (Files): Distribute ftello.c.
69057         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69058         mode.
69059         * lib/ftello.c (rpl_ftello): New file.
69060         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69061         fseeko, ftello.
69062         (gl_STDIN_LARGE_OFFSET): New macro.
69063         * modules/stdio (Makefile.am): Perform the replacement.
69064         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69065
69066 2007-05-23  Bruno Haible  <bruno@clisp.org>
69067
69068         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69069         GNULIB_POSIXCHECK is defined.
69070
69071 2007-05-21  Bruno Haible  <bruno@clisp.org>
69072
69073         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69074         Check also the output for NaN arguments. When cross-compiling, guess
69075         no on IRIX.
69076         * lib/vasnprintf.c: Update comments.
69077         * tests/test-vasnprintf-posix.c (strisnan): New function.
69078         (test_function): Use it.
69079         * tests/test-vasprintf-posix.c (strisnan): New function.
69080         (test_function): Use it.
69081         * tests/test-snprintf-posix.h (strisnan): New function.
69082         (test_function): Use it.
69083         * tests/test-sprintf-posix.h (strisnan): New function.
69084         (test_function): Use it.
69085         Reported by Eric Blake.
69086
69087 2007-05-20  Bruno Haible  <bruno@clisp.org>
69088
69089         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69090         numbers that fails on BeOS.
69091         * doc/functions/frexpl.texi: Update.
69092
69093 2007-05-20  Jim Meyering  <jim@meyering.net>
69094
69095         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69096         forced upon us by glibc-2.6.
69097
69098 2007-05-20  Bruno Haible  <bruno@clisp.org>
69099
69100         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69101         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69102         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69103         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69104         NEED_PRINTF_INFINITE.
69105         (is_infinitel): New function.
69106         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69107         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69108         gl_PREREQ_VASNPRINTF_INFINITE.
69109         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69110         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69111         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69112         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69113         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69114         gl_PREREQ_VASNPRINTF_INFINITE.
69115         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69116         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69117         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69118         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69119         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69120         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69121         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69122         * doc/functions/fprintf.texi: Update.
69123         * doc/functions/printf.texi: Update.
69124         * doc/functions/snprintf.texi: Update.
69125         * doc/functions/sprintf.texi: Update.
69126         * doc/functions/vfprintf.texi: Update.
69127         * doc/functions/vprintf.texi: Update.
69128         * doc/functions/vsnprintf.texi: Update.
69129         * doc/functions/vsprintf.texi: Update.
69130
69131 2007-05-20  Bruno Haible  <bruno@clisp.org>
69132
69133         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69134         was not found in libc.
69135         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69136
69137 2007-05-20  Bruno Haible  <bruno@clisp.org>
69138
69139         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69140         printed as "-nan" instead of "nan".
69141         * tests/test-vasprintf-posix.c (test_function): Likewise.
69142         * tests/test-snprintf-posix.h (test_function): Likewise.
69143         * tests/test-sprintf-posix.h (test_function): Likewise.
69144         Needed for HP-UX 11.
69145
69146 2007-05-20  Jim Meyering  <jim@meyering.net>
69147
69148         Fix buggy test for the fchownat-deref bug.
69149         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69150         symlink required for the run-test.  Without it, this test would
69151         always declare that fchownat doesn't work, and client code would
69152         unnecessarily use the replacement function with fixed libc.
69153         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69154         Reported by Greg Schafer.
69155
69156 2007-05-19  Bruno Haible  <bruno@clisp.org>
69157
69158         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69159         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69160         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69161         Needed for IRIX 6.5 and Solaris 2.5.1.
69162
69163 2007-05-19  Bruno Haible  <bruno@clisp.org>
69164
69165         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69166         (test_function): Skip tests involving -0.0 on platforms where
69167         -0.0 = 0.0.
69168         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69169         (test_function): Skip tests involving -0.0 on platforms where
69170         -0.0 = 0.0.
69171         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69172         (test_function): Skip tests involving -0.0 on platforms where
69173         -0.0 = 0.0.
69174         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69175         (test_function): Skip tests involving -0.0 on platforms where
69176         -0.0 = 0.0.
69177         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69178         tests.
69179         * tests/test-printf-posix.h (test_function): Likewise.
69180         * tests/test-printf-posix.output: Remove all -0.0 related results.
69181         Needed for IRIX 6.5.
69182
69183 2007-05-19  Bruno Haible  <bruno@clisp.org>
69184
69185         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69186         printed as "nan0x7fffffff" instead of "nan".
69187         * tests/test-vasprintf-posix.c (test_function): Likewise.
69188         * tests/test-snprintf-posix.h (test_function): Likewise.
69189         * tests/test-sprintf-posix.h (test_function): Likewise.
69190         * tests/test-fprintf-posix.h (NaN): Remove macro.
69191         (test_function): Remove all NaN related tests.
69192         * tests/test-printf-posix.h (NaN): Remove macro.
69193         (test_function): Remove all NaN related tests.
69194         * tests/test-printf-posix.output: Remove all NaN related results.
69195         Needed for IRIX 6.5.
69196
69197 2007-05-19  Bruno Haible  <bruno@clisp.org>
69198
69199         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69200         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69201
69202 2007-05-19  Bruno Haible  <bruno@clisp.org>
69203
69204         * lib/float_.h: New file.
69205         * m4/float_h.m4: New file.
69206         * modules/float: New file.
69207         * modules/isnanl (Dependencies): Add float.
69208         * modules/isnanl-nolibm (Dependencies): Likewise.
69209         * modules/mathl (Dependencies): Likewise.
69210         * modules/printf-frexpl (Dependencies): Likewise.
69211         * modules/signbit (Dependencies): Likewise.
69212         * modules/vasnprintf (Dependencies): Likewise.
69213         * doc/headers/float.texi: Update.
69214
69215 2007-05-19  Jim Meyering  <jim@meyering.net>
69216
69217         * lib/utimens.c (gl_futimens): Rename from futimens,
69218         now that glibc-2.6 declares futimens.
69219         * lib/utimens.h: Likewise.
69220
69221 2007-05-19  Bruno Haible  <bruno@clisp.org>
69222
69223         Avoid test failures on mingw.
69224         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69225         * tests/test-printf-posix.sh: Likewise.
69226         * tests/test-vfprintf-posix.sh: Likewise.
69227         * tests/test-vprintf-posix.sh: Likewise.
69228
69229 2007-05-19  Bruno Haible  <bruno@clisp.org>
69230
69231         Fix *printf result for NaN, Inf, -0.0 on mingw.
69232         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69233         * lib/vasnprintf.c: Include math.h and isnan.h.
69234         (is_infinite_or_zero): New function.
69235         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69236         values in the %f, %F, %e, %E, %g, %G directives.
69237         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69238         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69239         gl_PRINTF_INFINITE and test its result. Invoke
69240         gl_PREREQ_VASNPRINTF_INFINITE.
69241         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69242         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69243         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69244         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69245         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69246         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69247         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69248         * doc/functions/fprintf.texi: Update.
69249         * doc/functions/printf.texi: Update.
69250         * doc/functions/snprintf.texi: Update.
69251         * doc/functions/sprintf.texi: Update.
69252         * doc/functions/vfprintf.texi: Update.
69253         * doc/functions/vprintf.texi: Update.
69254         * doc/functions/vsnprintf.texi: Update.
69255         * doc/functions/vsprintf.texi: Update.
69256
69257 2007-05-19  Bruno Haible  <bruno@clisp.org>
69258
69259         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69260         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69261         Instead of multiplying with 10^k, set extra_zeroes to k.
69262         (scale10_round_long_double): Remove function.
69263
69264 2007-05-18  Bruno Haible  <bruno@clisp.org>
69265
69266         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69267         introduced on 2007-05-06.
69268
69269 2007-05-18  Bruno Haible  <bruno@clisp.org>
69270
69271         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69272         %g directives.
69273         * tests/test-vasprintf-posix.c (test_function): Likewise.
69274         * tests/test-snprintf-posix.h (test_function): Likewise.
69275         * tests/test-sprintf-posix.h (test_function): Likewise.
69276
69277 2007-05-18  Bruno Haible  <bruno@clisp.org>
69278
69279         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69280         (strmatch): New function.
69281         (test_function): Test the %f directive on numbers of various exponents.
69282         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69283         (strmatch): New function.
69284         (test_function): Test the %f directive on numbers of various exponents.
69285         * tests/test-snprintf-posix.h (strmatch): New function.
69286         (test_function): Test the %f directive on numbers of various exponents.
69287         * tests/test-sprintf-posix.h (strmatch): New function.
69288         (test_function): Test the %f directive on numbers of various exponents.
69289         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69290         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69291         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69292         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69293
69294 2007-05-18  Bruno Haible  <bruno@clisp.org>
69295
69296         Add support for 'long double' number output.
69297         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69298         * lib/vasnprintf.c: Include math.h and float+.h.
69299         (mp_limb_t): New type.
69300         (GMP_LIMB_BITS): New macro.
69301         (mp_twolimb_t): New type.
69302         (GMP_TWOLIMB_BITS): New macro.
69303         (mpn_t): New type.
69304         (multiply, divide, convert_to_decimal, decode_long_double,
69305         scale10_round_long_double, scale10_round_decimal_long_double,
69306         floorlog10l): New functions.
69307         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69308         for the %f, %F, %e, %E, %g, %G directives.
69309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69310         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69311         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69312         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69313         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69314         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69315         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69316         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69317         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69318         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69319         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69320         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69321         * modules/snprintf-posix (Depends-on): Likewise.
69322         * modules/sprintf-posix (Depends-on): Likewise.
69323         * modules/vasnprintf-posix (Depends-on): Likewise.
69324         * modules/vasprintf-posix (Depends-on): Likewise.
69325         * modules/vfprintf-posix (Depends-on): Likewise.
69326         * modules/vsnprintf-posix (Depends-on): Likewise.
69327         * modules/vsprintf-posix (Depends-on): Likewise.
69328         * modules/vasnprintf (Files): Add lib/float+.h.
69329         * doc/functions/fprintf.texi: Update.
69330         * doc/functions/printf.texi: Update.
69331         * doc/functions/snprintf.texi: Update.
69332         * doc/functions/sprintf.texi: Update.
69333         * doc/functions/vfprintf.texi: Update.
69334         * doc/functions/vprintf.texi: Update.
69335         * doc/functions/vsnprintf.texi: Update.
69336         * doc/functions/vsprintf.texi: Update.
69337
69338 2007-05-18  Bruno Haible  <bruno@clisp.org>
69339
69340         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69341
69342 2007-05-18  Bruno Haible  <bruno@clisp.org>
69343
69344         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69345         for printing 64-bit integers. Needed for mingw.
69346
69347 2007-05-18  Bruno Haible  <bruno@clisp.org>
69348
69349         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69350         gl_FUNC_FREXPL_WORKS.
69351         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69352
69353 2007-05-18  Bruno Haible  <bruno@clisp.org>
69354
69355         * modules/frexpl-nolibm-tests: New file.
69356
69357         * modules/frexpl-nolibm: New file.
69358         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69359
69360 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69361
69362         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69363         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69364         GCC 4.2, which otherwise issues a lot of warnings.
69365         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69366         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69367         Likewise.
69368         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69369         * modules/iconv_open (iconv.h): Likewise.
69370         * modules/locale (locale.h): Likewise.
69371         * modules/netinet_in (netinet/in.h): Likewise.
69372         * modules/sys_select (sys_select.h): Likewise.
69373         * modules/sys_socket (sys/socket.h): Likewise.
69374         * modules/sys_stat (sys/stat.h): Likewise.
69375         * modules/sysexits (sysexits.h): Likewise.
69376         * modules/unistd (unistd.h): Likewise.
69377
69378 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69379
69380         * modules/closein-tests (Makefile.am): Distribute
69381         `test-closein.sh'.
69382
69383 2007-05-17  Bruno Haible  <bruno@clisp.org>
69384
69385         * tests/test-printf-posix.output: Renamed from
69386         tests/test-fprintf-posix.out.
69387         * modules/fprintf-posix-tests: Update.
69388         * modules/printf-posix-tests: Update.
69389         * modules/vfprintf-posix-tests: Update.
69390         * modules/vprintf-posix-tests: Update.
69391         * tests/test-fprintf-posix.sh: Update.
69392         * tests/test-printf-posix.sh: Update.
69393         * tests/test-vfprintf-posix.sh: Update.
69394         * tests/test-vprintf-posix.sh: Update.
69395         Reported by Ralf Wildenhues.
69396
69397 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69398
69399         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69400         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69401         GCC 4.2, which otherwise issues a lot of warnings.
69402         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69403         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69404         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69405         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69406         it should no longer be needed.
69407         * lib/string_.h: Likewise.
69408         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69409         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69410         * modules/inttypes (inttypes.h): Likewise.
69411         * modules/math (math.h): Likewise.
69412         * modules/search (search.h): Likewise.
69413         * modules/signal (signal.h): Likewise.
69414         * modules/stdint (stdint.h): Likewise.
69415         * modules/stdio (stdio.h): Likewise.
69416         * modules/stdlib (stdlib.h): Likewise.
69417         * modules/string (string.h): Likewise.
69418         * modules/sys_time (sys/time.h): Likewise.
69419         * modules/time (time.h): Likewise.
69420         * modules/wchar (wchar.h): Likewise.
69421         * modules/wctype (wtype.h): Likewise.
69422
69423 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69424
69425         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69426
69427 2007-05-13  Bruno Haible  <bruno@clisp.org>
69428
69429         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69430         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69431         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69432         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69433         (gl_PREREQ_STRTOK_R): Don't require it here.
69434
69435 2007-05-13  Bruno Haible  <bruno@clisp.org>
69436
69437         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69438         when used in C++ mode.
69439
69440 2007-05-12  Bruno Haible  <bruno@clisp.org>
69441
69442         * lib/linebuffer.h: Tweak doc.
69443         * lib/linebuffer.c: Likewise.
69444
69445 2007-05-12  James Youngman  <jay@gnu.org>
69446
69447         * lib/linebuffer.c (readlinebuffer_delim): New function,
69448         like readlinebuffer, but use a caller-specified delimiter.
69449         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69450         as the delimiter.
69451         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69452
69453 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69454
69455         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69456         * modules/openat (Files): Remove openat-die.c.
69457         (Depends-on): Add openat-die.
69458         * modules/openat-die: New module.
69459
69460 2007-05-06  Bruno Haible  <bruno@clisp.org>
69461
69462         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69463         Update with info about Cygwin.
69464         * doc/functions/fprintf.texi: Update.
69465         * doc/functions/printf.texi: Update.
69466         * doc/functions/snprintf.texi: Update.
69467         * doc/functions/sprintf.texi: Update.
69468         * doc/functions/vfprintf.texi: Update.
69469         * doc/functions/vprintf.texi: Update.
69470         * doc/functions/vsnprintf.texi: Update.
69471         * doc/functions/vsprintf.texi: Update.
69472         Reported by Eric Blake.
69473
69474 2007-05-06  Bruno Haible  <bruno@clisp.org>
69475
69476         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69477         padding ourselves for the floating-point directives.
69478         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69479         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69480         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69481         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69482         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69483         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69484         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69485         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69486         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69487         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69488         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69489         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69490         * tests/test-snprintf-posix.h (test_function): Also check the width
69491         and some flags in the %f directive.
69492         * tests/test-sprintf-posix.h (test_function): Likewise.
69493         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69494         * tests/test-vasprintf-posix.c (test_function): Likewise.
69495         * doc/functions/fprintf.texi: Update.
69496         * doc/functions/printf.texi: Update.
69497         * doc/functions/snprintf.texi: Update.
69498         * doc/functions/sprintf.texi: Update.
69499         * doc/functions/vfprintf.texi: Update.
69500         * doc/functions/vprintf.texi: Update.
69501         * doc/functions/vsnprintf.texi: Update.
69502         * doc/functions/vsprintf.texi: Update.
69503
69504 2007-05-06  Bruno Haible  <bruno@clisp.org>
69505
69506         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69507         pass the ' flag character to sprintf or snprintf.
69508         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69509         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69510         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69511         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69512         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69513         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69514         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69515         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69516         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69517         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69518         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69519         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69520         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69521         flag.
69522         * tests/test-sprintf-posix.h (test_function): Likewise.
69523         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69524         * tests/test-vasprintf-posix.c (test_function): Likewise.
69525         * doc/functions/fprintf.texi: Update.
69526         * doc/functions/printf.texi: Update.
69527         * doc/functions/snprintf.texi: Update.
69528         * doc/functions/sprintf.texi: Update.
69529         * doc/functions/vfprintf.texi: Update.
69530         * doc/functions/vprintf.texi: Update.
69531         * doc/functions/vsnprintf.texi: Update.
69532         * doc/functions/vsprintf.texi: Update.
69533
69534 2007-05-01  Bruno Haible  <bruno@clisp.org>
69535
69536         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69537
69538 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69539
69540         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69541         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69542
69543 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69544
69545         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69546         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69547         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69548
69549 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69550
69551         * lib/argp-help.c (struct hol_entry): New member `ord'.
69552         (HOL_ENTRY_PTRCMP): Use ord for comparison
69553         (hol_sort): Initialize ord.
69554
69555 2007-05-01  Bruno Haible  <bruno@clisp.org>
69556
69557         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69558         Reported by Eric Blake.
69559         * doc/gnulib.texi (Function Substitutes): Update.
69560
69561 2007-05-01  Bruno Haible  <bruno@clisp.org>
69562
69563         * doc/functions.texi: Remove file, now redundant through
69564         doc/functions/*.texi.
69565
69566 2007-05-01  Bruno Haible  <bruno@clisp.org>
69567
69568         * modules/argp (Depends-on): Add sleep.
69569
69570 2007-05-01  Bruno Haible  <bruno@clisp.org>
69571
69572         * modules/sleep-tests: New file.
69573         * tests/test-sleep.c: New file.
69574
69575         * modules/sleep: New file.
69576         * lib/sleep.c: New file.
69577         * m4/sleep.m4: New file.
69578         * lib/unistd_.h (sleep): New declaration.
69579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69580         HAVE_SLEEP.
69581         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69582         * doc/functions/sleep.texi: Document the sleep module.
69583
69584 2007-05-01  Bruno Haible  <bruno@clisp.org>
69585
69586         * lib/sigprocmask.h: Remove file.
69587         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69588         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69589         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69590         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69591         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69592         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69593         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69594         HAVE_SIGSET_T as a shell variable.
69595         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69596         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69597         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69598         (Depends-on): Add signal. Remove verify.
69599         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69600         (Include): Mention <signal.h> instead of sigprocmask.h.
69601         * NEWS: Mention the change.
69602         * lib/fatal-signal.c: Don't include sigprocmask.h.
69603
69604 2007-05-01  Bruno Haible  <bruno@clisp.org>
69605
69606         * modules/signal: New file.
69607         * lib/signal_.h: New file.
69608         * m4/signal_h.m4: New file.
69609
69610 2007-05-01  Bruno Haible  <bruno@clisp.org>
69611
69612         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69613         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69614         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69615         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69616
69617 2007-05-01  Bruno Haible  <bruno@clisp.org>
69618
69619         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69620         configure time.
69621         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69622         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69623         * modules/sys_stat (Makefile.am): Substitute their values into
69624         sys/stat.h.
69625
69626 2007-05-01  Bruno Haible  <bruno@clisp.org>
69627
69628         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69629         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69630         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69631
69632 2007-05-01  Bruno Haible  <bruno@clisp.org>
69633
69634         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69635         'assert' module here.
69636
69637 2007-05-01  Bruno Haible  <bruno@clisp.org>
69638
69639         * doc/functions/*.texi: New files.
69640         * doc/functions/google-ranking.txt: New file.
69641         * doc/gnulib.texi (Function Substitutes): New chapter.
69642         (ctime, inet_ntoa): Remove sections.
69643         * doc/ctime.texi: Remove file.
69644         * doc/inet_ntoa.texi: Remove file.
69645         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69646         dependencies.
69647         (%.info): New rule, specifying a --reference-limit.
69648
69649 2007-05-01  Bruno Haible  <bruno@clisp.org>
69650
69651         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69652
69653 2007-05-01  Bruno Haible  <bruno@clisp.org>
69654
69655         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69656         the portability of 'mkdir' to mingw systems.
69657
69658 2007-05-01  Bruno Haible  <bruno@clisp.org>
69659
69660         * doc/headers/google-ranking.txt: New file.
69661
69662 2007-04-30  Eric Blake  <ebb9@byu.net>
69663
69664         Prefer fseeko to fseek.
69665         * modules/getpass (Depends-on): Add fseeko.
69666         * lib/getpass.c (getpass): Use fseeko, not fseek.
69667
69668 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69669
69670         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69671         assumes the sorting is stable, while most qsort implementations
69672         are not.  Use argument addresses to ensure they never compare as
69673         equal.
69674
69675         * tests/test-argp-2.sh (usage-indent test): Fix output
69676         (func_compare): Restore diff options
69677         * tests/test-argp.c: Restore #include "progname.h"
69678
69679 2007-04-29  Bruno Haible  <bruno@clisp.org>
69680
69681         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69682         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69683         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69684         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69685         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69686         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69687         (TESTS, check_PROGRAMS): Add test-snprintf.
69688         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69689         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69690         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69691         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69692         assertions that fail on HP-UX, OSF/1, or IRIX.
69693         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69694
69695 2007-04-29  Bruno Haible  <bruno@clisp.org>
69696
69697         * MODULES.html.sh (posix_functions): Remove 'contents'.
69698
69699 2007-04-29  Karl Berry  <karl@gnu.org>
69700
69701         * config/srclist.txt (gendocs_template_min): new entry.
69702
69703 2007-04-29  Bruno Haible  <bruno@clisp.org>
69704
69705         Work around fpurge bug on BSD systems.
69706         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69707         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69708         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69709         fpurge to rpl_fpurge if the system already has this function.
69710         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69711         the case where the system already has this function. Correct invariants
69712         on BSD systems.
69713         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69714         BSD systems.
69715
69716 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69717
69718         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69719         proposed by Sven Verdoolaege.
69720
69721         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69722         options.
69723         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69724         (usage and help tests): Update
69725
69726 2007-04-29  Bruno Haible  <bruno@clisp.org>
69727
69728         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69729         Print more information in case of failure. Disable a test on BeOS.
69730
69731 2007-04-29  Bruno Haible  <bruno@clisp.org>
69732
69733         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69734         This helps debugging on systems on which no gdb is available.
69735
69736 2007-04-29  Bruno Haible  <bruno@clisp.org>
69737
69738         * lib/freading.h: Improve comments.
69739         * lib/fwriting.h: Likewise.
69740         * tests/test-freading.c (main): Don't check freading immediately after
69741         repositioning. Needed for glibc.
69742
69743 2007-04-29  Bruno Haible  <bruno@clisp.org>
69744
69745         * lib/freading.c (freading): Trivial simplification.
69746
69747 2007-04-28  Bruno Haible  <bruno@clisp.org>
69748
69749         * tests/test-fwriting.c (main): Also test the interaction between
69750         fflush and fwriting.
69751         * modules/fwriting-tests (Depends-on): Add fflush.
69752
69753         * tests/test-freading.c (main): Also test the interaction between
69754         fflush and freading.
69755         * modules/freading-tests (Depends-on): Add fflush.
69756
69757 2007-04-28  Bruno Haible  <bruno@clisp.org>
69758
69759         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69760         fseeko and ftello.
69761         Suggested by Eric Blake.
69762
69763 2007-04-28  Jim Meyering  <jim@meyering.net>
69764
69765         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69766         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69767         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69768
69769 2007-04-27  Eric Blake  <ebb9@byu.net>
69770
69771         * doc/headers/assert.texi (assert.h): Document assert module use.
69772
69773 2007-04-27  Bruno Haible  <bruno@clisp.org>
69774
69775         * doc/headers/*.texi: New files.
69776         * doc/gnulib.texi (Header File Substitutes): New chapter.
69777         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69778         dependencies.
69779         (standards.info ,standards.html, standards.dvi): Update dependencies.
69780         (mostlyclean, clean): New targets.
69781
69782 2007-04-27  Bruno Haible  <bruno@clisp.org>
69783
69784         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69785         * modules/sysexits (Files, Makefile.am): Update.
69786
69787         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69788         * modules/sys_socket (Files, Makefile.am): Update.
69789
69790         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69791         * modules/sys_stat (Files, Makefile.am): Update.
69792
69793 2007-04-27  Eric Blake  <ebb9@byu.net>
69794
69795         * lib/freading.h: Improve comments.
69796         * lib/fwriting.h: Likewise.
69797         * lib/fflush.c: Likewise.
69798
69799         Fix closein for mingw.
69800         * modules/closein-tests: Add tests for closein.
69801         * tests/test-closein.c: New file.
69802         * tests/test-closein.sh: Likewise.
69803         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69804         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69805
69806 2007-04-27  Bruno Haible  <bruno@clisp.org>
69807
69808         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69809         version is < 6.
69810         * lib/math_.h [__DECC]: Likewise.
69811         * lib/stdio_.h [__DECC]: Likewise.
69812         * lib/stdlib_.h [__DECC]: Likewise.
69813         * lib/string_.h [__DECC]: Likewise.
69814         * lib/time_.h [__DECC]: Likewise.
69815         * lib/wchar_.h [__DECC]: Likewise.
69816         * lib/wctype_.h [__DECC]: Likewise.
69817
69818 2007-04-27  Bruno Haible  <bruno@clisp.org>
69819
69820         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69821
69822 2007-04-27  Bruno Haible  <bruno@clisp.org>
69823
69824         * lib/fflush.c: Add comments.
69825         * modules/fpurge-tests (Depends-on): Add fflush.
69826         * modules/freadable-tests (Depends-on): Likewise.
69827         * modules/fwritable-tests (Depends-on): Likewise.
69828
69829 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69830
69831         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69832         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69833         Report by Bruno Haible <bruno@clisp.org>.
69834
69835 2007-04-26  Eric Blake  <ebb9@byu.net>
69836
69837         Fix fflush on mingw.
69838         * modules/fflush (Depends-on): Add freading.
69839         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69840         but unread data.
69841
69842 2007-04-26  Eric Blake  <ebb9@byu.net>
69843         and Bruno Haible  <bruno@clisp.org>
69844
69845         Implement freading and fwriting.
69846         * lib/freading.c: New file.
69847         * lib/freading.h: Likewise.
69848         * m4/freading.m4: Likewise.
69849         * modules/freading: Likewise.
69850         * modules/freading-tests: Likewise.
69851         * tests/test-freading.c: Likewise.
69852         * lib/fwriting.c: New file.
69853         * lib/fwriting.h: Likewise.
69854         * m4/fwriting.m4: Likewise.
69855         * modules/fwriting: Likewise.
69856         * modules/fwriting-tests: Likewise.
69857         * tests/test-fwriting.c: Likewise.
69858         * MODULES.html.sh (File stream based Input/Output): Mention them.
69859
69860 2007-04-26  Bruno Haible  <bruno@clisp.org>
69861
69862         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69863         'long' when we assume it.
69864         Suggested by Eric Blake.
69865
69866 2007-04-26  Bruno Haible  <bruno@clisp.org>
69867
69868         Ensure fseeko, ftello are declared on glibc systems.
69869         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69870         * modules/fseeko (configure.ac-early): Likewise.
69871         * modules/ftello (configure.ac-early): Likewise.
69872         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69873         AC_FUNC_FSEEKO for this.
69874         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69875         (gl_CHECK_FSEEKO): Remove macro.
69876
69877 2007-04-26  Bruno Haible  <bruno@clisp.org>
69878
69879         * tests/test-fflush.c (main): Also check the ftell result after
69880         fflush and fseek/fseeko.
69881         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69882         file descriptor position cache in the stream.
69883         * lib/fseeko.c (rpl_fseeko): Likewise.
69884
69885 2007-04-26  Bruno Haible  <bruno@clisp.org>
69886
69887         * modules/fflush-tests (Depends-on): Add fseeko.
69888
69889 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69890             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69891
69892         * lib/argz_.h: ensure error_t definition is obtained in same
69893         mechanism system argz.h would have.
69894         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69895         argz facilities are known bad.  Err on the side of caution if
69896         cross-compiling.
69897
69898 2007-04-25  Eric Blake  <ebb9@byu.net>
69899
69900         * lib/fpurge.c (includes): Use stdlib.h for free.
69901         * tests/test-fflush.c (main): Also test fflush-fseeko.
69902
69903 2007-04-25  Bruno Haible  <bruno@clisp.org>
69904
69905         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69906         * lib/fseeko.c: New file.
69907         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69908         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69909         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69910         gl_FUNC_FSEEKO.
69911         (gl_FUNC_FSEEKO): Invoke it.
69912         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69913         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69914         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69915
69916 2007-04-25  Bruno Haible  <bruno@clisp.org>
69917
69918         * modules/fflush (Depends-on): Add ftello.
69919
69920 2007-04-25  Bruno Haible  <bruno@clisp.org>
69921
69922         * modules/ftello-tests: New file.
69923         * tests/test-ftello.c: New file.
69924
69925         * modules/ftello: New file.
69926         * m4/ftello.m4: New file.
69927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69928         HAVE_FTELLO.
69929         * lib/stdio_.h (ftello): New declaration.
69930         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69931         HAVE_FTELLO.
69932
69933 2007-04-25  Bruno Haible  <bruno@clisp.org>
69934
69935         * modules/fseeko-tests: New file.
69936         * tests/test-fseeko.c: New file.
69937
69938         * modules/fseeko: New file.
69939         * m4/fseeko.m4: New file.
69940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69941         HAVE_FSEEKO.
69942         * lib/stdio_.h (fseeko): New declaration.
69943         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69944         HAVE_FSEEKO.
69945
69946 2007-04-25  Bruno Haible  <bruno@clisp.org>
69947
69948         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69949
69950 2007-04-25  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69953         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69954         * tests/test-unistd.c: Likewise.
69955         * tests/test-fcntl.c: Likewise.
69956
69957 2007-04-23  Eric Blake  <ebb9@byu.net>
69958
69959         * lib/fflush.c: Fix missing include.
69960         Reported by Bruno Haible.
69961
69962 2007-04-23  Bruno Haible  <bruno@clisp.org>
69963
69964         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69965         Reported by Eric Blake.
69966
69967 2007-04-23  Bruno Haible  <bruno@clisp.org>
69968
69969         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69970
69971 2007-04-23  Bruno Haible  <bruno@clisp.org>
69972
69973         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69974
69975 2007-04-23  Bruno Haible  <bruno@clisp.org>
69976
69977         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69978         Needed on HP-UX 11.
69979
69980 2007-04-16  Eric Blake  <ebb9@byu.net>
69981
69982         Make fflush rely on fpurge.
69983         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69984         open coding all variants.
69985         * modules/fflush (Depends-on): Add fpurge and unistd.
69986         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69987         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69988
69989         Fix --with-tests compilation on cygwin.
69990         * modules/argmatch-tests (Makefile.am): List gnulib library first
69991         in LDADD.
69992         * modules/argp-tests (Makefile.am): Likewise.
69993         * modules/array-list-tests (Makefile.am): Likewise.
69994         * modules/array-oset-tests (Makefile.am): Likewise.
69995         * modules/avltree-list-tests (Makefile.am): Likewise.
69996         * modules/avltree-oset-tests (Makefile.am): Likewise.
69997         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69998         * modules/carray-list-tests (Makefile.am): Likewise.
69999         * modules/dirname-tests (Makefile.am): Likewise.
70000         * modules/frexp-tests (Makefile.am): Likewise.
70001         * modules/isnanl-tests (Makefile.am): Likewise.
70002         * modules/linked-list-tests (Makefile.am): Likewise.
70003         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70004         * modules/lock-tests (Makefile.am): Likewise.
70005         * modules/rbtree-list-tests (Makefile.am): Likewise.
70006         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70007         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70008         * modules/tls-tests (Makefile.am): Likewise.
70009         * modules/tsearch-tests (Makefile.am): Likewise.
70010         * modules/xvasprintf-tests (Makefile.am): Likewise.
70011
70012         Fix fpurge for cygwin.
70013         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70014         value.
70015         * modules/fpurge-tests (Depends-on): Clean up trash.
70016
70017 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70018
70019         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70020
70021         * m4/autobuild.m4: Re-indent.
70022
70023 2007-04-13  Bruno Haible  <bruno@clisp.org>
70024
70025         * modules/fpurge-tests: New file.
70026         * tests/test-fpurge.c: New file.
70027
70028         * modules/fpurge: New file.
70029         * lib/fpurge.h: New file.
70030         * lib/fpurge.c: New file.
70031         * m4/fpurge.m4: New file.
70032
70033 2007-04-13  Bruno Haible  <bruno@clisp.org>
70034
70035         * modules/fbufmode-tests: New file.
70036         * tests/test-fbufmode.c: New file.
70037
70038         * modules/fbufmode: New file.
70039         * lib/fbufmode.h: New file.
70040         * lib/fbufmode.c: New file.
70041         * m4/fbufmode.m4: New file.
70042
70043 2007-04-13  Bruno Haible  <bruno@clisp.org>
70044
70045         * modules/fwritable-tests: New file.
70046         * tests/test-fwritable.c: New file.
70047
70048         * modules/fwritable: New file.
70049         * lib/fwritable.h: New file.
70050         * lib/fwritable.c: New file.
70051         * m4/fwritable.m4: New file.
70052
70053 2007-04-13  Bruno Haible  <bruno@clisp.org>
70054
70055         * modules/freadable-tests: New file.
70056         * tests/test-freadable.c: New file.
70057
70058         * modules/freadable: New file.
70059         * lib/freadable.h: New file.
70060         * lib/freadable.c: New file.
70061         * m4/freadable.m4: New file.
70062
70063 2007-04-13  Bruno Haible  <bruno@clisp.org>
70064
70065         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70066         MOSTLYCLEANFILES.
70067
70068 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70069
70070         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70071         gzip bootstrap.conf to avoid dragging in i18n machinery.
70072         (gnulib_tool_option): Use it.
70073
70074 2007-04-13  Bruno Haible  <bruno@clisp.org>
70075
70076         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70077         %F directives.
70078         * tests/test-vasprintf-posix.c (test_function): Likewise.
70079         * tests/test-snprintf-posix.h (test_function): Likewise.
70080         * tests/test-sprintf-posix.h (test_function): Likewise.
70081         * tests/test-fprintf-posix.h (test_function): Likewise.
70082         * tests/test-printf-posix.h (test_function): Likewise.
70083         * tests/test-fprintf-posix.out: Likewise.
70084
70085 2007-04-13  Bruno Haible  <bruno@clisp.org>
70086
70087         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70088         * modules/tls-tests (configure.ac): Likewise.
70089         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70090
70091 2007-04-13  Bruno Haible  <bruno@clisp.org>
70092
70093         * lib/tls.c (glthread_tls_get): Fix return type.
70094         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70095
70096 2007-04-12  Eric Blake  <ebb9@byu.net>
70097
70098         * modules/gettime (Depends-on): Remove gettime.
70099         Reported by Dmitry V. Levin.
70100
70101 2007-04-12  Bruno Haible  <bruno@clisp.org>
70102
70103         * modules/fflush (Include): Mention <stdio.h>.
70104         * modules/strtoimax (Include): Mention <inttypes.h>.
70105         * modules/strtoumax (Include): Likewise.
70106
70107 2007-04-12  Eric Blake  <ebb9@byu.net>
70108
70109         * .cvsignore: New file.
70110         * .gitignore: Likewise.
70111
70112 2007-04-12  Bruno Haible  <bruno@clisp.org>
70113
70114         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70115         not before, since $(LDADD) often contains libgnu.a.
70116         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70117         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70118         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70119         Needed on Cygwin.
70120
70121 2007-04-12  Eric Blake  <ebb9@byu.net>
70122
70123         Work around glibc's failure to flush stdin on fclose.
70124         * lib/closein.c (close_stdin): Flush stdin before closing.
70125
70126         Work around glibc's failure to reset seekable stdin on exit.
70127         * modules/closein: New module.
70128         * lib/closein.c: New file.
70129         * lib/closein.h: Likewise.
70130         * m4/closein.m4: Likewise.
70131         * MODULES.html.sh (File stream based Input/Output): Document it.
70132
70133 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70134
70135         * gnulib-tool: Rename generated 'autobuild' script to
70136         'do-autobuild' in --create-megatestdir output.
70137
70138         * doc/gnulib.texi (Build robot for gnulib): Fix.
70139
70140 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70141
70142         * modules/sysexits (Depends-on): Add absolute-header.
70143
70144 2007-04-12  Eric Blake  <ebb9@byu.net>
70145
70146         No need to preserve errno on success.
70147         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70148         Reported by Bruno Haible.
70149
70150 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70151
70152         * MODULES.html.sh (Support for maintaining and releasing
70153         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70154
70155 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70156
70157         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70158
70159 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70160
70161         * modules/autobuild: New module.
70162
70163         * m4/autobuild.m4: New file.
70164
70165 2007-04-11  Bruno Haible  <bruno@clisp.org>
70166
70167         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70168         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70169         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70171         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70172         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70173         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70174         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70175         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70176         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70177         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70178         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70179         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70180         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70181         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70182         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70183         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70184         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70185         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70186         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70187         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70188         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70189         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70190         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70191         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70192         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70193         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70194         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70195         Reported by Eric Blake.
70196
70197 2007-04-11  Bruno Haible  <bruno@clisp.org>
70198
70199         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70200
70201 2007-04-10  Bruno Haible  <bruno@clisp.org>
70202
70203         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70204         for NaN and Infinity. Needed on FreeBSD 6.1.
70205         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70206         regarding results for "%010a" of Infinity and NaN.
70207         * tests/test-vasprintf-posix.c (test_function): Likewise.
70208         * tests/test-snprintf-posix.h (test_function): Likewise.
70209         * tests/test-sprintf-posix.h (test_function): Likewise.
70210         * tests/test-fprintf-posix.h (test_function): Likewise.
70211         * tests/test-printf-posix.h (test_function): Likewise.
70212         * tests/test-fprintf-posix.out: Likewise.
70213
70214 2007-04-10  Bruno Haible  <bruno@clisp.org>
70215
70216         * modules/locale-tests: New file.
70217         * tests/test-locale.c: New file.
70218
70219         * modules/locale: New file.
70220         * lib/locale_.h: New file.
70221         * m4/locale_h.m4: New file.
70222
70223 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70224             Bruno Haible  <bruno@clisp.org>
70225
70226         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70227         be determined, test for availability of the copysignf, copysign,
70228         copysignl functions.
70229         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70230         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70231         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70232
70233 2007-04-09  Eric Blake  <ebb9@byu.net>
70234
70235         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70236         * modules/stdio (Makefile.am): Support fflush.
70237         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70238         * modules/fflush: New file.
70239         * lib/fflush.c: Likewise.
70240         * m4/fflush.m4: Likewise.
70241         * modules/fflush-tests: New test.
70242         * tests/test-fflush.c: Likewise.
70243         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70244
70245 2007-04-06  Bruno Haible  <bruno@clisp.org>
70246
70247         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70248         (VASNPRINTF): Use signbit for faster determination whether to print a
70249         minus sign.
70250         * modules/vasnprintf (Files): Remove lib/float+.h.
70251         * modules/fprintf-posix (Depends-on): Add signbit.
70252         * modules/snprintf-posix (Depends-on): Likewise.
70253         * modules/sprintf-posix (Depends-on): Likewise.
70254         * modules/vasnprintf-posix (Depends-on): Likewise.
70255         * modules/vasprintf-posix (Depends-on): Likewise.
70256         * modules/vfprintf-posix (Depends-on): Likewise.
70257         * modules/vsnprintf-posix (Depends-on): Likewise.
70258         * modules/vsprintf-posix (Depends-on): Likewise.
70259
70260 2007-04-06  Bruno Haible  <bruno@clisp.org>
70261
70262         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70263         * tests/test-frexpl.c (main): Likewise.
70264         * tests/test-ldexpl.c (main): Likewise.
70265         * modules/frexp-tests (Depends-on): Add signbit.
70266         * modules/frexpl-tests (Depdends-on): Likewise.
70267         * modules/ldexpl-tests (Depdends-on): Likewise.
70268
70269 2007-04-06  Bruno Haible  <bruno@clisp.org>
70270
70271         * modules/signbit-tests: New file.
70272         * tests/test-signbit.c: New file.
70273
70274         * modules/signbit: New file.
70275         * lib/signbitf.c: New file.
70276         * lib/signbitd.c: New file.
70277         * lib/signbitl.c: New file.
70278         * m4/signbit.m4: New file.
70279         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70280         (signbit): New macro.
70281         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70282         REPLACE_SIGNBIT.
70283         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70284         REPLACE_FREXPL into math.h.
70285
70286 2007-04-06  Bruno Haible  <bruno@clisp.org>
70287
70288         * modules/isnanf-nolibm-tests: New file.
70289         * tests/test-isnanf.c: New file.
70290
70291         * modules/isnanf-nolibm: New file.
70292         * lib/isnanf.h: New file.
70293         * lib/isnanf.c: New file.
70294         * lib/isnan.c: Consider the USE_FLOAT macro.
70295         * m4/isnanf.m4: New file.
70296
70297 2007-04-06  Bruno Haible  <bruno@clisp.org>
70298
70299         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70300         (Link): New section.
70301
70302         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70303
70304 2007-04-06  Bruno Haible  <bruno@clisp.org>
70305
70306         Assume the 'long double' type.
70307         * m4/longdouble.m4: Remove file.
70308         * config/srclist.txt: Don't mention longdouble.m4.
70309         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70310         * lib/float+.h: Likewise.
70311         * lib/frexp.c: Likewise.
70312         * lib/printf-args.h: Likewise.
70313         * lib/printf-args.c: Likewise.
70314         * lib/printf-frexp.c: Likewise.
70315         * lib/printf-parse.c: Likewise.
70316         * lib/vasnprintf.c: Likewise.
70317         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70318         * m4/intl.m4: Likewise.
70319         * m4/isnanl.m4: Likewise.
70320         * m4/printf.m4: Likewise.
70321         * m4/printf-frexpl.m4: Likewise.
70322         * m4/vasnprintf.m4: Likewise.
70323         * modules/allocsa (Files): Remove m4/longdouble.m4.
70324         * modules/gettext (Files): Likewise.
70325         * modules/relocatable-prog-wrapper (Files): Likewise.
70326         * modules/vasnprintf (Files): Likewise.
70327         * modules/isnanl (Files): Likewise.
70328         (Include): Simplify.
70329         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70330         (Include): Simplify.
70331         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70332         (Include): Simplify.
70333         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70334         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70335         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70336         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70337         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70338         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70339         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70340         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70341         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70342         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70343         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70344         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70345         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70346         * tests/test-isnanl.c: Likewise.
70347         * tests/test-snprintf-posix.h: Likewise.
70348         * tests/test-sprintf-posix.h: Likewise.
70349         * tests/test-vasnprintf-posix.c: Likewise.
70350         * tests/test-vasnprintf-posix2.c: Likewise.
70351         * tests/test-vasprintf-posix.c: Likewise.
70352
70353 2007-04-06  Bruno Haible  <bruno@clisp.org>
70354
70355         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70356         * lib/math_.h [__DECC]: Include the overridden include file through
70357         #include_next, outside the double-inclusion guard.
70358         * lib/stdio_.h [__DECC]: Likewise.
70359         * lib/stdlib_.h [__DECC]: Likewise.
70360         * lib/string_.h [__DECC]: Likewise.
70361         * lib/time_.h [__DECC]: Likewise.
70362         * lib/wchar_.h [__DECC]: Likewise.
70363         * lib/wctype_.h [__DECC]: Likewise.
70364         * lib/inttypes_.h [__DECC]: Likewise.
70365         Reported by Albert Chin <china@thewrittenword.com> in
70366         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70367
70368 2007-04-04  Eric Blake  <ebb9@byu.net>
70369
70370         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70371         1.5.x.
70372
70373 2007-04-04  Bruno Haible  <bruno@clisp.org>
70374
70375         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70376         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70377
70378 2007-04-04  Bruno Haible  <bruno@clisp.org>
70379
70380         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70381         results for "%010a" of Infinity and NaN.
70382         * tests/test-vasprintf-posix.c (test_function): Likewise.
70383         * tests/test-snprintf-posix.h (test_function): Likewise.
70384         * tests/test-sprintf-posix.h (test_function): Likewise.
70385         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70386         * tests/test-printf-posix.h (test_function): Likewise.
70387         * tests/test-fprintf-posix.out: Update.
70388         Needed for FreeBSD 6.1.
70389
70390 2007-04-04  Bruno Haible  <bruno@clisp.org>
70391
70392         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70393         directly used by the gnulib modules nor by gnulib-tool.
70394
70395 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70396
70397         * DEPENDENCIES: Give overall description of version dependency
70398         desirability.  Use more-typical names for apps.
70399         Add shell, coreutils, diffutils, grep, tar, gzip.
70400
70401 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70402
70403         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70404
70405 2007-04-04  Karl Berry  <karl@gnu.org>
70406
70407         * MODULES.html.sh (func_module): missing '.
70408
70409 2007-04-03  Bruno Haible  <bruno@clisp.org>
70410
70411         * modules/argmatch-tests (Makefile.am): New variable
70412         test_argmatch_LDADD.
70413         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70414         * modules/array-list-tests (Makefile.am): New variable
70415         test_array_list_LDADD.
70416         * modules/array-oset-tests (Makefile.am): New variable
70417         test_array_oset_LDADD.
70418         * modules/avltree-list-tests (Makefile.am): New variable
70419         test_avltree_list_LDADD.
70420         * modules/avltree-oset-tests (Makefile.am): New variable
70421         test_avltree_oset_LDADD.
70422         * modules/avltreehash-list-tests (Makefile.am): New variable
70423         test_avltreehash_list_LDADD.
70424         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70425         test_canonicalize_lgpl_LDADD.
70426         * modules/carray-list-tests (Makefile.am): New variable
70427         test_carray_list_LDADD.
70428         * modules/dirname-tests (Makefile.am): New variable
70429         test_dirname_LDADD.
70430         * modules/linked-list-tests (Makefile.am): New variable
70431         test_linked_list_LDADD.
70432         * modules/linkedhash-list-tests (Makefile.am): New variable
70433         test_linkedhash_list_LDADD.
70434         * modules/rbtree-list-tests (Makefile.am): New variable
70435         test_rbtree_list_LDADD.
70436         * modules/rbtree-oset-tests (Makefile.am): New variable
70437         test_rbtree_oset_LDADD.
70438         * modules/rbtreehash-list-tests (Makefile.am): New variable
70439         test_rbtreehash_list_LDADD.
70440         * modules/xvasprintf-tests (Makefile.am): New variable
70441         test_xvasprintf_LDADD.
70442         Reported by Eric Blake.
70443
70444 2007-04-03  Eric Blake  <ebb9@byu.net>
70445
70446         * DEPENDENCIES: Weaken m4 requirements.
70447
70448 2007-04-03  Bruno Haible  <bruno@clisp.org>
70449
70450         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70451         * modules/isnanl-tests (configure.ac): Likewise.
70452
70453 2007-04-03  Ben Pfaff  <blp@gnu.org>
70454
70455         * modules/iconv_open: Add $(srcdir)/ to source directory
70456         references in Makefile fragments that call gperf, to fix VPATH
70457         builds.
70458
70459 2007-04-03  Bruno Haible  <bruno@clisp.org>
70460
70461         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70462         * lib/ldexpl.c: Undo last change.
70463
70464 2007-04-03  Bruno Haible  <bruno@clisp.org>
70465
70466         * modules/printf-frexpl (Depends-on): Undo last change.
70467         (Files): Add m4/ldexpl.m4.
70468
70469 2007-04-03  Bruno Haible  <bruno@clisp.org>
70470
70471         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70472         * modules/isnanl (Link): New section.
70473
70474         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70475         * modules/frexp (Link): New section.
70476
70477         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70478         * modules/frexpl (Link): New section.
70479
70480         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70481         * modules/ldexpl (Link): New section.
70482
70483 2007-04-03  Bruno Haible  <bruno@clisp.org>
70484
70485         * modules/TEMPLATE-EXTENDED: New file.
70486         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70487
70488 2007-04-03  Bruno Haible  <bruno@clisp.org>
70489
70490         * DEPENDENCIES: New file.
70491         Suggested by Simon Josefsson.
70492
70493 2007-04-03  Bruno Haible  <bruno@clisp.org>
70494
70495         * doc/gnulib.texi: Escape @.
70496
70497 2007-04-03  James Youngman  <jay@gnu.org>
70498         and Paul Eggert  <eggert@cs.ucla.edu>
70499
70500         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70501         birthtime on all systems that have birthtime, not just those which
70502         use st_birthtimensec rather than st_birthtim.  Putting zero in
70503         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70504         that the birth time is not available for files on an NFS mount.
70505
70506 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70507
70508         * modules/memxor: Move back from crypto/, suggested by Bruno.
70509         * modules/crypto/hmac-sha1: Fix memxor dependency.
70510
70511         * modules/crypto/gc: Moved from ../.
70512
70513 2007-04-02  Eric Blake  <ebb9@byu.net>
70514
70515         * lib/ldexpl.c (includes): Avoid libm.
70516
70517         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70518
70519 2007-04-02  Bruno Haible  <bruno@clisp.org>
70520
70521         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70522         on IRIX.
70523
70524 2007-04-02  Bruno Haible  <bruno@clisp.org>
70525
70526         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70527         x86 or x86_64 platforms running MacOS X.
70528         Reported by Ryan Schmidt <@ryandesign.com>.
70529
70530 2007-04-02  Bruno Haible  <bruno@clisp.org>
70531
70532         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70533         i386.
70534
70535 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70536
70537         * modules/crypto/arcfour: Moved from ../.
70538         * modules/crypto/arcfour-tests: Moved from ../.
70539         * modules/crypto/arctwo: Moved from ../.
70540         * modules/crypto/arctwo-tests: Moved from ../.
70541         * modules/crypto/des: Moved from ../.
70542         * modules/crypto/des-tests: Moved from ../.
70543         * modules/crypto/gc-arcfour: Moved from ../.
70544         * modules/crypto/gc-arcfour-tests: Moved from ../.
70545         * modules/crypto/gc-arctwo: Moved from ../.
70546         * modules/crypto/gc-arctwo-tests: Moved from ../.
70547         * modules/crypto/gc-des: Moved from ../.
70548         * modules/crypto/gc-des-tests: Moved from ../.
70549         * modules/crypto/gc-hmac-md5: Moved from ../.
70550         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70551         * modules/crypto/gc-hmac-sha1: Moved from ../.
70552         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70553         * modules/crypto/gc-md2: Moved from ../.
70554         * modules/crypto/gc-md2-tests: Moved from ../.
70555         * modules/crypto/gc-md4: Moved from ../.
70556         * modules/crypto/gc-md4-tests: Moved from ../.
70557         * modules/crypto/gc-md5: Moved from ../.
70558         * modules/crypto/gc-md5-tests: Moved from ../.
70559         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70560         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70561         * modules/crypto/gc-random: Moved from ../.
70562         * modules/crypto/gc-rijndael: Moved from ../.
70563         * modules/crypto/gc-rijndael-tests: Moved from ../.
70564         * modules/crypto/gc-sha1: Moved from ../.
70565         * modules/crypto/gc-sha1-tests: Moved from ../.
70566         * modules/crypto/gc-tests: Moved from ../.
70567         * modules/crypto/hmac-md5: Moved from ../.
70568         * modules/crypto/hmac-md5-tests: Moved from ../.
70569         * modules/crypto/hmac-sha1: Moved from ../.
70570         * modules/crypto/hmac-sha1-tests: Moved from ../.
70571         * modules/crypto/md2: Moved from ../.
70572         * modules/crypto/md2-tests: Moved from ../.
70573         * modules/crypto/md4: Moved from ../.
70574         * modules/crypto/md4-tests: Moved from ../.
70575         * modules/crypto/md5: Moved from ../.
70576         * modules/crypto/md5-tests: Moved from ../.
70577         * modules/crypto/memxor: Moved from ../.
70578         * modules/crypto/rijndael: Moved from ../.
70579         * modules/crypto/rijndael-tests: Moved from ../.
70580         * modules/crypto/sha1: Moved from ../.
70581
70582 2007-03-30  James Youngman  <jay@gnu.org>
70583
70584         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70585         rename() to change the ctime of a file (because ctime is unaffected
70586         by rename on jfs2 on AIX 5.1).
70587         (main): Start by doing cleanup, in case a previous run failed leaving
70588         test files behind.
70589
70590 2007-03-31  Bruno Haible  <bruno@clisp.org>
70591
70592         Support old proprietary implementations of iconv.
70593         * modules/iconv_open: New file.
70594         * lib/iconv_.h: New file.
70595         * m4/iconv_h.m4: New file.
70596         * lib/iconv_open.c: New file.
70597         * lib/iconv_open-aix.gperf: New file.
70598         * lib/iconv_open-hpux.gperf: New file.
70599         * lib/iconv_open-irix.gperf: New file.
70600         * lib/iconv_open-osf.gperf: New file.
70601         * m4/iconv_open.m4: New file.
70602         * modules/linebreak (Depends-on): Add iconv_open.
70603         * modules/striconv (Depends-on): Likewise.
70604         * modules/striconveh (Depends-on): Likewise.
70605         * modules/unicodeio (Depends-on): Likewise.
70606         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70607         (iconv_t)(-1).
70608         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70609         conversion if cd is (iconv_t)(-1).
70610         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70611         is not possible.
70612
70613 2007-03-31  Bruno Haible  <bruno@clisp.org>
70614
70615         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70616         work on Solaris either. Protect also second use of "autodetect_jp".
70617
70618 2007-03-31  Bruno Haible  <bruno@clisp.org>
70619
70620         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70621         the function is not present.
70622
70623 2007-03-31  Bruno Haible  <bruno@clisp.org>
70624
70625         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70626         the function is not present.
70627
70628 2007-03-31  Bruno Haible  <bruno@clisp.org>
70629
70630         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70631         a bug in HP-UX iconv_open().
70632
70633 2007-03-31  Bruno Haible  <bruno@clisp.org>
70634
70635         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70636         (Mathematics <math.h>): New section, add fpieee.
70637         (Input/output <stdio.h>): Add fseterr.
70638         (Mathematics <math.h>): New section, add printf-frexp.
70639         (Container data structures): Add sublist.
70640         (Core language properties): Add fpucw, inline.
70641         (Functions for greatest-width integer types <inttypes.h>): Add
70642         imaxabs, imaxdiv, inttypes.
70643         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70644         isnanl-nolibm, ldexp.
70645         (Mathematics <math.h>): New section, add printf-frexpl.
70646         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70647         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70648         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70649         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70650         (Unicode string functions): Add unistr/u*-mbtoucr.
70651         (Java): Add javacomp-script, javaexec-script.
70652         (C#): Add csharpcomp-script, csharpexec-script.
70653         (Support for building libraries and executables): Add havelib,
70654         relocatable-*.
70655         (Support for maintaining and releasing projects): Renamed from
70656         'Support for maintaining and release projects'. Add announce-gen.
70657
70658 2007-03-31  Bruno Haible  <bruno@clisp.org>
70659
70660         * README: Talk primarily about git.
70661         (git and CVS): Renamed from CVS.
70662         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70663         gnulib is available through git.
70664         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70665
70666 2007-03-30  Bruno Haible  <bruno@clisp.org>
70667
70668         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70669         * lib/poll_.h: Likewise.
70670         * lib/stat_.h: Likewise.
70671         * lib/sys_time_.h: Likewise.
70672         * lib/sysexit_.h: Likewise.
70673         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70674         * lib/stdbool_.h: Likewise.
70675         * lib/byteswap_.h: Add double-inclusion guard.
70676
70677 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70678
70679         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70680
70681 2007-03-30  Karl Berry  <karl@gnu.org>
70682
70683         * config/srclist-update: double space after USA in the license
70684         substitution, since that's how it's usually (?) written.
70685
70686 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70687
70688         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70689         reported by Bruno Haible.
70690
70691 2007-03-29  Bruno Haible  <bruno@clisp.org>
70692
70693         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70694         a bug in AIX iconv().
70695
70696 2007-03-29  Bruno Haible  <bruno@clisp.org>
70697
70698         * modules/ldexpl-tests: New file.
70699         * tests/test-ldexpl.c: New file.
70700
70701 2007-03-29  Bruno Haible  <bruno@clisp.org>
70702
70703         * lib/ldexpl.c: Include fpucw.h.
70704         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70705         multiplication.
70706         * modules/ldexpl (Depends-on): Add fpucw.
70707
70708 2007-03-29  Bruno Haible  <bruno@clisp.org>
70709
70710         * modules/ldexpl: New file.
70711         * m4/ldexpl.m4: New file.
70712         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70713         set.
70714         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70715         REPLACE_LDEXPL.
70716         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70717         REPLACE_LDEXPL.
70718         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70719         gl_FUNC_LDEXPL_WORKS.
70720         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70721         * modules/mathl (Files): Remove lib/ldexpl.c.
70722         (Depends-on): Add ldexpl.
70723
70724 2007-03-29  Bruno Haible  <bruno@clisp.org>
70725
70726         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70727
70728 2007-03-29  Bruno Haible  <bruno@clisp.org>
70729
70730         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70731         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70732         and possibly also HP-UX.
70733         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70734         work on AIX, IRIX, HP-UX, OSF/1.
70735         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70736         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70737         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70738         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70739         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70740         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70741
70742 2007-03-29  Bruno Haible  <bruno@clisp.org>
70743
70744         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70745
70746 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70747
70748         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70749         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70750
70751 2007-03-29  Eric Blake  <ebb9@byu.net>
70752
70753         * lib/acl-internal.h: Remove redundant include.
70754         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70755         Cygwin when a file is locked.
70756
70757 2007-03-29  Bruno Haible  <bruno@clisp.org>
70758
70759         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70760         file.
70761         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70762
70763 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70764
70765         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70766         try to remove a parent directory if the child couldn't be removed
70767         (except for the first rmdir, which could fail because the child
70768         doesn't exist).  Problem reported by Jeff Blaine in
70769         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70770
70771 2007-03-28  Bruno Haible  <bruno@clisp.org>
70772
70773         * lib/striconveh.c (utf8conv_carefully): New function.
70774         (mem_cd_iconveh_internal): Invoke it.
70775
70776 2007-03-28  Bruno Haible  <bruno@clisp.org>
70777
70778         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70779         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70780         input.
70781         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70782         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70783         unistr/u8-uctomb.
70784
70785 2007-03-28  Bruno Haible  <bruno@clisp.org>
70786
70787         * modules/unistr/u8-mbtoucr: New file.
70788         * lib/unistr/u8-mbtoucr.c: New file.
70789         * modules/unistr/u16-mbtoucr: New file.
70790         * lib/unistr/u16-mbtoucr.c: New file.
70791         * modules/unistr/u16-mbtoucr: New file.
70792         * lib/unistr/u16-mbtoucr.c: New file.
70793         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70794
70795 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70796             Bruno Haible  <bruno@clisp.org>
70797
70798         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70799         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70800         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70801
70802         * m4/stdio_h.m4: Add stubs for vasprintf too.
70803
70804         * modules/stdio: Support vasprintf in sed command.
70805
70806         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70807         vasprintf.h.  Add stdio module indicator.
70808
70809         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70810         vasprintf.h.
70811
70812         * lib/vasprintf.h: File removed.
70813
70814         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70815         * lib/vasprintf.c: Ditto.
70816         * lib/xvasprintf.c: Ditto.
70817         * tests/test-vasprintf-posix.c: Ditto.
70818         * tests/test-vasprintf.c: Ditto.
70819
70820 2007-03-27  Bruno Haible  <bruno@clisp.org>
70821
70822         Make vasnprintf multithread-safe.
70823         * lib/vasnprintf.c (decimal_point_char): New function.
70824         (VASNPRINTF): Use it.
70825         Suggested by Simon Josefsson.
70826
70827 2007-03-27  Eric Blake  <ebb9@byu.net>
70828
70829         Support sub-second birthtime on cygwin.
70830         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70831         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70832         (get_stat_birthtime): Also work with st_birthtim.
70833
70834 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70835
70836         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70837         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70838         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70839         (get_stat_birthtime_ns): Simplify compile-time tests.
70840         (get_stat_birthtime): Change the API to look like
70841         get_stat_mtime etc., except return a negative tv_nsec on error.
70842         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70843         Don't check for "spare" fields.
70844         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70845         or for struct stat.st_birthtime, as these tests aren't used.
70846         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70847
70848 2007-03-27  Bruno Haible  <bruno@clisp.org>
70849
70850         * lib/stat-time.h: Include <sys/stat.h>.
70851
70852 2007-03-27  James Youngman  <jay@gnu.org>
70853
70854         * lib/stat-time.h (get_stat_birthtime): New function for
70855           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70856         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70857           and its variants.
70858         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70859         * modules/stat-time-test: New file.
70860         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70861
70862 2007-03-26  Bruno Haible  <bruno@clisp.org>
70863
70864         Better support of signalling NaNs.
70865         * lib/atanl.c: Include isnanl.h.
70866         (atanl): Perform test for NaN at the beginning of the function and
70867         through a call to isnanl.
70868         * lib/cosl.c: Include isnanl.h.
70869         (cosl): Perform test for NaN at the beginning of the function and
70870         through a call to isnanl.
70871         * lib/ldexpl.c: Include isnanl.h.
70872         (ldexpl): Perform test for NaN through a call to isnanl.
70873         * lib/logl.c: Include isnanl.h.
70874         (logl): Perform test for NaN at the beginning of the function and
70875         through a call to isnanl.
70876         * lib/sinl.c: Include isnanl.h.
70877         (sinl): Perform test for NaN at the beginning of the function and
70878         through a call to isnanl.
70879         * lib/sqrtl.c: Include isnanl.h.
70880         (sqrtl): Perform test for NaN at the beginning of the function and
70881         through a call to isnanl.
70882         * lib/tanl.c: Include isnanl.h.
70883         (tanl): Perform test for NaN at the beginning of the function and
70884         through a call to isnanl.
70885         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70886         * modules/mathl (Depends-on): Add isnanl.
70887
70888 2007-03-26  Eric Blake  <ebb9@byu.net>
70889
70890         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70891         regression in logic sense of previous patch.
70892
70893 2007-03-26  Bruno Haible  <bruno@clisp.org>
70894
70895         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70896         unportable shell command "if ! ...".
70897         Reported by Ralf Wildenhues.
70898
70899 2007-03-25  Bruno Haible  <bruno@clisp.org>
70900
70901         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70902         <sysexits.h> file, and only add EX_CONFIG.
70903         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70904         absolute file name and whether it is sufficient. Substitute also
70905         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70906         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70907         ABSOLUTE_SYSEXITS_H into sysexits.h.
70908
70909 2007-03-25  Bruno Haible  <bruno@clisp.org>
70910
70911         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70912         hints is NULL.
70913
70914 2007-03-25  Bruno Haible  <bruno@clisp.org>
70915
70916         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70917         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70918
70919 2007-03-25  Bruno Haible  <bruno@clisp.org>
70920
70921         * lib/vasnprintf.c: Include langinfo.h.
70922         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70923         multithread-safe.
70924         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70925         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70926         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70927         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70928         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70929         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70930         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70931         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70932         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70933         Reported by Simon Josefsson.
70934
70935 2007-03-25  Bruno Haible  <bruno@clisp.org>
70936
70937         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70938         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70939         * modules/vasnprintf (Depends-on): Add stdint.
70940
70941 2007-03-25  Bruno Haible  <bruno@clisp.org>
70942
70943         * modules/fpieee: New file.
70944         * m4/fpieee.m4: New file.
70945         * modules/isnan-nolibm (Depends-on): Add fpieee.
70946         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70947         * modules/isnanl (Depends-on): Add fpieee.
70948
70949 2007-03-25  Bruno Haible  <bruno@clisp.org>
70950
70951         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70952
70953 2007-03-25  Bruno Haible  <bruno@clisp.org>
70954
70955         Avoid test failures on IRIX 6.5.
70956         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70957         (main): Use it.
70958         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70959         macros.
70960         (main): Use them.
70961
70962 2007-03-25  Bruno Haible  <bruno@clisp.org>
70963
70964         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70965         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70966         exists but doesn't work.
70967         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70968         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70969         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70970         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70971         math.h.
70972
70973 2007-03-25  Bruno Haible  <bruno@clisp.org>
70974
70975         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70976         returns inf. Needed on IRIX 6.5.
70977
70978 2007-03-25  Bruno Haible  <bruno@clisp.org>
70979
70980         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70981         (main): Use isnanl instead of x != x idiom.
70982         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70983
70984         * tests/test-frexp.c: Include isnan.h.
70985         (main): Use isnan instead of x != x idiom.
70986         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70987
70988 2007-03-25  Bruno Haible  <bruno@clisp.org>
70989
70990         * tests/test-frexp.c (NaN): New function/macro.
70991         (main): Use it instead of 0.0 / 0.0.
70992         * tests/test-isnan.c (NaN): New function/macro.
70993         (main): Use it instead of 0.0 / 0.0.
70994         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70995         (test_function): Use it instead of 0.0 / 0.0.
70996         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70997         (test_function): Use it instead of 0.0 / 0.0.
70998         * tests/test-snprintf-posix.h (NaN): New function/macro.
70999         (test_function): Use it instead of 0.0 / 0.0.
71000         * tests/test-sprintf-posix.h (NaN): New function/macro.
71001         (test_function): Use it instead of 0.0 / 0.0.
71002         * tests/test-fprintf-posix.h (NaN): New function/macro.
71003         (test_function): Use it instead of 0.0 / 0.0.
71004         * tests/test-printf-posix.h (NaN): New function/macro.
71005         (test_function): Use it instead of 0.0 / 0.0.
71006
71007         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71008
71009 2007-03-25  Bruno Haible  <bruno@clisp.org>
71010
71011         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71012
71013 2007-03-25  Bruno Haible  <bruno@clisp.org>
71014
71015         * lib/regexec.c (merge_state_with_log): Make static.
71016
71017 2007-03-25  Bruno Haible  <bruno@clisp.org>
71018
71019         * lib/trigl.c (kernel_rem_pio2): Make static.
71020
71021 2007-03-25  Bruno Haible  <bruno@clisp.org>
71022
71023         * lib/sincosl.c (sincosl_table): Make static.
71024
71025 2007-03-25  Bruno Haible  <bruno@clisp.org>
71026
71027         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71028         if the compiler does not support C99.
71029
71030 2007-03-25  Bruno Haible  <bruno@clisp.org>
71031
71032         * modules/time (Makefile.am): Ensure all rule action lines start with a
71033         tab.
71034
71035 2007-03-24  Bruno Haible  <bruno@clisp.org>
71036
71037         * modules/tsearch-tests: New file.
71038         * tests/test-tsearch.sh: New file.
71039         * tests/test-tsearch.c: New file, mostly copied from glibc.
71040
71041         * modules/search-tests: New file.
71042         * tests/test-search.c: New file.
71043
71044         * modules/search: New file.
71045         * lib/search_.h: New file, incorporating lib/tsearch.h.
71046         * m4/search_h.m4: New file.
71047         * lib/tsearch.h: Remove file.
71048         * lib/tsearch.c: Include search.h instead of tsearch.h.
71049         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71050         HAVE_TSEARCH.
71051         * modules/tsearch (Files): Remove lib/tsearch.h.
71052         (Depends-on): Add search.
71053         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71054         (Include): Change tsearch.h into search.h.
71055
71056 2007-03-24  Bruno Haible  <bruno@clisp.org>
71057
71058         * modules/fpucw: New file.
71059         * lib/fpucw.h: New file.
71060         * lib/frexp.c: Include fpucw.h.
71061         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71062         (FUNC): Use them.
71063         * lib/printf-frexp.c: Include fpucw.h.
71064         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71065         (FUNC): Use them.
71066         * lib/vasnprintf.c: Include fpucw.h.
71067         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71068         'long double' calculations.
71069         * tests/test-frexpl.c: Include fpucw.h.
71070         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71071         * tests/test-printf-frexpl.c: Include fpucw.h.
71072         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71073         * modules/frexpl (Depends-on): Add fpucw.
71074         * modules/printf-frexpl (Depends-on): Likewise.
71075         * modules/fprintf-posix (Depends-on): Likewise.
71076         * modules/snprintf-posix (Depends-on): Likewise.
71077         * modules/sprintf-posix (Depends-on): Likewise.
71078         * modules/vasnprintf-posix (Depends-on): Likewise.
71079         * modules/vasprintf-posix (Depends-on): Likewise.
71080         * modules/vfprintf-posix (Depends-on): Likewise.
71081         * modules/vsnprintf-posix (Depends-on): Likewise.
71082         * modules/vsprintf-posix (Depends-on): Likewise.
71083         * modules/frexpl-tests (Depends-on): Likewise.
71084         * modules/printf-frexpl-tests (Depends-on): Likewise.
71085
71086 2007-03-24  Bruno Haible  <bruno@clisp.org>
71087
71088         * lib/float+.h: New file.
71089         * lib/isnan.c: Include float+.h.
71090         (SIZE): New macro.
71091         (FUNC): Compare only SIZE bytes of the value.
71092         * lib/vasnprintf.c: Include float+.h.
71093         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71094         SIZEOF_LDBL or SIZEOF_DBL bytes.
71095         * modules/isnan-nolibm (Files): Add lib/float+.h.
71096         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71097         * modules/isnanl (Files): Add lib/float+.h.
71098         * modules/vasnprintf (Files): Add lib/float+.h.
71099
71100 2007-03-24  Bruno Haible  <bruno@clisp.org>
71101
71102         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71103         include isnanl-nolibm.h.
71104
71105 2007-03-24  Bruno Haible  <bruno@clisp.org>
71106
71107         * tests/test-read-file.c (main): Don't produce spurious output for
71108         expected situations. Make the test fail if it encountered unexpected
71109         results.
71110
71111 2007-03-24  Bruno Haible  <bruno@clisp.org>
71112
71113         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71114         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71115
71116 2007-03-24  Bruno Haible  <bruno@clisp.org>
71117
71118         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71119
71120 2007-03-24  Bruno Haible  <bruno@clisp.org>
71121
71122         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71123         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71124
71125         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71126         * modules/utf8-ucs4: Turn into a symbolic link to module
71127         unistr/u8-mbtouc.
71128
71129         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71130         utf8-ucs4-unsafe.
71131         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71132         unistr/u8-mbtouc-unsafe.
71133
71134         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71135         * modules/utf16-ucs4: Turn into a symbolic link to module
71136         unistr/u16-mbtouc.
71137
71138         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71139         utf16-ucs4-unsafe.
71140         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71141         unistr/u16-mbtouc-unsafe.
71142
71143         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71144         * modules/ucs4-utf8: Turn into a symbolic link to module
71145         unistr/u8-ubtomb.
71146
71147         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71148         * modules/ucs4-utf16: Turn into a symbolic link to module
71149         unistr/u16-ubtomb.
71150
71151 2007-03-24  Bruno Haible  <bruno@clisp.org>
71152
71153         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71154         Enable the function only if HAVE_INLINE.
71155         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71156         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71157         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71158         Enable the function only if HAVE_INLINE.
71159         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71160         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71161         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71162         Enable the function only if HAVE_INLINE.
71163         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71164         Enable the function only if HAVE_INLINE.
71165         * modules/utf8-ucs4: Update.
71166         * modules/utf8-ucs4-unsafe: Update.
71167         * modules/utf16-ucs4: Update.
71168         * modules/utf16-ucs4-unsafe: Update.
71169         * modules/ucs4-utf8: Update.
71170         * modules/ucs4-utf16: Update.
71171
71172 2007-03-24  Bruno Haible  <bruno@clisp.org>
71173
71174         * lib/utf8-ucs4.h: Remove file.
71175         * lib/utf8-ucs4-unsafe.h: Remove file.
71176         * lib/utf16-ucs4.h: Remove file.
71177         * lib/utf16-ucs4-unsafe.h: Remove file.
71178         * lib/ucs4-utf8.h: Remove file.
71179         * lib/ucs4-utf16.h: Remove file.
71180         * lib/unistr.h: Include their previous contents.
71181         * m4/utf-ucs4.m4: Remove file.
71182         * m4/ucs4-utf.m4: Remove file.
71183         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71184         (Depends-on): Add unistr/base.
71185         (configure.ac): Remove gl_UTF_UCS4.
71186         (Makefile.am): Update.
71187         (Include): Change to unistr.h.
71188         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71189         (Depends-on): Add unistr/base.
71190         (configure.ac): Remove gl_UTF_UCS4.
71191         (Makefile.am): Update.
71192         (Include): Change to unistr.h.
71193         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71194         (Depends-on): Add unistr/base.
71195         (configure.ac): Remove gl_UTF_UCS4.
71196         (Makefile.am): Update.
71197         (Include): Change to unistr.h.
71198         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71199         (Depends-on): Add unistr/base.
71200         (configure.ac): Remove gl_UTF_UCS4.
71201         (Makefile.am): Update.
71202         (Include): Change to unistr.h.
71203         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71204         (Depends-on): Add unistr/base.
71205         (configure.ac): Remove gl_UCS4_UTF.
71206         (Makefile.am): Update.
71207         (Include): Change to unistr.h.
71208         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71209         (Depends-on): Add unistr/base.
71210         (configure.ac): Remove gl_UCS4_UTF.
71211         (Makefile.am): Update.
71212         (Include): Change to unistr.h.
71213         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71214         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71215         utf8-ucs4-unsafe.h.
71216         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71217         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71218         utf16-ucs4-unsafe.h.
71219         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71220         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71221         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71222         * lib/unistr/u8-strchr.c: Likewise.
71223         * lib/unistr/u8-strrchr.c: Likewise.
71224         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71225         * lib/unistr/u16-strchr.c: Likewise.
71226         * lib/unistr/u16-strrchr.c: Likewise.
71227         * lib/striconveh.c: Update.
71228         * lib/linebreak.c: Update.
71229
71230 2007-03-24  Bruno Haible  <bruno@clisp.org>
71231
71232         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71233         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71234
71235 2007-03-22  Bruno Haible  <bruno@clisp.org>
71236
71237         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71238
71239 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71240
71241         * MODULES.html.sh (File system functions): New module write-any-file.
71242         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71243         * m4/write-any-file.m4: New files.
71244
71245 2007-03-23  Eric Blake  <ebb9@byu.net>
71246
71247         * gnulib-tool: Rearrange space-tab sequences, since some editors
71248         like to eat them.
71249
71250 2007-03-23  Eric Blake  <ebb9@byu.net>
71251
71252         * lib/version-etc.c (version_etc_va): Update license wording to
71253         be more concise.  Recommended by Richard Stallman.
71254
71255 2007-03-22  Bruno Haible  <bruno@clisp.org>
71256
71257         * lib/poll.c (MSG_PEEK): New fallback definition.
71258
71259 2007-03-22  Bruno Haible  <bruno@clisp.org>
71260
71261         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71262         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71263         (main): Update.
71264         Fixes a compilation error on BeOS.
71265
71266 2007-03-22  Bruno Haible  <bruno@clisp.org>
71267
71268         * modules/frexpl-tests: New file.
71269         * tests/test-frexpl.c: New file.
71270
71271         * modules/frexpl: New file.
71272         * m4/frexpl.m4: New file.
71273         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71274         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71276         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71277         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71278         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71279
71280 2007-03-22  Bruno Haible  <bruno@clisp.org>
71281
71282         * lib/frexpl.c: Share code with lib/frexp.c.
71283         * modules/mathl (Files): Add lib/frexp.c.
71284         (Depends-on): Add isnanl-nolibm.
71285
71286 2007-03-22  Bruno Haible  <bruno@clisp.org>
71287
71288         * modules/printf-frexp (Files): Add m4/frexp.m4.
71289         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71290         only if the found frexp function actually works.
71291
71292 2007-03-22  Bruno Haible  <bruno@clisp.org>
71293
71294         * lib/frexp.c: Remove older implementation that uses divisions.
71295
71296 2007-03-21  Bruno Haible  <bruno@clisp.org>
71297
71298         * modules/frexp-tests: New file.
71299         * tests/test-frexp.c: New file.
71300
71301         * modules/frexp: New file.
71302         * lib/frexp.c: New file.
71303         * m4/frexp.m4: New file.
71304         * lib/math_.h (frexp): New declaration.
71305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71306         REPLACE_FREXP.
71307         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71308
71309 2007-03-21  Bruno Haible  <bruno@clisp.org>
71310
71311         * modules/isnanl-tests: New file.
71312         * tests/test-isnanl.c: New file.
71313
71314         * modules/isnanl: New file.
71315         * lib/isnanl.h: New file.
71316         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71317         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71318         gl_FUNC_ISNANL_WORKS.
71319         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71320         New macros.
71321
71322 2007-03-21  Bruno Haible  <bruno@clisp.org>
71323
71324         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71325         lib/isnanl.h.
71326         (Include): Update.
71327         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71328         * lib/vasnprintf.c: Update.
71329         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71330         tests/test-isnanl.h, remove tests/test-isnanl.c.
71331         (Makefile.am): Update.
71332         * tests/test-isnanl-nolibm.c: New file.
71333         * tests/test-isnanl.h: New file.
71334         * tests/test-isnanl.c: Remove file.
71335
71336 2007-03-21  Jim Meyering  <jim@meyering.net>
71337
71338         When trying to open ".", treat ESTALE like EACCES.
71339         * lib/savewd.c (savewd_save): Resort to forking not just upon
71340         failure with EACCES, but also when errno is ESTALE.
71341
71342 2007-03-20  Bruno Haible  <bruno@clisp.org>
71343
71344         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71345         Needed on AIX 5.1. Reported by Matthew Woehlke.
71346
71347 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71348
71349         Suggestions by Bruno Haible:
71350         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71351         our own.
71352         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71353         * modules/acl (Depends-on): Add gettext.
71354
71355 2007-03-19  Bruno Haible  <bruno@clisp.org>
71356
71357         * modules/iconvme: Remove file.
71358         * lib/iconvme.h: Remove file.
71359         * lib/iconvme.c: Remove file.
71360         * m4/iconvme.m4: Remove file.
71361
71362 2007-03-19  Bruno Haible  <bruno@clisp.org>
71363
71364         * doc/relocatable-maint.texi: Break long shell script line.
71365         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71366
71367 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71368
71369         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71370         handle file_has_acl.
71371         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71372         * lib/acl.c: Move header inclusions and related macro defns into
71373         lib/acl-internal.h.
71374         (S_ISLNK): Remove defn, since that's now done for us.
71375         (file_has_acl): Move to lib/file-has-acl.c.
71376         Call acl_trivial if available.  This is the crucial part of the fix.
71377         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71378         shared within the library.  Rewrite a bit, partly to make it compatible
71379         with the GNU coding style.
71380         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71381         Remove unnecessary double-quotes.
71382         Don't test for acl_to_text; the build will catch that.
71383         Replace acl_entries if it doesn't exist and it is needed.
71384         Check for -lsec and acl_trivial (as used on Solaris 10).
71385         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71386         lib/file-has-acl.c.
71387         (Depends-on): Add sys_stat, for S_ISLNK.
71388
71389 2007-03-19  Ben Pfaff  <blp@gnu.org>
71390
71391         * doc/gnulib.texi: Fix typos.
71392         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71393
71394 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71395
71396         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71397         If size is zero here, buf must be zero.
71398
71399 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71400
71401         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71402         <bruno@clisp.org>.
71403
71404 2007-03-18  Bruno Haible  <bruno@clisp.org>
71405
71406         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71407         Suggested by Eric Blake.
71408
71409 2007-03-18  Ben Pfaff  <blp@gnu.org>
71410
71411         * doc/relocatable.texi: Recommend using as prefix a directory
71412         that does not exist and will never be created.  Based on
71413         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71414         and others.
71415
71416 2007-03-17  Bruno Haible  <bruno@clisp.org>
71417
71418         * lib/fchownat.c: Include lchown.h.
71419
71420 2007-03-17  Bruno Haible  <bruno@clisp.org>
71421
71422         Fix endless loop when the given allocated size was > INT_MAX.
71423         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71424         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71425         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71426         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71427         * lib/sprintf.c (sprintf): Likewise.
71428
71429 2007-03-17  Bruno Haible  <bruno@clisp.org>
71430
71431         * tests/test-argp-2.sh (func_compare): Output a context diff.
71432
71433 2007-03-17  Bruno Haible  <bruno@clisp.org>
71434
71435         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71436         locale's decimal-point character.
71437
71438 2007-03-17  Bruno Haible  <bruno@clisp.org>
71439
71440         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71441         before comparing it. Needed because on some platforms (e.g. x86) a
71442         'long double' occupies less bytes than sizeof (long double).
71443
71444 2007-03-17  Bruno Haible  <bruno@clisp.org>
71445
71446         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71447         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71448         * tests/test-getaddrinfo.c (simple): Likewise.
71449         * tests/test-read-file.c (main): Likewise.
71450
71451 2007-03-17  Bruno Haible  <bruno@clisp.org>
71452
71453         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71454
71455 2007-03-17  Bruno Haible  <bruno@clisp.org>
71456
71457         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71458         unused variable.
71459
71460 2007-03-17  Bruno Haible  <bruno@clisp.org>
71461
71462         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71463         * tests/test-c-strncasecmp.c: Likewise.
71464
71465 2007-03-17  Bruno Haible  <bruno@clisp.org>
71466
71467         * modules/stdlib (Depends-on): Add unistd.
71468         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71469         Needed for MacOS X 10.3.
71470
71471 2007-03-17  Bruno Haible  <bruno@clisp.org>
71472
71473         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71474
71475 2007-03-17  Bruno Haible  <bruno@clisp.org>
71476
71477         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71478
71479 2007-03-17  Bruno Haible  <bruno@clisp.org>
71480
71481         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71482         to reflect files copied from gnulib (with or without modifications).
71483         Suggested by Jim Meyering.
71484
71485 2007-03-17  Eric Blake  <ebb9@byu.net>
71486
71487         * NEWS: Document stdlib change from 2007-02-18.
71488
71489 2007-03-17  Jim Meyering  <jim@meyering.net>
71490
71491         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71492         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71493         someone uses a name containing shell meta-characters.
71494         Reported by Alfred M. Szmidt.
71495
71496         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71497
71498 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71499
71500         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71501         and copy gettext configuration files only if configure.ac contains
71502         a use of AM_GNU_GETTEXT_VERSION.
71503
71504 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71505
71506         * build-aux/bootstrap (gnulib_name): New variable.
71507         (gnulib_tool_options): Use it.
71508
71509 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71510
71511         * tests/test-des.c: Use new namespace.
71512
71513 2007-03-15  Bruno Haible  <bruno@clisp.org>
71514
71515         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71516         Reported by James Youngman <jay@gnu.org>.
71517
71518 2007-03-15  Bruno Haible  <bruno@clisp.org>
71519
71520         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71521         declared prototype. Needed with cc on OSF/1 5.1.
71522
71523 2007-03-15  Bruno Haible  <bruno@clisp.org>
71524
71525         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71526         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71527         (struct gl_list_implementation): Add dispose_fn argument to the
71528         'create_empty', 'create' methods.
71529         (struct gl_list_impl_base): Add field 'dispose_fn'.
71530         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71531         argument.
71532         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71533         dispose_fn argument.
71534         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71535         dispose_fn on the dropped values.
71536         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71537         dispose_fn argument.
71538         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71539         dropped values.
71540         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71541         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71542         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71543         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71544         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71545         argument.
71546         (gl_tree_list_free): Call dispose_fn on the dropped values.
71547         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71548         the dropped values.
71549         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71550         Add dispose_fn argument.
71551         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71552         Call dispose_fn on the dropped values.
71553         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71554         Add dispose_fn argument.
71555         (gl_sublist_create): Initialize the 'dispose_fn' field.
71556         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71557         * tests/test-array_list.c (main): Update.
71558         * tests/test-carray_list.c (main): Update.
71559         * tests/test-avltree_list.c (main): Update.
71560         * tests/test-rbtree_list.c (main): Update.
71561         * tests/test-avltreehash_list.c (main): Update.
71562         * tests/test-rbtreehash_list.c (main): Update.
71563         * tests/test-linked_list.c (main): Update.
71564         * tests/test-linkedhash_list.c (main): Update.
71565         * tests/test-array_oset.c (main): Update.
71566
71567 2007-03-15  Bruno Haible  <bruno@clisp.org>
71568
71569         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71570         (gl_oset_create_empty): Add dispose_fn argument.
71571         (struct gl_oset_implementation): Add dispose_fn argument to
71572         'create_empty' method.
71573         (struct gl_oset_impl_base): Add dispose_fn field.
71574         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71575         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71576         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71577         values.
71578         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71579         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71580         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71581         dropped value.
71582         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71583         dropped value.
71584         * tests/test-array_oset.c (main): Update.
71585         * tests/test-avltree_oset.c (main): Update.
71586         * tests/test-rbtree_oset.c (main): Update.
71587         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71588
71589 2007-03-13  Bruno Haible  <bruno@clisp.org>
71590
71591         * tests/test-stdbool.c (i): Update after last patch.
71592
71593 2007-03-12  Bruno Haible  <bruno@clisp.org>
71594
71595         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71596         the iswprint macro. Needed on Solaris 2.5.1.
71597
71598 2007-03-12  Bruno Haible  <bruno@clisp.org>
71599
71600         * tests/test-printf-frexp.c (main): Declare x as volatile.
71601
71602 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71603
71604         * doc/gnulib.texi (Build robot for gnulib): New section.
71605
71606 2007-03-12  Jim Meyering  <jim@meyering.net>
71607
71608         * build-aux/bootstrap: New file.
71609         * build-aux/bootstrap.conf: New file, from coreutils.
71610
71611 2007-03-11  Bruno Haible  <bruno@clisp.org>
71612
71613         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71614
71615 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71616
71617         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71618         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71619         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71620
71621 2007-03-11  Bruno Haible  <bruno@clisp.org>
71622
71623         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71624         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71625
71626 2007-03-11  Bruno Haible  <bruno@clisp.org>
71627
71628         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71629         formula. Needed for SunPRO C 5.0.
71630
71631 2007-03-11  Bruno Haible  <bruno@clisp.org>
71632
71633         * modules/long-options (Depends-on): Add getopt.
71634
71635 2007-03-11  Bruno Haible  <bruno@clisp.org>
71636
71637         * modules/modechange (Depends-on): Add stdbool.
71638
71639 2007-03-11  Bruno Haible  <bruno@clisp.org>
71640
71641         * modules/i-ring (Depends-on): Add stdbool.
71642
71643 2007-03-11  Bruno Haible  <bruno@clisp.org>
71644
71645         * modules/gc-des (Depends-on): Add stdbool.
71646
71647 2007-03-11  Bruno Haible  <bruno@clisp.org>
71648
71649         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71650
71651 2007-03-11  Bruno Haible  <bruno@clisp.org>
71652
71653         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71654
71655 2007-03-11  Bruno Haible  <bruno@clisp.org>
71656
71657         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71658
71659 2007-03-11  Bruno Haible  <bruno@clisp.org>
71660
71661         * lib/vasnprintf.c (sprintf): Undefine.
71662
71663 2007-03-11  Bruno Haible  <bruno@clisp.org>
71664
71665         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71666         initializers in SunPRO C and Compaq C compilers.
71667
71668 2007-03-11  Bruno Haible  <bruno@clisp.org>
71669
71670         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71671         decrementing code ANSI C compliant.
71672
71673 2007-03-11  Bruno Haible  <bruno@clisp.org>
71674
71675         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71676         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71677
71678 2007-03-11  Bruno Haible  <bruno@clisp.org>
71679
71680         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71681         <stdbool.h> substitute doesn't pass.
71682
71683 2007-03-11  Bruno Haible  <bruno@clisp.org>
71684
71685         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71686
71687 2007-03-11  Bruno Haible  <bruno@clisp.org>
71688
71689         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71690         script, for submission to autobuild.josefsson.org.
71691
71692 2007-03-10  Bruno Haible  <bruno@clisp.org>
71693
71694         * modules/canonicalize-lgpl-tests: New file.
71695         * tests/test-canonicalize-lgpl.sh: New file.
71696         * tests/test-canonicalize-lgpl.c: New file.
71697
71698         * modules/c-strcase-tests: New file.
71699         * tests/test-c-strcase.sh: New file.
71700         * tests/test-c-strcasecmp.c: New file.
71701         * tests/test-c-strncasecmp.c: New file.
71702
71703         * modules/atexit-tests: New file.
71704         * tests/test-atexit.sh: New file.
71705         * tests/test-atexit.c: New file.
71706
71707 2007-03-10  Bruno Haible  <bruno@clisp.org>
71708
71709         * tests/test-binary-io.sh: Use temporary filenames that are not so
71710         likely to clash with those of other tests (in a parallel make).
71711         * tests/test-binary-io.c: Likewise.
71712
71713 2007-03-10  Bruno Haible  <bruno@clisp.org>
71714
71715         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71716         fallback; use #error instead.
71717         Suggested by Simon Josefsson.
71718
71719 2007-03-10  Bruno Haible  <bruno@clisp.org>
71720
71721         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71722         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71723         first and the last.
71724
71725 2007-03-10  Bruno Haible  <bruno@clisp.org>
71726
71727         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71728
71729 2007-03-10  Bruno Haible  <bruno@clisp.org>
71730
71731         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71732         "make distcheck".
71733         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71734         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71735         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71736
71737 2007-03-10  Bruno Haible  <bruno@clisp.org>
71738
71739         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71740         variable.
71741         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71742         variable.
71743
71744 2007-03-09  Eric Blake  <ebb9@byu.net>
71745         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71746
71747         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71748         types are not being provided by gnulib.
71749         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71750         types are supported.
71751
71752 2007-03-10  Bruno Haible  <bruno@clisp.org>
71753
71754         * lib/stdio_.h (__attribute__): New macro.
71755         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71756         vsprintf): Specify __attribute__ __format__ for GCC.
71757         Suggested by Eric Blake.
71758
71759 2007-03-09  Bruno Haible  <bruno@clisp.org>
71760
71761         * modules/printf-posix-tests: New file.
71762         * tests/test-printf-posix.sh: New file.
71763         * tests/test-printf-posix.c: New file.
71764
71765         * modules/printf-posix: New file.
71766         * lib/printf.c: New file.
71767         * m4/printf-posix-rpl.m4: New file.
71768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71769         REPLACE_PRINTF.
71770         * lib/stdio_.h (printf): New declaration.
71771         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71772         ____strfmon____): New macros.
71773         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71774         REPLACE_PRINTF.
71775
71776 2007-03-09  Bruno Haible  <bruno@clisp.org>
71777
71778         * tests/test-vasnprintf-posix2.sh: New file.
71779         * tests/test-vasnprintf-posix2.c: New file.
71780         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71781         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71782         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71783
71784         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71785         a locale dependent decimal point, rather than always '.'.
71786
71787 2007-03-09  Eric Blake  <ebb9@byu.net>
71788
71789         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71790         spite of platforms like Tandem/NSK that define it to -1.
71791
71792 2007-03-08  Bruno Haible  <bruno@clisp.org>
71793
71794         * modules/vprintf-posix-tests: New file.
71795         * tests/test-vprintf-posix.sh: New file.
71796         * tests/test-vprintf-posix.c: New file.
71797         * tests/test-printf-posix.h: New file.
71798
71799         * modules/vprintf-posix: New file.
71800         * lib/vprintf.c: New file.
71801         * m4/vprintf-posix.m4: New file.
71802         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71803         REPLACE_VPRINTF.
71804         * lib/stdio_.h (vprintf): New declaration.
71805         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71806         REPLACE_VPRINTF.
71807
71808 2007-03-08  Bruno Haible  <bruno@clisp.org>
71809
71810         * modules/fprintf-posix-tests: New file.
71811         * tests/test-fprintf-posix.sh: New file.
71812         * tests/test-fprintf-posix.c: New file.
71813
71814         * modules/fprintf-posix: New file.
71815         * lib/fprintf.c: New file.
71816         * m4/fprintf-posix.m4: New file.
71817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71818         REPLACE_FPRINTF.
71819         * lib/stdio_.h (fprintf): New declaration.
71820         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71821         REPLACE_FPRINTF.
71822
71823 2007-03-08  Bruno Haible  <bruno@clisp.org>
71824
71825         * modules/vfprintf-posix-tests: New file.
71826         * tests/test-vfprintf-posix.sh: New file.
71827         * tests/test-vfprintf-posix.c: New file.
71828         * tests/test-fprintf-posix.h: New file.
71829         * tests/test-fprintf-posix.out: New file.
71830
71831         * modules/vfprintf-posix: New file.
71832         * lib/vfprintf.c: New file.
71833         * m4/vfprintf-posix.m4: New file.
71834         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71835         REPLACE_VFPRINTF.
71836         * lib/stdio_.h (vfprintf): New declaration.
71837         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71838         REPLACE_VFPRINTF.
71839
71840 2007-03-08  Bruno Haible  <bruno@clisp.org>
71841
71842         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71843
71844 2007-03-08  Bruno Haible  <bruno@clisp.org>
71845
71846         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71847         instead of 'expr' invocations.
71848         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71849         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71850         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71851         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71852         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71853         Suggested by Paul Eggert.
71854
71855 2007-03-08  Bruno Haible  <bruno@clisp.org>
71856
71857         * modules/fseterr-tests: New file.
71858         * tests/test-fseterr.c: New file.
71859
71860         * modules/fseterr: New file.
71861         * lib/fseterr.h: New file.
71862         * lib/fseterr.c: New file.
71863
71864 2007-03-08  Bruno Haible  <bruno@clisp.org>
71865
71866         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71867         * lib/getopt_.h: Likewise.
71868         * lib/mbswidth.h: Likewise.
71869         * lib/setenv.h: Likewise.
71870         * lib/vasnprintf.h: Likewise.
71871         * lib/vasprintf.h: Likewise.
71872         * lib/verror.h: Likewise.
71873         * lib/xsetenv.h: Likewise.
71874         * lib/xvasprintf.h: Likewise.
71875
71876 2007-03-08  Jim Meyering  <jim@meyering.net>
71877
71878         * users.txt: Add parted.
71879
71880         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71881
71882 2007-03-07  Bruno Haible  <bruno@clisp.org>
71883
71884         * m4/printf.m4: Make the shell script snippets copy&pastable.
71885
71886 2007-03-02  Bruno Haible  <bruno@clisp.org>
71887
71888         * lib/netinet_in_.h: New file.
71889         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71890         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71891         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71892         (Depends-on): Add absolute-header.
71893         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71894         into netinet/in.h.
71895
71896 2007-03-03  Bruno Haible  <bruno@clisp.org>
71897
71898         * lib/sys_select_.h: New file.
71899         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71900         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71901         * modules/sys_select (Files): Add lib/sys_select_.h.
71902         (Depends-on): Add absolute-header.
71903         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71904         into sys/select.h.
71905
71906 2007-03-02  Bruno Haible  <bruno@clisp.org>
71907
71908         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71909         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71910         values.
71911         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71912         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71913         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71914         * modules/sys_socket (Depends-on): Add absolute-header.
71915         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71916         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71917         (Include): Remove requirement of inclusion of <sys/types.h>.
71918
71919 2007-03-02  Bruno Haible  <bruno@clisp.org>
71920
71921         * lib/byteswap_.h (bswap_32): Fix formula.
71922
71923 2007-03-06  Bruno Haible  <bruno@clisp.org>
71924
71925         * modules/sprintf-posix-tests: New file.
71926         * tests/test-sprintf-posix.c: New file.
71927
71928         * modules/sprintf-posix: New file.
71929         * lib/sprintf.c: New file.
71930         * m4/sprintf-posix.m4: New file.
71931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71932         REPLACE_SPRINTF.
71933         * lib/stdio_.h (sprintf): New declaration.
71934         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71935         REPLACE_SPRINTF.
71936
71937 2007-03-06  Bruno Haible  <bruno@clisp.org>
71938
71939         * modules/vsprintf-posix-tests: New file.
71940         * tests/test-vsprintf-posix.c: New file.
71941         * tests/test-sprintf-posix.h: New file.
71942
71943         * modules/vsprintf-posix: New file.
71944         * lib/vsprintf.c: New file.
71945         * m4/vsprintf-posix.m4: New file.
71946         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71947         REPLACE_VSPRINTF.
71948         * lib/stdio_.h (vsprintf): New declaration.
71949         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71950         REPLACE_VSPRINTF.
71951
71952 2007-03-06  Bruno Haible  <bruno@clisp.org>
71953
71954         * modules/vsnprintf (Depend-on): Remove minmax.
71955
71956 2007-03-06  Bruno Haible  <bruno@clisp.org>
71957
71958         * modules/snprintf-posix-tests: New file.
71959         * tests/test-snprintf-posix.c: New file.
71960
71961         * modules/snprintf-posix: New file.
71962         * m4/snprintf-posix.m4: New file.
71963         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71964         gl_FUNC_SNPRINTF.
71965         (gl_FUNC_SNPRINTF): Invoke it.
71966         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71967         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71968         is set.
71969         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71970
71971 2007-03-06  Bruno Haible  <bruno@clisp.org>
71972
71973         * modules/vsnprintf-posix-tests: New file.
71974         * tests/test-vsnprintf-posix.c: New file.
71975         * tests/test-snprintf-posix.h: New file.
71976
71977         * modules/vsnprintf-posix: New file.
71978         * m4/vsnprintf-posix.m4: New file.
71979         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71980         gl_FUNC_VSNPRINTF.
71981         (gl_FUNC_VSNPRINTF): Invoke it.
71982         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71983         * lib/stdio_.h (vsnprintf): Define as a replacement if
71984         REPLACE_VSNPRINTF is set.
71985         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71986
71987 2007-03-06  Bruno Haible  <bruno@clisp.org>
71988
71989         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71990         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71991
71992 2007-03-06  Bruno Haible  <bruno@clisp.org>
71993
71994         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71995         (asinl): Declare also if HAVE_DECL_ASINL is set.
71996         (atanl): Declare also if HAVE_DECL_ATANL is set.
71997         (ceill): Declare also if HAVE_DECL_CEILL is set.
71998         (cosl): Declare also if HAVE_DECL_COSL is set.
71999         (expl): Declare also if HAVE_DECL_EXPL is set.
72000         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72001         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72002         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72003         (logl): Declare also if HAVE_DECL_LOGL is set.
72004         (sinl): Declare also if HAVE_DECL_SINL is set.
72005         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72006         (tanl): Declare also if HAVE_DECL_TANL is set.
72007         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72009         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72010         declaration of frexpl, ldexpl.
72011         * modules/printf-frexpl (Depends-on): Add math.
72012         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72013
72014 2007-03-05  Bruno Haible  <bruno@clisp.org>
72015
72016         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72017         frexpl and ldexpl are declared.
72018         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72019
72020 2007-03-05  Bruno Haible  <bruno@clisp.org>
72021
72022         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72023         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72024
72025 2007-03-05  Bruno Haible  <bruno@clisp.org>
72026
72027         * lib/stdio_.h: Include <stddef.h>.
72028
72029 2007-03-05  Bruno Haible  <bruno@clisp.org>
72030
72031         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72032
72033 2007-03-05  Bruno Haible  <bruno@clisp.org>
72034
72035         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72036         NetBSD 4, from Ralf Wildenhues.
72037
72038 2007-03-04  Bruno Haible  <bruno@clisp.org>
72039
72040         * lib/vasprintf.h: Update #if logic for the case when the functions
72041         exist but are overridden.
72042
72043 2007-03-04  Bruno Haible  <bruno@clisp.org>
72044
72045         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72046         implementations: glibc-2.4 and MacOS X 10.3.
72047         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72048         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72049         * tests/test-vasprintf-posix.c (test_function): Likewise.
72050
72051 2007-03-04  Bruno Haible  <bruno@clisp.org>
72052
72053         * modules/vasprintf-posix-tests: New file.
72054         * tests/test-vasprintf-posix.c: New file.
72055
72056         * modules/vasprintf-posix: New file.
72057         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72058         defined.
72059         * m4/vasprintf-posix.m4: New file.
72060         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72061         gl_FUNC_VASPRINTF.
72062         (gl_FUNC_VASPRINTF): Invoke it.
72063         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72064         here.
72065         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72066
72067 2007-03-04  Bruno Haible  <bruno@clisp.org>
72068
72069         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72070         REPLACE_GETTIMEOFDAY.
72071         * modules/sys_time (Makefile.am): Likewise.
72072         * m4/sys_time_h.m4: Likewise.
72073         * m4/gettimeofday.m4: Likewise.
72074
72075 2007-03-04  Bruno Haible  <bruno@clisp.org>
72076
72077         * modules/vasnprintf-posix-tests: New file.
72078         * tests/test-vasnprintf-posix.c: New file.
72079
72080         * modules/vasnprintf-posix: New file.
72081         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72082         printf-frexpl.h.
72083         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72084         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72085         REPLACE_VASNPRINTF is defined.
72086         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72087         gl_FUNC_VASNPRINTF.
72088         (gl_FUNC_VASNPRINTF): Invoke it.
72089         * m4/vasnprintf-posix.m4: New file.
72090         * m4/printf.m4: New file.
72091
72092 2007-03-04  Bruno Haible  <bruno@clisp.org>
72093
72094         Compile progreloc.c only if --enable-relocatable is specified.
72095         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72096         if --enable-relocatable was specified.
72097         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72098         lib_SOURCES.
72099
72100 2007-03-04  Jim Meyering  <jim@meyering.net>
72101
72102         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72103         Use it consistently, rather than enumerating errno constants.
72104
72105 2007-03-04  Bruno Haible  <bruno@clisp.org>
72106
72107         * modules/xvasprintf-tests: New file.
72108         * tests/test-xvasprintf.c: New file.
72109
72110         * modules/vasprintf-tests: New file.
72111         * tests/test-vasprintf.c: New file.
72112
72113         * modules/vasnprintf-tests: New file.
72114         * tests/test-vasnprintf.c: New file.
72115
72116         * modules/vsnprintf-tests: New file.
72117         * tests/test-vsnprintf.c: New file.
72118
72119         * modules/snprintf-tests: New file.
72120         * tests/test-snprintf.c: New file.
72121
72122 2007-03-04  Bruno Haible  <bruno@clisp.org>
72123
72124         Compile relocatable.c only if --enable-relocatable is specified.
72125         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72126         gl_RELOCATABLE_LIBRARY.
72127         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72128         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72129         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72130         gl_RELOCATABLE_LIBRARY.
72131         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72132         (Makefile.am): Remove lib_SOURCES.
72133         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72134         gl_RELOCATABLE_LIBRARY.
72135         (Makefile.am): Remove lib_SOURCES.
72136         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72137         always.
72138         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72139         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72140
72141 2007-03-04  Bruno Haible  <bruno@clisp.org>
72142
72143         * modules/argmatch-tests: New file.
72144         * tests/test-argmatch.c: New file.
72145
72146         * tests/test-allocsa.c (main): Halve the number of loop runs.
72147
72148         * modules/alloca-opt-tests: New file.
72149         * tests/test-alloca-opt.c: New file.
72150
72151 2007-03-04  Jim Meyering  <jim@meyering.net>
72152
72153         Work around difference between Linux ACLs and Solaris 10 ZFS.
72154         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72155         for EINVAL.
72156
72157 2007-03-03  Bruno Haible  <bruno@clisp.org>
72158
72159         * modules/relocatable-prog (Depends-on): Add back progreloc's
72160         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72161
72162 2007-03-03  Bruno Haible  <bruno@clisp.org>
72163
72164         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72165         * modules/relocatable-lib: New file.
72166
72167 2007-03-03  Bruno Haible  <bruno@clisp.org>
72168
72169         * modules/relocatable-prog: Renamed from modules/relocatable.
72170         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72171
72172 2007-03-03  Bruno Haible  <bruno@clisp.org>
72173
72174         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72175         m4/relocatable-lib.m4.
72176         (Depends-on): Remove 'relocatable'.
72177         (configure.ac): Add gl_RELOCATABLE_NOP.
72178
72179 2007-03-03  Bruno Haible  <bruno@clisp.org>
72180
72181         * modules/relocatable-prog-wrapper: New file.
72182         * modules/relocatable (Depends-on): Add it. Remove all other
72183         dependencies except progname.
72184         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72185
72186         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72187         (gl_FUNC_STRERROR): Nop.
72188         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72189
72190         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72191         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72192
72193         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72194         (gl_FUNC_READLINK): Update.
72195
72196         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72197
72198 2007-03-03  Bruno Haible  <bruno@clisp.org>
72199
72200         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72201         * modules/xreadlink (Depends-on): Add unistd.
72202         * modules/xreadlink-with-size (Depends-on): Likewise.
72203
72204 2007-03-03  Bruno Haible  <bruno@clisp.org>
72205
72206         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72207         extracted from gt_FUNC_SETENV.
72208         (gt_FUNC_SETENV): Remove macro.
72209         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72210         remove gt_FUNC_SETENV.
72211
72212 2007-03-03  Bruno Haible  <bruno@clisp.org>
72213
72214         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72215         ENABLE_RELOCATABLE here.
72216         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72217
72218 2007-03-03  Bruno Haible  <bruno@clisp.org>
72219
72220         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72221         * tests/test-rbtreehash_list.c: Include progname.h.
72222         (main): Call set_program_name.
72223
72224         * modules/rbtree-oset-tests (Depends-on): Add progname.
72225         * tests/test-rbtree_oset.c: Include progname.h.
72226         (main): Call set_program_name.
72227
72228         * modules/rbtree-list-tests (Depends-on): Add progname.
72229         * tests/test-rbtree_list.c: Include progname.h.
72230         (main): Call set_program_name.
72231
72232         * modules/linked-list-tests (Depends-on): Add progname.
72233         * tests/test-linked_list.c: Include progname.h.
72234         (main): Call set_program_name.
72235
72236 2007-03-03  Bruno Haible  <bruno@clisp.org>
72237
72238         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72239         All uses of __restrict changed to _Restrict_.
72240         * lib/glob_.h (__restrict): Remove macro.
72241
72242 2007-03-02  Bruno Haible  <bruno@clisp.org>
72243
72244         * modules/gettext (configure.ac): Require gettext infrastructure
72245         from version 0.16.1.
72246
72247 2007-03-02  Bruno Haible  <bruno@clisp.org>
72248
72249         * modules/linkedhash-list-tests (Depends-on): Add progname.
72250         * tests/test-linkedhash_list.c: Include progname.h.
72251         (main): Call set_program_name.
72252
72253         * modules/carray-list-tests (Depends-on): Add progname.
72254         * tests/test-carray_list.c: Include progname.h.
72255         (main): Call set_program_name.
72256
72257         * modules/avltreehash-list-tests (Depends-on): Add progname.
72258         * tests/test-avltreehash_list.c: Include progname.h.
72259         (main): Call set_program_name.
72260
72261         * modules/avltree-oset-tests (Depends-on): Add progname.
72262         * tests/test-avltree_oset.c: Include progname.h.
72263         (main): Call set_program_name.
72264
72265         * modules/avltree-list-tests (Depends-on): Add progname.
72266         * tests/test-avltree_list.c: Include progname.h.
72267         (main): Call set_program_name.
72268
72269         * modules/array-oset-tests (Depends-on): Add progname.
72270         * tests/test-array_oset.c: Include progname.h.
72271         (main): Call set_program_name.
72272
72273         * modules/array-list-tests (Depends-on): Add progname.
72274         * tests/test-array_list.c: Include progname.h.
72275         (main): Call set_program_name.
72276
72277         * modules/argp-tests (Depends-on): Add progname.
72278         * tests/test-argp.c: Include argp.h first. Include progname.h.
72279         (main): Call set_program_name.
72280
72281 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72282
72283         * doc/gnulib-tool.texi (Initial import): Reword description of
72284         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72285         limited effect even if defined after the first system include.
72286
72287 2007-03-01  Bruno Haible  <bruno@clisp.org>
72288
72289         * build-aux/config.libpath: Update to libtool-1.5.22.
72290         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72291
72292 2007-03-01  Bruno Haible  <bruno@clisp.org>
72293
72294         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72295         foo_CFLAGS.
72296         Reported by Ralf Wildenhues.
72297
72298 2007-03-01  Bruno Haible  <bruno@clisp.org>
72299
72300         * build-aux/install-reloc: Remove object files left over by some
72301         compilers.
72302         Reported by Ralf Wildenhues.
72303
72304 2007-03-01  Bruno Haible  <bruno@clisp.org>
72305
72306         * build-aux/install-reloc: Break long lines.
72307
72308 2007-03-01  Bruno Haible  <bruno@clisp.org>
72309
72310         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72311         Reported by Ralf Wildenhues.
72312
72313 2007-03-01  Bruno Haible  <bruno@clisp.org>
72314
72315         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72316         include ordering constraints.
72317
72318 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72319
72320         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72321         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72322         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72323         as another example.
72324         * lib/time_.h: Fix misspelling.
72325         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72326         Require gl_HEADER_TIME_H_DEFAULTS.
72327         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72328         * m4/time_r.m4 (gl_TIME_R): Likewise.
72329         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72330
72331 2007-03-01  Bruno Haible  <bruno@clisp.org>
72332
72333         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72334         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72335
72336 2007-03-01  Jim Meyering  <jim@meyering.net>
72337
72338         * modules/xreadlink (Maintainer): Add my name.
72339         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72340
72341 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72342             Bruno Haible  <bruno@clisp.org>
72343
72344         * build-aux/install-reloc: Compile also c-ctype.c.
72345         * build-aux/relocatable.sh.in: New file.
72346         * doc/relocatable.texi: New file.
72347         * doc/relocatable-maint.texi: New file.
72348         * doc/gnulib.texi: Include relocatable-maint.texi.
72349         * lib/progreloc.c: Include unistd.h unconditionally.
72350         * lib/relocwrapper.c: Include unistd.h unconditionally.
72351         Include c-ctype.h.
72352         (add_dotbin): Use c_tolower.
72353         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72354         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72355         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72356         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72357         to m4/relocatable-lib.m4.
72358         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72359         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72360         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72361         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72362         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72363         * modules/relocatable: New file.
72364         * modules/relocatable-lib: New file.
72365         * modules/relocatable-script: New file.
72366
72367 2007-02-28  Bruno Haible  <bruno@clisp.org>
72368
72369         Import --enable-relocatable infrastructure.
72370         * build-aux/config.libpath: New file, from GNU gettext.
72371         * build-aux/install-reloc: New file, from GNU gettext.
72372         * build-aux/reloc-ldflags: New file, from GNU gettext.
72373         * lib/relocatable.h: New file, from GNU gettext.
72374         * lib/relocatable.c: New file, from GNU gettext.
72375         * lib/relocwrapper.c: New file, from GNU gettext.
72376         * m4/relocatable.m4: New file, from GNU gettext.
72377
72378 2007-02-28  Bruno Haible  <bruno@clisp.org>
72379
72380         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72381
72382         * modules/xreadlink: New file, from GNU gettext with modifications.
72383         * lib/xreadlink.c: New file, from GNU gettext.
72384         * lib/xreadlink.h: Add comments.
72385         (xreadlink): New declaration.
72386
72387         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72388         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72389         lib/xreadlink-with-size.c.
72390         (configure.ac): Remove gl_XREADLINK invocation.
72391         (Makefile.am): Augment lib_SOURCES.
72392         * m4/xreadlink.m4: Remove file.
72393         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72394         (xreadlink_with_size): Renamed from xreadink.
72395         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72396         * modules/canonicalize (Depends-on): Replace xreadlink with
72397         xreadlink-with-size.
72398         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72399
72400 2007-02-25  Jim Meyering  <jim@meyering.net>
72401
72402         * build-aux/announce-gen: When complaining about excess arguments,
72403         list them.
72404
72405 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72406
72407         * README: Document signed integer overflow situation more
72408         accurately.
72409
72410 2007-02-25  Bruno Haible  <bruno@clisp.org>
72411
72412         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72413         'a' or 'A' conversion.
72414
72415 2007-02-25  Bruno Haible  <bruno@clisp.org>
72416
72417         * modules/filename: Renamed from modules/pathname.
72418         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72419         lib/concatpath.c with lib/concat-filename.c.
72420         (Makefile.am): Update.
72421         (Include): Replace pathname.h with filename.h.
72422         * lib/filename.h: Renamed from lib/pathname.h.
72423         (concatenated_filename): Renamed from concatenated_pathname.
72424         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72425         (concatenated_filename): Renamed from concatenated_pathname.
72426         * lib/findprog.c: Include filename.h instead of pathname.h.
72427         (find_in_path): Update.
72428         * lib/javacomp.c: Include filename.h instead of pathname.h.
72429         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72430         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72431         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72432         is_oldgcj_14_13_usable, is_javac_usable): Update.
72433         * lib/javaexec.c: Include filename.h instead of pathname.h.
72434         (execute_java_class): Update.
72435         * modules/findprog: Update.
72436         * modules/javacomp: Update.
72437         * modules/javaexec: Update.
72438         * MODULES.html.sh (File system functions): Add 'filename', remove
72439         'pathname'.
72440
72441 2007-02-25  Bruno Haible  <bruno@clisp.org>
72442
72443         * modules/printf-frexpl-tests: New file.
72444         * tests/test-printf-frexpl.c: New file.
72445
72446         * modules/printf-frexpl: New file.
72447         * lib/printf-frexpl.h: New file.
72448         * lib/printf-frexpl.c: New file.
72449         * m4/printf-frexpl.m4: New file.
72450
72451 2007-02-25  Bruno Haible  <bruno@clisp.org>
72452
72453         * modules/printf-frexp-tests: New file.
72454         * tests/test-printf-frexp.c: New file.
72455
72456         * modules/printf-frexp: New file.
72457         * lib/printf-frexp.h: New file.
72458         * lib/printf-frexp.c: New file.
72459         * m4/printf-frexp.m4: New file.
72460
72461 2007-02-25  Bruno Haible  <bruno@clisp.org>
72462
72463         Assume automake >= 1.10 for the tests.
72464         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72465         * modules/arctwo-tests: Likewise.
72466         * modules/argp-tests: Likewise.
72467         * modules/avltree-list-tests: Likewise.
72468         * modules/avltree-oset-tests: Likewise.
72469         * modules/avltreehash-list-tests: Likewise.
72470         * modules/carray-list-tests: Likewise.
72471         * modules/crc-tests: Likewise.
72472         * modules/des-tests: Likewise.
72473         * modules/gc-arcfour-tests: Likewise.
72474         * modules/gc-arctwo-tests: Likewise.
72475         * modules/gc-des-tests: Likewise.
72476         * modules/gc-hmac-md5-tests: Likewise.
72477         * modules/gc-hmac-sha1-tests: Likewise.
72478         * modules/gc-md2-tests: Likewise.
72479         * modules/gc-md4-tests: Likewise.
72480         * modules/gc-md5-tests: Likewise.
72481         * modules/gc-pbkdf2-sha1-tests: Likewise.
72482         * modules/gc-rijndael-tests: Likewise.
72483         * modules/gc-sha1-tests: Likewise.
72484         * modules/gc-tests: Likewise.
72485         * modules/getaddrinfo-tests: Likewise.
72486         * modules/hmac-md5-tests: Likewise.
72487         * modules/hmac-sha1-tests: Likewise.
72488         * modules/linked-list-tests: Likewise.
72489         * modules/linkedhash-list-tests: Likewise.
72490         * modules/lock-tests: Likewise.
72491         * modules/md2-tests: Likewise.
72492         * modules/md4-tests: Likewise.
72493         * modules/md5-tests: Likewise.
72494         * modules/rbtree-list-tests: Likewise.
72495         * modules/rbtree-oset-tests: Likewise.
72496         * modules/rbtreehash-list-tests: Likewise.
72497         * modules/read-file-tests: Likewise.
72498         * modules/rijndael-tests: Likewise.
72499         * modules/stdint-tests: Likewise.
72500         * modules/tls-tests: Likewise.
72501
72502 2007-02-24  Bruno Haible  <bruno@clisp.org>
72503
72504         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72505         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72506         function; instead check whether isnan with a double argument links.
72507         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72508         function; instead check whether isnan with a 'long double' argument
72509         links.
72510         Reported by Eric Blake <ebb9@byu.net>.
72511
72512 2007-02-24  Bruno Haible  <bruno@clisp.org>
72513
72514         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72515         defined.
72516         * lib/isnanl.c: Remove all code. Just include isnan.c.
72517         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72518
72519 2007-02-25  Jim Meyering  <jim@meyering.net>
72520
72521         Avoid conflicting types for 'unsetenv' on FreeBSD.
72522         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72523         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72524         in stdlib.h.
72525
72526 2007-02-24  Bruno Haible  <bruno@clisp.org>
72527
72528         * modules/isnanl-nolibm-tests: New file.
72529         * tests/test-isnanl.c: New file.
72530
72531         * modules/isnanl-nolibm: New file.
72532         * lib/isnanl.h: New file.
72533         * lib/isnanl.c: New file.
72534         * m4/isnanl.m4: New file.
72535
72536 2007-02-24  Bruno Haible  <bruno@clisp.org>
72537
72538         * modules/isnan-nolibm-tests: New file.
72539         * tests/test-isnan.c: New file.
72540
72541         * modules/isnan-nolibm: New file.
72542         * lib/isnan.h: New file.
72543         * lib/isnan.c: New file.
72544         * m4/isnan.m4: New file.
72545
72546 2007-02-24  Bruno Haible  <bruno@clisp.org>
72547
72548         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72549         assume that an exponent fits in 20 bits.
72550
72551 2007-02-24  Jim Meyering  <jim@meyering.net>
72552
72553         * m4/regex.m4: Update the description of the configure-time option,
72554         --without-included-regex, to state accurately what the defaults are,
72555         and perhaps to give people an idea why using this option is risky.
72556
72557 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72558
72559         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72560         loops on small arguments.  This attempts to avoid the problem
72561         Bruno Haible reported for AIX 4.3.2 in
72562         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72563
72564 2007-02-23  Bruno Haible  <bruno@clisp.org>
72565
72566         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72567         Needed for help2man.
72568
72569 2007-02-23  Karl Berry  <karl@gnu.org>
72570
72571         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72572         exists, foo.h should be cvs-ignored, not committed.
72573
72574 2007-02-23  Eric Blake  <ebb9@byu.net>
72575
72576         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72577         * lib/stat-time.h (includes): Likewise.
72578         * lib/utimecmp.c (includes): Likewise.
72579         * lib/utimens.h (includes): Likewise.
72580         * lib/getdate.y (includes): Also include "timespec.h" for use
72581         internal to the module.
72582         * modules/utimens (Depends-on): Revert yesterday's patch.
72583         * modules/nanosleep (Depends-on): Add missing dependency.
72584
72585 2007-02-22  Bruno Haible  <bruno@clisp.org>
72586
72587         * lib/glob.c: Don't include getlogin_r.h.
72588
72589 2007-02-22  Jim Meyering  <jim@meyering.net>
72590
72591         * modules/utimens (Depends-on): Add timespec, required for
72592         utimens.h's inclusion of timespec.h.
72593
72594 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72595
72596         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72597         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72598         Schwab in
72599         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72600         I'll try to think of a better way to fix the Solaris problem.
72601
72602         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72603         like glibc; on Solaris 10, it fails with errno == EINVAL.
72604         POSIX says the behavior is unspecified if the first argument is NULL,
72605         so play it safe and never pass NULL to the system getcwd.
72606
72607 2007-02-21  Jim Meyering  <jim@meyering.net>
72608
72609         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72610         of gettimeofday.  It would conflict with the one now always
72611         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72612         an IRIX 6.5 build failure.
72613
72614 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72615
72616         Minor fixups to port to Solaris 10 with Sun C 5.8.
72617         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72618         * modules/getcwd (Depends-on): Add dirfd.
72619         * lib/putenv.c (putenv): #undef it.
72620         (rpl_putenv): New decl.
72621         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72622
72623 2007-02-20  Bruno Haible  <bruno@clisp.org>
72624
72625         * modules/stdio-tests: New file.
72626         * tests/test-stdio.c: New file.
72627
72628         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72629         (Depends-on): Add stdio.
72630         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72631         (Include): Use <stdio.h> instead of vsnprintf.h.
72632         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72633         HAVE_DECL_VSNPRINTF.
72634         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72635
72636         * modules/snprintf (Files): Remove lib/snprintf.h.
72637         (Depends-on): Add stdio.
72638         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72639         (Include): Use <stdio.h> instead of snprintf.h.
72640         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72641         HAVE_DECL_SNPRINTF.
72642         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72643         * lib/getaddrinfo.c: Likewise.
72644
72645         * modules/stdio: New file.
72646         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72647         * lib/snprintf.h: Remove file.
72648         * lib/vsnprintf.h: Remove file.
72649         * lib/.cppi-disable: Remove snprintf.h.
72650         * m4/stdio_h.m4: New file.
72651         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72652
72653 2007-02-20  Jim Meyering  <jim@meyering.net>
72654
72655         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72656         used by e.g., mingw.  From Bruno Haible.
72657
72658 2007-02-19  Bruno Haible  <bruno@clisp.org>
72659
72660         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72661         warnings.
72662         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72663
72664 2007-02-19  Bruno Haible  <bruno@clisp.org>
72665
72666         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72667         from mingw users.
72668
72669 2007-02-19  Bruno Haible  <bruno@clisp.org>
72670
72671         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72672         warnings.
72673         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72674
72675 2007-02-19  Jim Meyering  <jim@meyering.net>
72676
72677         Don't use FD after a successful "fdopendir (fd)".
72678         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72679         Reset it by calling dirfd on the just-obtained DIR*.
72680
72681         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72682         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72683
72684 2007-02-18  Bruno Haible  <bruno@clisp.org>
72685
72686         * lib/readlink.c: Include <unistd.h>.
72687         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72688         HAVE_READLINK.
72689         * modules/readlink (Depends-on): Add unistd.
72690         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72691         (Include): Add <unistd.h>.
72692
72693         * lib/getlogin_r.h: Remove file.
72694         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72695         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72696         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72697         HAVE_DECL_GETLOGIN_R.
72698         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72699         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72700         (Include): Use <unistd.h> instead of getlogin_r.h.
72701
72702         * lib/getcwd.h: Remove file.
72703         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72704         * lib/xgetcwd.c: Likewise.
72705         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72706         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72707         * modules/getcwd (Files): Remove lib/getcwd.h.
72708         (Depends-on): Add unistd.
72709         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72710         (Include): Use <unistd.h> instad of getcwd.h.
72711
72712         * lib/ftruncate.c: Include <unistd.h> first.
72713         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72714         Set HAVE_FTRUNCATE.
72715         * modules/ftruncate (Depends-on): Add unistd.
72716         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72717
72718         * lib/fchdir.c: Include <unistd.h> first.
72719         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72720         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72721         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72722         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72723         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72724
72725         * lib/dup2.c: Include <unistd.h> first.
72726         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72727         HAVE_DUP2.
72728         * modules/dup2 (Depends-on): Add unistd.
72729         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72730
72731         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72732         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72733         REPLACE_CHOWN. Don't define chown as a macro here.
72734         * modules/chown (Depends-on): Add unistd.
72735         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72736
72737         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72738         Add definition for GL_LINK_WARNING.
72739         (chown, dup2): New declarations.
72740         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72741         link warning.
72742         (ftruncate): New declaration.
72743         (getcwd): New declaration, taken from old getcwd.h.
72744         (getlogin_r): New declaration, taken from old getlogin_r.h.
72745         (readlink): New declaration.
72746         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72747         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72748         (gl_PREREQ_UNISTD): Remove macro.
72749         (gl_UNISTD_MODULE_INDICATOR): New macro.
72750         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72751         many new variables. Don't set UNISTD_H.
72752         * modules/unistd (Description): Change.
72753         (Depends-on): Add link-warning.
72754         (configure.ac): Update.
72755         (Makefile.am): Create unistd.h always. Substitute many new variables
72756         into it.
72757
72758 2007-02-18  Bruno Haible  <bruno@clisp.org>
72759
72760         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72761         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72762         HAVE_GETSUBOPT.
72763         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72764         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72765         * lib/getsubopt.h: Remove file.
72766         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72767         (Depends-on): Add stdlib.
72768         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72769         (Includes): Use <stdlib.h> instead of getsubopt.h.
72770         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72771         Set HAVE_GETSUBOPT.
72772         * lib/getsubopt.c: Don't include getsubopt.h.
72773
72774 2007-02-18  Bruno Haible  <bruno@clisp.org>
72775
72776         * modules/fchdir (Depends-on): Add dup2.
72777
72778 2007-02-18  Bruno Haible  <bruno@clisp.org>
72779
72780         * lib/stdlib_.h: Handle glibc's special invocation convention
72781         specially.
72782
72783 2007-02-18  Bruno Haible  <bruno@clisp.org>
72784
72785         * modules/stdlib-tests: New file.
72786         * tests/test-stdlib.c: New file.
72787
72788         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72789         (Depends-on): Add stdlib.
72790         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72791         (Includes): Use <stdlib.h> instead of mkstemp.h.
72792         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72793         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72794         * lib/mkstemp.c: Don't include mkstemp.h.
72795         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72796         * lib/stdlib--.h: Don't include mkstemp.h.
72797
72798         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72799         (Depends-on): Add stdlib.
72800         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72801         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72802         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72803         HAVE_MKDTEMP.
72804         * lib/mkdtemp.c: Don't include mkdtemp.h.
72805         * lib/clean-temp.c: Don't include mkdtemp.h.
72806
72807         * modules/exit (Files): Remove lib/exit.h.
72808         (Depends-on): Add stdlib.
72809         (Makefile.am): Remove lib_SOURCES.
72810         (Include): Use <stdlib.h> instead of exit.h.
72811         * lib/argmatch.c: Don't include exit.h.
72812         * lib/execute.c: Likewise.
72813         * lib/pagealign_alloc.c: Likewise.
72814         * lib/pipe.c: Likewise.
72815         * lib/wait-process.c: Likewise.
72816         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72817         * lib/exitfail.c: Likewise.
72818         * lib/savewd.c: Likewise.
72819         * lib/xsetenv.c: Likewise.
72820
72821         * modules/stdlib: New file.
72822         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72823         and extra comments about mkstemp().
72824         * lib/exit.h: Remove file.
72825         * lib/mkdtemp.h: Remove file.
72826         * lib/mkstemp.h: Remove file.
72827         * m4/stdlib_h.m4: New file.
72828         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72829
72830 2007-02-18  Bruno Haible  <bruno@clisp.org>
72831
72832         * modules/math-tests: New file.
72833         * tests/test-math.c: New file.
72834
72835         * modules/math: New file.
72836         * modules/mathl (Files): Remove lib/mathl.h.
72837         (Depends-on): Add math.
72838         (Makefile.am): Don't mention mathl.h.
72839         (Include): Use <math.h> instead of mathl.h.
72840         * lib/math_.h: New file.
72841         * lib/mathl.h: Remove file.
72842         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72843         mathl.h.
72844         * lib/asinl.c: Likewise.
72845         * lib/atanl.c: Likewise.
72846         * lib/ceill.c: Likewise.
72847         * lib/cosl.c: Likewise.
72848         * lib/expl.c: Likewise.
72849         * lib/floorl.c: Likewise.
72850         * lib/frexpl.c: Likewise.
72851         * lib/ldexpl.c: Likewise.
72852         * lib/logl.c: Likewise.
72853         * lib/sincosl.c: Likewise.
72854         * lib/sinl.c: Likewise.
72855         * lib/sqrtl.c: Likewise.
72856         * lib/tanl.c: Likewise.
72857         * lib/trigl.c: Likewise.
72858         * m4/math_h.m4: New file.
72859         * MODULES.html.sh (Mathematics): Add math.
72860
72861 2007-02-17  Bruno Haible  <bruno@clisp.org>
72862
72863         * modules/wctype-tests: New file.
72864         * tests/test-wctype.c: New file.
72865
72866         * modules/wchar-tests: New file.
72867         * tests/test-wchar.c: New file.
72868
72869         * modules/unistd-tests: New file.
72870         * tests/test-unistd.c: New file.
72871
72872         * modules/time-tests: New file.
72873         * tests/test-time.c: New file.
72874
72875         * modules/sysexits-tests: New file.
72876         * tests/test-sysexits.c: New file.
72877
72878         * modules/sys_time-tests: New file.
72879         * tests/test-sys_time.c: New file.
72880
72881         * modules/sys_stat-tests: New file.
72882         * tests/test-sys_stat.c: New file.
72883
72884         * modules/sys_socket-tests: New file.
72885         * tests/test-sys_socket.c: New file.
72886
72887         * modules/sys_select-tests: New file.
72888         * tests/test-sys_select.c: New file.
72889
72890         * modules/string-tests: New file.
72891         * tests/test-string.c: New file.
72892
72893         * modules/stdbool-tests: New file.
72894         * tests/test-stdbool.c: New file.
72895
72896         * modules/netinet_in-tests: New file.
72897         * tests/test-netinet_in.c: New file.
72898
72899         * modules/inttypes-tests: New file.
72900         * tests/test-inttypes.c: New file.
72901
72902         * modules/fcntl-tests: New file.
72903         * tests/test-fcntl.c: New file.
72904
72905         * modules/byteswap-tests: New file.
72906         * tests/test-byteswap.c: New file.
72907
72908         * modules/arpa_inet-tests: New file.
72909         * tests/test-arpa_inet.c: New file.
72910
72911 2007-02-17  Bruno Haible  <bruno@clisp.org>
72912
72913         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72914         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72915         if the corresponding module is not enabled. Emit link warnings if
72916         the function is used nevertheless.
72917         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72918         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72919         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72920         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72921         * modules/inttypes (Depends-on): Add link-warning.
72922         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72923         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72924         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72925         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72926         * modules/imaxdiv (configure.ac): Likewise.
72927         * modules/strtoimax (configure.ac): Likewise.
72928         * modules/strtoumax (configure.ac): Likewise.
72929
72930 2007-02-17  Bruno Haible  <bruno@clisp.org>
72931
72932         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72933         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72934         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72935         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72936
72937 2007-02-17  Bruno Haible  <bruno@clisp.org>
72938
72939         * modules/link-warning: New file.
72940         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72941         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72942         * modules/string (Depends-on): Add link-warning.
72943         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72944         string.h.
72945         * MODULES.html.sh (Support for building libraries and executables): Add
72946         link-warning.
72947
72948 2007-02-17  Bruno Haible  <bruno@clisp.org>
72949
72950         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72951         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72952         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72953         long lines.
72954
72955 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72956             Bruno Haible  <bruno@clisp.org>
72957
72958         * modules/tmpfile: New file.
72959         * lib/tmpfile.c: New file.
72960         * m4/tmpfile.m4: New file.
72961         * MODULES.html.sh (func_all_modules): New section "Input/output".
72962
72963 2007-02-15  Bruno Haible  <bruno@clisp.org>
72964
72965         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72966         (supports_delete_on_close): New function.
72967         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72968
72969 2007-02-14  Bruno Haible  <bruno@clisp.org>
72970
72971         * modules/mbspcasecmp-tests: New file.
72972         * tests/test-mbspcasecmp.sh: New file.
72973         * tests/test-mbspcasecmp.c: New file.
72974
72975         New module mbspcasecmp.
72976         * modules/mbspcasecmp: New file.
72977         * lib/mbspcasecmp.c: New file.
72978         * lib/string_.h (strncasecmp): Change warning message.
72979         (mbspcasecmp): New declaration.
72980         * m4/mbspcasecmp.m4: New file.
72981         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72982         GNULIB_MBSPCASECMP.
72983         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72984         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72985
72986 2007-02-14  Bruno Haible  <bruno@clisp.org>
72987
72988         * modules/mbsncasecmp-tests: New file.
72989         * tests/test-mbsncasecmp.sh: New file.
72990         * tests/test-mbsncasecmp.c: New file.
72991
72992         New module mbsncasecmp.
72993         * modules/mbsncasecmp: New file.
72994         * lib/mbsncasecmp.c: New file.
72995         * lib/string_.h (mbsncasecmp): New declaration.
72996         * m4/mbsncasecmp.m4: New file.
72997         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72998         GNULIB_MBSNCASECMP.
72999         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73000         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73001
73002 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73003
73004         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73005         Verify that it doesn't overlap with our flags.
73006         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73007         do not have the desired effect in multibyte locales; instead, use
73008         mbscasecmp.
73009         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73010         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73011         we don't require GNU fnmatch ourselves (if our users require it, they
73012         should do so explicitly).
73013
73014         Fix regex code so it doesn't rely on strcasecmp.
73015         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73016         Otherwise, include gnulib's langinfo.h.
73017         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73018         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73019         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73020         * modules/regex (FILES): Remove m4/codeset.m4.
73021         (Depends-on): Add localcharset.  Remove strcase.
73022
73023 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73024
73025         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73026         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73027
73028 2007-02-13  Bruno Haible  <bruno@clisp.org>
73029
73030         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73031         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73032
73033 2007-02-12  Bruno Haible  <bruno@clisp.org>
73034
73035         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73036         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73037         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73038         time warning rather than a link error.
73039
73040 2007-02-12  Bruno Haible  <bruno@clisp.org>
73041
73042         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73043         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73044         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73045
73046 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73047
73048         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73049         args, not 2.
73050
73051 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73052
73053         New module 'time', so that apps can include <time.h> as per
73054         POSIX and GNU instead of separate include files like time_r.h
73055         and timegm.h.  This implementation tries out a simpler approach
73056         for replacing decls in standard include files (as compared to
73057         the string module), somewhat as an experiment.
73058
73059         * config/srclist.txt: Comment out mktime.c for now.
73060         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73061         since it doesn't apply any more.  Use generic wording instead.
73062         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73063         'time'.
73064         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73065         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73066         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73067         Don't include <sys/types.h>; no longer needed since we assume C89.
73068         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73069         * lib/strftime.c: Likewise.
73070         * lib/time_r.c: Likewise.
73071         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73072         * lib/nanosleep.c: Include <time.h> first, to check interface.
73073         * lib/strptime.c: Likewise.
73074         * lib/time_r.c: Likewise.
73075         * lib/timegm.c: Likewise.
73076         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73077         needed.
73078         * lib/timegm.c: Don't include timegm.h; no longer needed.
73079         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73080         time.h now handles any problems in that area.
73081         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73082         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73083         that time.h defines struct timespec.
73084         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73085         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73086         handles that.
73087         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73088         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73089         needed.  Set REPLACE_LOCALTIME.
73090         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73091         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73092         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73093         nanosleep; time_h.m4 now does that.  Don't require
73094         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73095         module handles this now.
73096         * modules/getdate (Depends-on): Remove timespec.  Add time.
73097         * modules/nanosleep (Depends-on): Likewise.
73098         * modules/stat-time (Depends-on): Likewise.
73099         * modules/nanosleep (Include): Include time.h, not timespec.h.
73100         * modules/strptime (Files): Remove lib/strptime.h.
73101         (Depends-on): Add extensions, time.
73102         (Include): Include time.h, not strptime.h.
73103         * modules/time_r (Files): Remove lib/time_r.h.
73104         (Depends-on): Add time.
73105         (Include): Include time.h, not time_r.h.
73106         * modules/timegm: Likewise.
73107         * modules/timespec (Description): Now does timespec-related decls
73108         of our own, instead of struct timespec itself.
73109         (Depends-on): Add time; remove extensions.
73110         (Maintainer): Add self.
73111         * modules/utimecmp (Depends-on): Add time; remove timespec.
73112         * modules/utimens (Depends-on): Likewise.
73113         * modules/xnanosleep (Depends-on): Likewise.
73114
73115 2007-02-11  Bruno Haible  <bruno@clisp.org>
73116
73117         * lib/c-strstr.c: Include allocsa.h.
73118         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73119         * lib/c-strcasestr.c: Include allocsa.h.
73120         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73121         * lib/strcasestr.c: Include allocsa.h.
73122         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73123         * lib/mbsstr.c: Include allocsa.h.
73124         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73125         allocsa/freesa instead of malloc/free.
73126         * lib/mbscasestr.c: Include allocsa.h.
73127         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73128         allocsa/freesa instead of malloc/free.
73129         * modules/c-strstr (Depends-on): Add allocsa.
73130         * modules/c-strcasestr (Depends-on): Likewise.
73131         * modules/strcasestr (Depends-on): Likewise.
73132         * modules/mbsstr (Depends-on): Likewise.
73133         * modules/mbscasestr (Depends-on): Likewise.
73134
73135 2007-02-11  Bruno Haible  <bruno@clisp.org>
73136
73137         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73138
73139         * modules/mbsspn-tests: New file.
73140         * tests/test-mbsspn.sh: New file.
73141         * tests/test-mbsspn.c: New file.
73142
73143 2007-02-11  Bruno Haible  <bruno@clisp.org>
73144
73145         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73146
73147         * modules/mbspbrk-tests: New file.
73148         * tests/test-mbspbrk.sh: New file.
73149         * tests/test-mbspbrk.c: New file.
73150
73151 2007-02-11  Bruno Haible  <bruno@clisp.org>
73152
73153         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73154         unneeded cast.
73155
73156         * modules/mbscspn-tests: New file.
73157         * tests/test-mbscspn.sh: New file.
73158         * tests/test-mbscspn.c: New file.
73159
73160 2007-02-11  Bruno Haible  <bruno@clisp.org>
73161
73162         * modules/mbscasecmp-tests: New file.
73163         * tests/test-mbscasecmp.sh: New file.
73164         * tests/test-mbscasecmp.c: New file.
73165
73166 2007-02-11  Bruno Haible  <bruno@clisp.org>
73167
73168         Ensure O(n) worst-case complexity of mbscasestr.
73169         * lib/mbscasestr.c: Include stdbool.h.
73170         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73171         functions.
73172         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73173         the bookkeeping indicates that it's worth it.
73174         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73175
73176         * modules/mbscasestr-tests: New file.
73177         * tests/test-mbscasestr1.c: New file.
73178         * tests/test-mbscasestr2.sh: New file.
73179         * tests/test-mbscasestr2.c: New file.
73180         * tests/test-mbscasestr3.sh: New file.
73181         * tests/test-mbscasestr3.c: New file.
73182         * tests/test-mbscasestr4.sh: New file.
73183         * tests/test-mbscasestr4.c: New file.
73184         * m4/locale-tr.m4: New file.
73185
73186 2007-02-11  Bruno Haible  <bruno@clisp.org>
73187
73188         Ensure O(n) worst-case complexity of mbsstr.
73189         * lib/mbsstr.c: Include stdbool.h.
73190         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73191         functions.
73192         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73193         bookkeeping indicates that it's worth it.
73194         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73195
73196         * modules/mbsstr-tests: New file.
73197         * tests/test-mbsstr1.c: New file.
73198         * tests/test-mbsstr2.sh: New file.
73199         * tests/test-mbsstr2.c: New file.
73200         * tests/test-mbsstr3.sh: New file.
73201         * tests/test-mbsstr3.c: New file.
73202         * m4/locale-fr.m4: New file.
73203
73204 2007-02-11  Bruno Haible  <bruno@clisp.org>
73205
73206         * lib/mbsrchr.c (mbsrchr): Fix bug.
73207
73208         * modules/mbsrchr-tests: New file.
73209         * tests/test-mbsrchr.sh: New file.
73210         * tests/test-mbsrchr.c: New file.
73211
73212 2007-02-11  Bruno Haible  <bruno@clisp.org>
73213
73214         * lib/mbschr.c (mbschr): Fix bug.
73215
73216         * modules/mbschr-tests: New file.
73217         * tests/test-mbschr.sh: New file.
73218         * tests/test-mbschr.c: New file.
73219         * m4/locale-zh.m4: New file.
73220
73221 2007-02-11  Bruno Haible  <bruno@clisp.org>
73222
73223         Support for copying multibyte string iterators.
73224         * lib/mbiter.h: Include <string.h>.
73225         (mbiter_multi_copy): New function.
73226         (mbi_copy): New macro.
73227         * lib/mbuiter.h: Include <string.h>.
73228         (mbuiter_multi_copy): New function.
73229         (mbui_copy): New macro.
73230
73231 2007-02-11  Bruno Haible  <bruno@clisp.org>
73232
73233         New module mbslen.
73234         * modules/mbslen: New file.
73235         * lib/mbslen.c: New file.
73236         * lib/string_.h (mbslen): New declaration.
73237         * m4/mbslen.m4: New file.
73238         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73239         GNULIB_MBSLEN.
73240         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73241         * MODULES.html.sh (Internationalization functions): Add mbslen.
73242
73243 2007-02-11  Bruno Haible  <bruno@clisp.org>
73244
73245         Ensure O(n) worst-case complexity of strcasestr substitute.
73246         * lib/strcasestr.c: Include stdbool.h.
73247         (knuth_morris_pratt): New function.
73248         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73249         bookkeeping indicates that it's worth it.
73250         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73251
73252         * modules/strcasestr-tests: New file.
73253         * tests/test-strcasestr.c: New file.
73254
73255 2007-02-11  Bruno Haible  <bruno@clisp.org>
73256
73257         Ensure O(n) worst-case complexity of c_strcasestr.
73258         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73259         (knuth_morris_pratt): New function.
73260         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73261         the bookkeeping indicates that it's worth it.
73262         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73263
73264         * modules/c-strcasestr-tests: New file.
73265         * tests/test-c-strcasestr.c: New file.
73266
73267 2007-02-11  Bruno Haible  <bruno@clisp.org>
73268
73269         Ensure O(n) worst-case complexity of c_strstr.
73270         * lib/c-strstr.c: Include stdbool.h, string.h.
73271         (knuth_morris_pratt): New function.
73272         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73273         bookkeeping indicates that it's worth it.
73274         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73275
73276         * lib/c-strstr.c: Complete rewrite for maintainability.
73277
73278         * modules/c-strstr-tests: New file.
73279         * tests/test-c-strstr.c: New file.
73280
73281 2007-02-11  Bruno Haible  <bruno@clisp.org>
73282
73283         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73284         5.2.1 and earlier, whereby \055 was treated just like the range
73285         delimiter '-'.
73286         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73287
73288 2007-02-08  Bruno Haible  <bruno@clisp.org>
73289
73290         * modules/regex (Depends-on): Add stdbool.
73291         Reported by Dalibor Topic <robilad@kaffe.org>.
73292
73293 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73294
73295         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73296         Prefer returning from main to exiting from it.
73297         Remove unnecessary parens after sizeof.
73298
73299 2007-02-05  Bruno Haible  <bruno@clisp.org>
73300
73301         New module mbssep.
73302         * modules/mbssep: New file.
73303         * lib/mbssep.c: New file.
73304         * lib/string_.h (strsep): Add a conditional link warning.
73305         (mbssep): New declaration.
73306         * m4/mbssep.m4: New file.
73307         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73308         GNULIB_MBSSEP.
73309         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73310         * MODULES.html.sh (Internationalization functions): Add mbssep.
73311
73312 2007-02-05  Bruno Haible  <bruno@clisp.org>
73313
73314         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73315         Optimize search in case of 1 delimiter.
73316
73317 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73318
73319         * lib/acl.h: Include sys/types.h before sys/acl.h.
73320
73321 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73322
73323         Merge upstream fix for glibc bugzilla #3957:
73324
73325         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73326
73327         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73328         bit for RE_HAT_LISTS_NOT_NEWLINE.
73329         (build_charclass_op): Remove bogus comment.
73330
73331 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73332
73333         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73334
73335 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73336
73337         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73338         * lib/memmem.c [!defined _LIBC]: Include config.h.
73339
73340 2007-02-04  Bruno Haible  <bruno@clisp.org>
73341
73342         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73343         warning message.
73344
73345 2007-02-04  Bruno Haible  <bruno@clisp.org>
73346
73347         New module mbstok_r.
73348         * modules/mbstok_r: New file.
73349         * lib/mbstok_r.c: New file.
73350         * lib/string_.h (strtok_r): Change argument names to match the
73351         comments. Add a conditional link warning.
73352         (mbstok_r): New declaration.
73353         * m4/mbstok_r.m4: New file.
73354         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73355         GNULIB_MBSTOK_R.
73356         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73357         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73358
73359 2007-02-04  Bruno Haible  <bruno@clisp.org>
73360
73361         New module mbsspn.
73362         * modules/mbsspn: New file.
73363         * lib/mbsspn.c: New file.
73364         * lib/string_.h (strspn): Add a conditional link warning.
73365         (mbsspn): New declaration.
73366         * m4/mbsspn.m4: New file.
73367         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73368         GNULIB_MBSSPN.
73369         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73370         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73371
73372 2007-02-04  Bruno Haible  <bruno@clisp.org>
73373
73374         New module mbspbrk.
73375         * modules/mbspbrk: New file.
73376         * lib/mbspbrk.c: New file.
73377         * lib/string_.h (strpbrk): Add a conditional link warning.
73378         (mbspbrk): New declaration.
73379         * m4/mbspbrk.m4: New file.
73380         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73381         GNULIB_MBSPBRK.
73382         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73383         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73384
73385 2007-02-04  Bruno Haible  <bruno@clisp.org>
73386
73387         New module mbscspn.
73388         * modules/mbscspn: New file.
73389         * lib/mbscspn.c: New file.
73390         * lib/string_.h (strcspn): Add a conditional link warning.
73391         (mbscspn): New declaration.
73392         * m4/mbscspn.m4: New file.
73393         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73394         GNULIB_MBSCSPN.
73395         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73396         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73397
73398 2007-02-04  Bruno Haible  <bruno@clisp.org>
73399
73400         New module mbscasestr, reduced goal of strcasestr.
73401         * modules/mbscasestr: New file.
73402         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73403         (mbscasestr): Renamed from strcasestr.
73404         * lib/strcasestr.c: Don't include mbuiter.h.
73405         (strcasestr): Remove support for multibyte locales.
73406         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73407         Change the conditional link warning.
73408         (mbscasestr): New declaration.
73409         * m4/mbscasestr.m4: New file.
73410         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73411         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73412         REPLACE_STRCASESTR.
73413         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73414         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73415         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73416         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73417         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73418         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73419         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73420         (Depends-on): Remove mbuiter.
73421         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73422
73423 2007-02-04  Bruno Haible  <bruno@clisp.org>
73424
73425         Simplify handling of strncasecmp.
73426         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73427         the conditional link warning.
73428         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73429         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73430         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73431         * modules/strcase (configure.ac): Don't invoke
73432         gl_STRING_MODULE_INDICATOR.
73433         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73434
73435 2007-02-04  Bruno Haible  <bruno@clisp.org>
73436
73437         New module mbscasecmp, reduced goal of strcasecmp.
73438         * modules/mbscasecmp: New file.
73439         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73440         (mbscasecmp): Renamed from strcasecmp.
73441         * lib/strcasecmp.c: Don't include mbuiter.h.
73442         (strcasecmp): Remove support for multibyte locales.
73443         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73444         Change the conditional link warning.
73445         (mbscasecmp): New declaration.
73446         * m4/mbscasecmp.m4: New file.
73447         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73448         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73449         REPLACE_STRCASECMP.
73450         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73451         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73452         GNULIB_MBSCASECMP.
73453         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73454         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73455         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73456         (Depends-on): Remove mbuiter.
73457         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73458
73459 2007-02-04  Bruno Haible  <bruno@clisp.org>
73460
73461         New module mbsstr. Remove module strstr.
73462         * modules/mbsstr: New file.
73463         * modules/strstr: Remove file.
73464         * lib/mbsstr.c: Renamed from lib/strstr.c.
73465         (mbsstr): Renamed from strstr.
73466         * lib/string_.h (strstr): Remove declaration. Change the conditional
73467         link warning.
73468         (mbsstr): New declaration.
73469         * m4/mbsstr.m4: New file.
73470         * m4/strstr.m4: Remove file.
73471         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73472         REPLACE_STRSTR.
73473         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73474         Don't initialize GNULIB_STRSTR.
73475         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73476         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73477         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73478         (Support for systems lacking ANSI C 89): Remove strstr.
73479
73480 2007-02-04  Bruno Haible  <bruno@clisp.org>
73481
73482         New module mbsrchr.
73483         * modules/mbsrchr: New file.
73484         * lib/mbsrchr.c: New file.
73485         * lib/string_.h (strrchr): Add a conditional link warning.
73486         (mbsrchr): New declaration.
73487         * m4/mbsrchr.m4: New file.
73488         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73489         GNULIB_MBSRCHR.
73490         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73491         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73492
73493 2007-02-04  Bruno Haible  <bruno@clisp.org>
73494
73495         New module mbschr.
73496         * modules/mbschr: New file.
73497         * lib/mbschr.c: New file.
73498         * lib/string_.h (strchr): Add a conditional link warning.
73499         (mbschr): New declaration.
73500         * m4/mbschr.m4: New file.
73501         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73502         GNULIB_MBSCHR.
73503         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73504         * MODULES.html.sh (Internationalization functions): Add mbschr.
73505
73506 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73507
73508         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73509
73510         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73511
73512 2007-02-04  Bruno Haible  <bruno@clisp.org>
73513
73514         New module description section 'configure.ac-early'.
73515         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73516         (func_get_autoconf_early_snippet): New function.
73517         (func_import, func_create_testdir): Use it. Remove special cases for
73518         modules 'extensions' and 'lock'.
73519         * modules/extensions (configure.ac-early): Require
73520         gl_USE_SYSTEM_EXTENSIONS.
73521         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73522
73523 2007-02-04  Bruno Haible  <bruno@clisp.org>
73524
73525         Make use of gcj-4.3's -fsource and -ftarget option.
73526         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73527         and if so try the options -fsource and -ftarget.
73528         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73529         source_version, ftarget_option, target_version arguments.
73530         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73531         (is_envjavac_oldgcj_14_14_usable): Renamed from
73532         is_envjavac_gcj_14_14_usable.
73533         (is_envjavac_oldgcj_14_13_usable): Renamed from
73534         is_envjavac_gcj_14_13_usable.
73535         (is_gcj_present): Update.
73536         (is_gcj_43, is_gcj43_usable): New functions.
73537         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73538         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73539         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73540         try the options -fsource and -ftarget.
73541
73542 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73543
73544         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73545         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73546         larger value.
73547
73548 2007-02-03  Jim Meyering  <jim@meyering.net>
73549
73550         Give tools a better chance to allocate space for very large buffers.
73551         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73552
73553         Make pwd and readlink work also when run with an unreadable parent dir
73554         on systems with openat support.
73555         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73556         provided getcwd function, even when we have openat support.
73557         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73558
73559 2007-02-02  Bruno Haible  <bruno@clisp.org>
73560
73561         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73562         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73563         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73564         portability problems if one of these functions is only used on specific
73565         platforms.
73566         Reported by Paul Eggert.
73567
73568 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73569
73570         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73571         is causing more trouble than it's curing.
73572         * lib/regex_internal.h (__mempcpy): Remove.
73573         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73574         (and make the code a tad smaller to boot).
73575         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73576
73577 2007-02-02  Jim Meyering  <jim@meyering.net>
73578
73579         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73580         section, not in the Makefile.am: one.
73581
73582 2007-02-02  Eric Blake  <ebb9@byu.net>
73583
73584         * lib/strchrnul.c: Always include config.h first.
73585
73586         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73587         gnulib strstr is not necessary here.
73588
73589 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73590
73591         * m4/socklen.m4: Fix typo.
73592
73593 2007-02-02  Eric Blake  <ebb9@byu.net>
73594
73595         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73596         * modules/netinet_in (Makefile.am): Likewise.
73597
73598 2007-02-01  Bruno Haible  <bruno@clisp.org>
73599
73600         * lib/string_.h (GL_LINK_WARNING): New macro.
73601         (strcasecmp, strstr, strcasestr): If provided by the system,
73602         conditionally define as a macro that leads to a warning instead of to
73603         an error.
73604         (strncasecmp): Conditionally define as a macro that leads to a warning.
73605
73606 2007-02-01  Karl Berry  <karl@gnu.org>
73607
73608         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73609
73610 2007-02-01  Bruno Haible  <bruno@clisp.org>
73611
73612         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73613         renamings.
73614
73615 2007-02-01  Eric Blake  <ebb9@byu.net>
73616
73617         * modules/regex (Depends-on): Revert dependence on mempcpy.
73618         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73619         module's definition of mempcpy.
73620         Reported by Paul Eggert.
73621
73622 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73623
73624         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73625         the symbol XYZ before redefining it.  This fixes a problem with
73626         programs that don't use XYZ, when compiled on systems that define
73627         XYZ to something else.
73628
73629 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73630
73631         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73632         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73633         writeable to group or other and (2) is intended to have a special
73634         mode bit that is set or cleared.  In such a case, the directory
73635         should be neither group- nor other-writeable until the special
73636         mode bits are right.
73637
73638 2007-01-31  Eric Blake  <ebb9@byu.net>
73639
73640         * modules/mountlist (Depends-on): Add strstr.
73641
73642         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73643         bug.
73644         * modules/string (Makefile.am): Remove redundant replacement.
73645         * modules/regex (Depends-on): Add mempcpy.
73646
73647 2007-01-31  Bruno Haible  <bruno@clisp.org>
73648
73649         New module description field 'Link'.
73650         * gnulib-tool (func_usage): Document --extract-link-directive.
73651         (sed_extract_prog): Recognize 'Link' directive.
73652         (func_get_link_directive): New function.
73653         (func_import): Show summary of link directives.
73654         Handle --extract-link-directive option.
73655         * modules/acl (Link): New section.
73656         * modules/clock-time (Link): New section.
73657         * modules/euidaccess (Link): New section.
73658         * modules/gettext (Link): New section.
73659         * modules/iconv (Link): New section.
73660         * modules/lock (Link): New section.
73661         * modules/nanosleep (Link): New section.
73662         * modules/readline (Link): New section.
73663
73664 2007-01-27  Bruno Haible  <bruno@clisp.org>
73665
73666         Enforce the use of gnulib modules for unportable <string.h> functions.
73667         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73668         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73669         (gl_HEADER_STRING_H_BODY): Require it.
73670         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73671         the symbol XYZ to one that gives a link error.
73672         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73673         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73674         * modules/mempcpy (configure.ac): Likewise.
73675         * modules/memrchr (configure.ac): Likewise.
73676         * modules/stpcpy (configure.ac): Likewise.
73677         * modules/stpncpy (configure.ac): Likewise.
73678         * modules/strcase (configure.ac): Likewise.
73679         * modules/strcasestr (configure.ac): Likewise.
73680         * modules/strchrnul (configure.ac): Likewise.
73681         * modules/strdup (configure.ac): Likewise.
73682         * modules/strndup (configure.ac): Likewise.
73683         * modules/strnlen (configure.ac): Likewise.
73684         * modules/strpbrk (configure.ac): Likewise.
73685         * modules/strsep (configure.ac): Likewise.
73686         * modules/strstr (configure.ac): Likewise.
73687         * modules/strtok_r (configure.ac): Likewise.
73688
73689 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73690
73691         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73692
73693 2007-01-30  Jim Meyering  <jim@meyering.net>
73694
73695         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73696
73697 2007-01-29  Bruno Haible  <bruno@clisp.org>
73698
73699         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73700         * lib/execute.c: Likewise.
73701         * lib/pipe.c: Likewise.
73702         * lib/printf-args.h: Likewise.
73703         * lib/printf-args.c: Likewise.
73704         * lib/printf-parse.c: Likewise.
73705         * lib/vasnprintf.c: Likewise.
73706
73707 2007-01-29  Eric Blake  <ebb9@byu.net>
73708
73709         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73710         declaration.
73711
73712 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73713
73714         * lib/strptime.h (strptime): Use 'restrict' for args where
73715         POSIX requires this.
73716         * lib/strptime.c (strptime): Likewise.
73717         Change license notice from LGPL to GPL, since gnulib-tool will
73718         change this as needed.
73719         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73720         defined.
73721         Include "strptime.h" first, to check interface.
73722         Do not #undef _LIBC and _NL_CURRENT.
73723         Do not include <stdlib.h>; no longer needed.
73724         Include "time_r.h" and declare ptime_locale_status
73725         only if _LIBC is not defined.
73726         (__P): Remove unused macro.
73727         (match_string): Bring back glibc version, but use it only if _LIBC
73728         is defined.
73729         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73730         Remove unnecessary assertion and abort() call.
73731         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73732         * m4/strptime.m4: Fix serial number comment.
73733         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73734         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73735         (Depends-on): Add time_r.
73736
73737 2007-01-29  Bruno Haible  <bruno@clisp.org>
73738
73739         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73740         strptime.
73741         * modules/strptime (Depends-on): Add stdbool.
73742         * lib/strptime.h: Include <time.h> always. Add comments.
73743
73744 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73745
73746         * modules/strptime: New file.
73747         * lib/strptime.h: New file.
73748         * lib/strptime.c: New file.
73749         * m4/strptime.m4: New file.
73750
73751 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73752
73753         * MODULES.html.sh: New module mpsort.
73754         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73755
73756         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73757         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73758         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73759         All uses changed.
73760         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73761         All uses changed.
73762         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73763         to _Restrict_.
73764         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73765         the parameter matches the prototype.
73766
73767 2007-01-28  Jim Meyering  <jim@meyering.net>
73768
73769         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73770         sys/time.h here, reverting that part of the previous patch:
73771         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73772
73773 2007-01-28  Bruno Haible  <bruno@clisp.org>
73774
73775         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73776         value of $(SYS_TIME_H).
73777         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73778         remove it conditionally, too. [added by Jim Meyering]
73779         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73780         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73781         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73782         GETTIMEOFDAY_REPLACEMENT to 1.
73783
73784 2007-01-28  Bruno Haible  <bruno@clisp.org>
73785
73786         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73787         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73788         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73789         Set UNISTD_H instead of UNISTD_H2.
73790         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73791
73792 2007-01-28  Bruno Haible  <bruno@clisp.org>
73793
73794         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73795         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73796
73797 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73798
73799         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73800         (func_create_testdir): Ensure C locale for `grep' and `tr'
73801         character ranges.
73802         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73803         ACLOCAL_AMFLAGS parsing state machine.
73804
73805 2007-01-27  Bruno Haible  <bruno@clisp.org>
73806
73807         * modules/unistr/base: Update.
73808
73809 2007-01-27  Bruno Haible  <bruno@clisp.org>
73810
73811         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73812         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73813         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73814         modules/unistr/u32-mbtouc.
73815         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73816         * lib/unistr.h: Update.
73817         * lib/linebreak.c: Update.
73818         * modules/unistr/u32-mbtouc: Renamed from
73819         modules/unistr/u32-mbtouc-safe.
73820         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73821         * lib/unistr.h: Update.
73822         * lib/unistr/u32-to-u8.c: Update.
73823         * lib/unistr/u32-to-u16.c: Update.
73824
73825 2007-01-27  Bruno Haible  <bruno@clisp.org>
73826
73827         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73828         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73829         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73830         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73831         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73832         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73833         modules/unistr/u16-mbtouc.
73834         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73835         * lib/unistr.h: Update.
73836         * lib/linebreak.c: Update.
73837         * modules/linebreak: Update.
73838         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73839         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73840         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73841         * modules/unistr/u16-mbtouc: Renamed from
73842         modules/unistr/u16-mbtouc-safe.
73843         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73844         * lib/unistr.h: Update.
73845         * lib/unistr/u16-to-u8.c: Update.
73846         * modules/unistr/u16-to-u8: Update.
73847         * lib/unistr/u16-to-u32.c: Update.
73848         * modules/unistr/u16-to-u32: Update.
73849
73850 2007-01-27  Bruno Haible  <bruno@clisp.org>
73851
73852         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73853         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73854         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73855         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73856         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73857         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73858         modules/unistr/u8-mbtouc.
73859         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73860         * lib/unistr.h: Update.
73861         * lib/striconveh.c: Update.
73862         * modules/striconveh: Update.
73863         * lib/linebreak.c: Update.
73864         * modules/linebreak: Update.
73865         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73866         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73867         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73868         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73869         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73870         * lib/unistr.h: Update.
73871         * lib/striconveh.c: Update.
73872         * modules/striconveh: Update.
73873         * lib/unistr/u8-to-u16.c: Update.
73874         * modules/unistr/u8-to-u16: Update.
73875         * lib/unistr/u8-to-u32.c: Update.
73876         * modules/unistr/u8-to-u32: Update.
73877
73878 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73879
73880         Sync from Libtool.
73881         * lib/argz.c: Do not include strings.h nor memory.h, include
73882         string.h unconditionally.  Patch by Simon Josefsson.
73883
73884 2007-01-27  Bruno Haible  <bruno@clisp.org>
73885
73886         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73887         from gl_HEADER_STRING_H_BODY.
73888         (gl_HEADER_STRING_H_BODY): Require it.
73889         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73890         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73891         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73892         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73893         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73894         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73895         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73896         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73897         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73898         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73899         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73900         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73901         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73902         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73903         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73904
73905 2007-01-27  Bruno Haible  <bruno@clisp.org>
73906
73907         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73908         check_PROGRAMS into noinst_PROGRAMS.
73909         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73910         check_PROGRAMS in this case.
73911         (func_import): Set for_test to false.
73912         (func_create_testdir): Set for_test to true.
73913
73914 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73915             Bruno Haible  <bruno@clisp.org>
73916
73917         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73918         (Depends-on): Add string.
73919         (Includes): Use <string.h> instead of strcasestr.h.
73920         * modules/string (Makefile.am): Also substitute the value of
73921         REPLACE_STRCASESTR.
73922         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73923         assume strcasestr is declared in <string.h> not <strings.h>. Also
73924         set REPLACE_STRCASESTR.
73925         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73926         REPLACE_STRCASESTR.
73927         * lib/strcasestr.h: Remove file.
73928         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73929         * lib/string_.h (strcasestr): New declaration.
73930
73931 2007-01-27  Bruno Haible  <bruno@clisp.org>
73932
73933         * lib/string_.h: Use 'extern'.
73934
73935 2007-01-27  Jim Meyering  <jim@meyering.net>
73936
73937         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73938         of set-but-not-used local, "q".
73939
73940         * lib/mempcpy.c: Include <config.h> before <string.h>.
73941         This fixes a compilation error on HP-UX, due to the system's
73942         "restrict"-using mempcpy prototype.
73943
73944 2007-01-26  Bruno Haible  <bruno@clisp.org>
73945
73946         Small optimization.
73947         * lib/javacomp.c: Include c-strstr.h.
73948          (is_envjavac_gcj): Use c_strstr instead of strstr.
73949         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73950
73951 2007-01-26  Bruno Haible  <bruno@clisp.org>
73952
73953         * MODULES.html.sh (Unicode string functions): Add the new modules.
73954
73955         * modules/uniconv/u32-strconv-to-locale: New file.
73956         * lib/uniconv/u32-strconv-to-locale.c: New file.
73957
73958         * modules/uniconv/u16-strconv-to-locale: New file.
73959         * lib/uniconv/u16-strconv-to-locale.c: New file.
73960
73961         * modules/uniconv/u8-strconv-to-locale: New file.
73962         * lib/uniconv/u8-strconv-to-locale.c: New file.
73963
73964         * modules/uniconv/u32-strconv-from-locale: New file.
73965         * lib/uniconv/u32-strconv-from-locale.c: New file.
73966
73967         * modules/uniconv/u16-strconv-from-locale: New file.
73968         * lib/uniconv/u16-strconv-from-locale.c: New file.
73969
73970         * modules/uniconv/u8-strconv-from-locale: New file.
73971         * lib/uniconv/u8-strconv-from-locale.c: New file.
73972
73973         * modules/uniconv/u32-strconv-to-enc: New file.
73974         * lib/uniconv/u32-strconv-to-enc.c: New file.
73975         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73976         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73977
73978         * modules/uniconv/u16-strconv-to-enc: New file.
73979         * lib/uniconv/u16-strconv-to-enc.c: New file.
73980         * lib/uniconv/u-strconv-to-enc.h: New file.
73981         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73982         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73983
73984         * modules/uniconv/u8-strconv-to-enc: New file.
73985         * lib/uniconv/u8-strconv-to-enc.c: New file.
73986         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73987         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73988
73989         * modules/uniconv/u32-strconv-from-enc: New file.
73990         * lib/uniconv/u32-strconv-from-enc.c: New file.
73991         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73992         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73993
73994         * modules/uniconv/u16-strconv-from-enc: New file.
73995         * lib/uniconv/u16-strconv-from-enc.c: New file.
73996         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73997         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73998
73999         * modules/uniconv/u8-strconv-from-enc: New file.
74000         * lib/uniconv/u8-strconv-from-enc.c: New file.
74001         * lib/uniconv/u-strconv-from-enc.h: New file.
74002         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74003         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74004
74005         * modules/uniconv/u32-conv-from-enc: New file.
74006         * lib/uniconv/u32-conv-from-enc.c: New file.
74007         * modules/uniconv/u32-conv-from-enc-tests: New file.
74008         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74009
74010         * modules/uniconv/u16-conv-from-enc: New file.
74011         * lib/uniconv/u16-conv-from-enc.c: New file.
74012         * lib/uniconv/u-conv-from-enc.h: New file.
74013         * modules/uniconv/u16-conv-from-enc-tests: New file.
74014         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74015
74016         * modules/uniconv/u8-conv-from-enc: New file.
74017         * lib/uniconv/u8-conv-from-enc.c: New file.
74018         * modules/uniconv/u8-conv-from-enc-tests: New file.
74019         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74020
74021         * modules/uniconv/base: New file.
74022         * lib/uniconv.h: New file.
74023
74024 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74025
74026         * doc/gnulib-tool.texi (Initial import): Update to match current
74027         behavior with strdup module.
74028         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74029         * lib/memmem.h: Remove; all uses removed.  This is now done
74030         by <string.h>.
74031         * lib/mempcpy.h: Likewise.
74032         * lib/memrchr.h: Likewise.
74033         * lib/stpcpy.h: Likewise.
74034         * lib/stpncpy.h: Likewise.
74035         * lib/strcase.h: Likewise.
74036         * lib/strchrnul.h: Likewise.
74037         * lib/strdup.h: Likewise.
74038         * lib/strndup.h: Likewise.
74039         * lib/strnlen.h: Likewise.
74040         * lib/strpbrk.h: Likewise.
74041         * lib/strsep.h: Likewise.
74042         * lib/strstr.h: Likewise.
74043         * lib/strtok_r.h: Likewise.
74044         * lib/string_.h: New file.
74045         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74046         Rely on <string.h> instead.
74047         * lib/canon-host.c: Likewise.
74048         * lib/chdir-long.c: Likewise.
74049         * lib/concatpath.c: Likewise.
74050         * lib/exclude.c: Likewise.
74051         * lib/fchdir.c: Likewise.
74052         * lib/getaddrinfo.c: Likewise.
74053         * lib/getcwd.c: Likewise.
74054         * lib/getsubopt.c: Likewise.
74055         * lib/glob.c: Likewise.
74056         * lib/hard-locale.c: Likewise.
74057         * lib/iconvme.c: Likewise.
74058         * lib/javacomp.c: Likewise.
74059         * lib/mempcpy.c: Likewise.
74060         * lib/memrchr.c: Likewise.
74061         * lib/regex_internal.h: Likewise.
74062         * lib/stpncpy.c: Likewise.
74063         * lib/strcasecmp.c: Likewise.
74064         * lib/strchrnul.c: Likewise.
74065         * lib/strdup.c: Likewise.
74066         * lib/striconv.c: Likewise.
74067         * lib/striconveh.c: Likewise.
74068         * lib/striconveha.c: Likewise.
74069         * lib/strncasecmp.c: Likewise.
74070         * lib/strndup.c: Likewise.
74071         * lib/strnlen.c: Likewise.
74072         * lib/strsep.c: Likewise.
74073         * lib/strstr.c: Likewise.
74074         * lib/strtok_r.c: Likewise.
74075         * lib/userspec.c: Likewise.
74076         * lib/w32spawn.h: Likewise.
74077         * lib/xstrndup.c: Likewise.
74078         * lib/mountlist.c (strstr): Remove decl.
74079         * m4/string_h.m4: New file.
74080         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74081         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74082         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74083         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74084         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74085         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74086         Set REPLACE_STRCASECMP if necessary.
74087         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74088         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74089         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74090         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74091         HAVE_DECL_STRDUP if necessary.
74092         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74093         since gl_FUNC_STRNDUP does that now.
74094         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74095         Check for decl here...
74096         (gl_PREREQ_STRNLEN): ... not here.
74097         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74098         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74099         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74100         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74101         necessary.
74102         * modules/string: New file.
74103         * modules/memmem (Files): Remove special-purpose include file.
74104         (Depends-on): Add string.
74105         (Include): Include <string.h>, not the removed file.
74106         * modules/mempcpy: Likewise.
74107         * modules/memrchr: Likewise.
74108         * modules/stpcpy: Likewise.
74109         * modules/stpncpy: Likewise.
74110         * modules/strcase: Likewise.
74111         * modules/strchrnul: Likewise.
74112         * modules/strdup: Likewise.
74113         * modules/strndup: Likewise.
74114         * modules/strnlen: Likewise.
74115         * modules/strpbrk: Likewise.
74116         * modules/strsep: Likewise.
74117         * modules/strstr: Likewise.
74118         * modules/strtok_r: Likewise.
74119         * tests/test-dirname.c: Don't include "strdup.h", since
74120         <string.h> now suffices.
74121         * tests/test-memmem.c: Don't include "memmem.h", since
74122         <string.h> now suffices.
74123
74124 2007-01-25  Bruno Haible  <bruno@clisp.org>
74125
74126         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74127         *resultp is 0.
74128
74129         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74130         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74131         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74132         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74133
74134         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74135         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74136         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74137         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74138         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74139         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74140
74141 2007-01-24  Bruno Haible  <bruno@clisp.org>
74142
74143         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74144         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74145         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74146         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74147         gl_FUNC_FTS_CORE.
74148         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74149         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74150         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74151         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74152         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74153         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74154         gl_FUNC_FCHOWNAT.
74155         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74156         gl_FUNC_STRFTIME.
74157         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74158         Reported by Ralf Wildenhues.
74159
74160 2007-01-24  Bruno Haible  <bruno@clisp.org>
74161
74162         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74163         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74164         gl_GETADDRINFO.
74165         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74166         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74167         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74168
74169 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74170
74171         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74172         Don't use 'exit'; just return from 'main'.
74173         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74174
74175         * lib/fnmatch_.h: Readjust white space and comments to match
74176         glibc, to avoid spurious diffs.
74177
74178 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74179
74180         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74181         2004-12-01 change by Jakub Jelinek, since this code won't compile
74182         if !LIBC.  Problem reported by Bob Proulx.
74183
74184 2007-01-23  Bruno Haible  <bruno@clisp.org>
74185
74186         * lib/striconveh.c: Include c-strcaseeq.h.
74187         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74188         * modules/striconveh (Depends-on): Add c-strcaseeq.
74189
74190 2007-01-23  Bruno Haible  <bruno@clisp.org>
74191
74192         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74193
74194         * modules/c-strcaseeq: New file.
74195         * lib/c-strcaseeq.h: New file.
74196
74197         * modules/streq: New file.
74198         * lib/streq.h: New file.
74199
74200 2007-01-23  Bruno Haible  <bruno@clisp.org>
74201
74202         * modules/striconveha-tests: New file.
74203         * tests/test-striconveha.c: New file.
74204
74205         * lib/striconveha.h: Include <stdbool.h>.
74206         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74207         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74208         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74209         (mem_iconveha): New function.
74210         (str_iconveha_notranslit): Renamed from str_iconveha.
74211         (str_iconveha): New function.
74212         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74213         c-strcase.
74214
74215 2007-01-23  Bruno Haible  <bruno@clisp.org>
74216
74217         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74218         encodings without forgiving before trying any encoding with handler.
74219         (str_iconveha): Try all encodings without forgiving before trying any
74220         encoding with handler.
74221
74222 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74223
74224         Import the following changes from libc.
74225
74226         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74227
74228         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74229
74230         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74231
74232         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74233         normal_bracket label.
74234
74235         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74236
74237         [BZ #361]
74238         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74239         to normal_bracket after fetching the next character.
74240
74241 2007-01-22  Bruno Haible  <bruno@clisp.org>
74242
74243         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74244         argument.
74245         * lib/striconveh.c (iconv_carefully_1): New function.
74246         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74247         argument.
74248         (str_cd_iconveh): Update.
74249         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74250         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74251         * tests/test-striconveh.c (MAGIC): New macro.
74252         (new_offsets): New function.
74253         (main): Test call with and without offsets.
74254
74255 2007-01-22  Bruno Haible  <bruno@clisp.org>
74256
74257         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74258         * modules/sys_select (Makefile.am): Likewise.
74259         * modules/sys_socket (Makefile.am): Likewise.
74260         * modules/sys_time (Makefile.am): Likewise.
74261
74262 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74263
74264         * modules/gettimeofday (License): Change from GPL to LGPL, since
74265         gettimeofday is a library function.
74266
74267 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74268
74269         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74270
74271 2007-01-21  Bruno Haible  <bruno@clisp.org>
74272
74273         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74274
74275 2007-01-21  Bruno Haible  <bruno@clisp.org>
74276
74277         * modules/striconveha: New file.
74278         * lib/striconveha.h: New file.
74279         * lib/striconveha.c: New file.
74280         * MODULES.html.sh (Internationalization functions): Add striconveha.
74281         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74282         string.
74283         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74284
74285 2007-01-21  Bruno Haible  <bruno@clisp.org>
74286
74287         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74288         * lib/striconveh.c (str_iconveh): Likewise.
74289
74290 2007-01-21  Bruno Haible  <bruno@clisp.org>
74291
74292         * lib/striconveh.h (mem_iconveh): New declaration.
74293         * lib/striconveh.c (mem_iconveh): New function.
74294         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74295
74296 2007-01-21  Bruno Haible  <bruno@clisp.org>
74297
74298         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74299
74300         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74301         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74302         original result buffer.
74303         (str_cd_iconveh): Update.
74304         * tests/test-striconveh.c (main): Update.
74305
74306         * lib/striconv.h (mem_cd_iconv): Change specification.
74307         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74308         result buffer.
74309         (str_cd_iconv): Update.
74310         * tests/test-striconv.c (main): Update.
74311
74312 2007-01-21  Bruno Haible  <bruno@clisp.org>
74313
74314         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74315
74316 2007-01-20  Jim Meyering  <jim@meyering.net>
74317
74318         * lib/userspec.c (parse_with_separator): If a user or group string
74319         starts with "+", skip the corresponding name-to-ID look-up, since
74320         such a look-up must fail: user and group names may not include "+".
74321
74322 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74323
74324         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74325         since we now assume the sys_time module.
74326         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74327         check for sys/time.h; no longer needed.
74328         * modules/poll (Depends-on): Depend on sys_time.
74329
74330 2007-01-18  Bruno Haible  <bruno@clisp.org>
74331
74332         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74333         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74334
74335         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74336         gettimeofday.
74337
74338         * tests/test-gettimeofday.c: Include <time.h>.
74339         (dummy): Remove variable.
74340
74341         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74342         gl_HEADER_SYS_TIME_H.
74343         (gl_HEADER_SYS_TIME_H): New macro.
74344
74345         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74346         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74347         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74348         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74349         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74350         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74351         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74352         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74353         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74354         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74355         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74356
74357         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74358         last change; it caused a compilation error when cross-compiling to
74359         Cygwin.
74360
74361 2007-01-18  Jim Meyering  <jim@meyering.net>
74362
74363         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74364         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74365         than the race-prone "test -d sys || mkdir sys".
74366         (configure.ac): Use AC_PROG_MKDIR_P.
74367         * modules/sys_select: Likewise.
74368         * modules/sys_socket: Likewise.
74369         * modules/sys_time: Likewise.
74370
74371 2007-01-18  Eric Blake  <ebb9@byu.net>
74372
74373         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74374         replace gettimeofday.
74375         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74376         name, to avoid infinite recursion.
74377
74378 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74379
74380         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74381         module sys_time.
74382         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74383         assume timespec.h defines struct timeval.
74384         * lib/settime.c: Likewise.
74385         * lib/utimens.c: Likewise.
74386         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74387         since we now assume the gettimeofday module.
74388         * lib/tempname.c (__gen_tempname): Likewise.
74389         * lib/gettimeofday.h: Remove.
74390         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74391         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74392         Include <time.h>, for 'time()'.
74393         (localtime_buffer_addr): Also use this workaround if
74394         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74395         to simplify the uses.  All uses changed.
74396         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74397         that #undef is inside {}, and 'const' follows type name consistently.
74398         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74399         (gettimeofday): Do not use the maximum possible value for
74400         tv->tv_usec, since that might break usages other than ls.c.
74401         Instead, we'll leave ls.c alone.  This undoes today's patch
74402         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74403         we've never observed the problem but might as well keep the
74404         canary.
74405         * lib/nanosleep.c: Include timespec.h first, for interface check.
74406         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74407         now assume the sys_time module.
74408         * lib/tempname.c: Likewise.
74409         * lib/timespec.h: Likewise.
74410         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74411         needed.
74412         * lib/strftime.c: Likewise.
74413         * lib/timespec.h: Likewise.
74414         * lib/posixtm.c: Include posixtm.h first, for interface check.
74415         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74416         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74417         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74418         * lib/sys_time_.h: New file.
74419         * lib/timespec.h (struct timespec): Use long int, not long.
74420         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74421         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74422         Remove obsolescent call to AC_HEADER_TIME.
74423         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74424         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74425         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74426         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74427         Likewise.
74428         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74429         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74430         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74431         into the sys_time module.  Check for gettimeofday just once.
74432         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74433         for gettimeofday signature to just check the signature.  Merely
74434         compile it, since linking doesn't test signature.  Improve test for
74435         whether gettimeofday.o is actually needed.
74436         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74437         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74438         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74439         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74440         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74441         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74442         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74443         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74444         than worrying about sys/time.h.
74445         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74446         Don't bother worrying about TIME_WITH_SYS_TIME.
74447         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74448         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74449         * m4/sys_time_h.m4: New file.
74450         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74451         Don't include sys/time.h.  Return from main rather than exiting.
74452         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74453         all uses changed.
74454         * modules/gethrxtime (Depends-on): Add sys_time.
74455         * modules/gettime (Depends-on): Likewise.
74456         * modules/gettimeofday (Depends-on): Likewise.
74457         * modules/nanosleep (Depends-on): Likewise.
74458         * modules/settime (Depends-on): Likewise.
74459         * modules/tempname (Depends-on): Likewise.
74460         * modules/utimens (Depends-on): Likewise.
74461         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74462         (Include): Change back to <sys/time.h>.
74463         (Maintainer): Add self.
74464         * modules/sys_time: New file.
74465         * modules/tempname (Depends-on): Add gettimeofday.
74466         * tests/test-gettimeofday.c: Include <sys/time.h>
74467         rather than gettimeofday.h.
74468
74469 2007-01-17  Bruno Haible  <bruno@clisp.org>
74470
74471         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74472         the license default to GPL.
74473         (func_create_testdir): Don't complain if a module is LGPL and its
74474         tests module depends on GPLed modules.
74475
74476 2007-01-17  Bruno Haible  <bruno@clisp.org>
74477
74478         * lib/gettimeofday.c (gettimeofday): Add code for the case
74479         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74480         maximum possible value for tv->tv_usec, rather than the minimum one.
74481
74482 2005-10-08  Martin Lambers  <marlam@marlam.de>
74483 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74484 2007-01-16  Bruno Haible  <bruno@clisp.org>
74485
74486         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74487         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74488         gl_FUNC_GETTIMEOFDAY.
74489         (Include): Add gettimeofday.h.
74490         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74491         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74492         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74493         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74494         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74495         * lib/gettimeofday.h: New file.
74496         * lib/gettimeofday.c: Include <sys/timeb.h>.
74497         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74498         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74499         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74500         fall back on time().
74501
74502         * tests/test-gettimeofday.c: New file.
74503         * modules/gettimeofday-tests: New file.
74504
74505 2007-01-16  Eric Blake  <ebb9@byu.net>
74506
74507         * modules/fnmatch (Depends-on): Depend on wchar.
74508         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74509         * m4/fnmatch.m4: Likewise.
74510         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74511         * m4/mbchar.m4: Likewise.
74512         * modules/mbswidth (Depends-on): Depend on wchar.
74513         * lib/mbswidth.c: Assume <wchar.h>.
74514         * m4/mbswidth.m4: Likewise.
74515         * modules/quotearg (Depends-on): Depend on wchar.
74516         * lib/quotearg.c: Assume <wchar.h>.
74517         * m4/quotearg.m4: Likewise.
74518         * modules/regex (Depends-on): Depend on wchar.
74519         * lib/regex_internal.h: Assume <wchar.h>.
74520         * m4/regex.m4: Likewise.
74521         * modules/stdint (Depends-on): Depend on wchar.
74522         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74523         * m4/stdint.m4: Likewise.
74524         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74525         * modules/strftime (Depends-on): Depend on wchar.
74526         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74527         * modules/strtol (Depends-on): Depend on wchar.
74528         * lib/strtol.c: Assume <wchar.h>.
74529         * modules/wcwidth (Depends-on): Depend on wchar.
74530         * lib/wcwidth.h: Assume <wchar.h>.
74531         * m4/wcwidth.m4: Likewise.
74532
74533 2007-01-16  Bruno Haible  <bruno@clisp.org>
74534
74535         * modules/csharpexec-script: New, created from...
74536         * modules/csharpexec: ... this.
74537
74538 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74539
74540         * modules/javaexec-script: New, created from...
74541         * modules/javaexec: ... this.
74542
74543 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74544
74545         * modules/poll (Dependencies): Add sys_select.
74546
74547 2007-01-15  Jim Meyering  <jim@meyering.net>
74548
74549         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74550         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74551         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74552         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74553
74554 2007-01-15  Bruno Haible  <bruno@clisp.org>
74555
74556         * modules/striconveh: New file.
74557         * lib/striconveh.h: New file.
74558         * lib/striconveh.c: New file.
74559         * MODULES.html.sh (Internationalization functions): Add striconveh.
74560
74561         * modules/striconveh-tests: New file.
74562         * tests/test-striconveh.c: New file.
74563
74564 2007-01-15  Bruno Haible  <bruno@clisp.org>
74565
74566         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74567         not from GNU libiconv or GNU libc.
74568
74569 2007-01-15  Bruno Haible  <bruno@clisp.org>
74570
74571         * doc/gnulib-intro.texi (Copyright): Explain the different license
74572         terms for module descriptions, autoconf macros, tests, documentation.
74573
74574 2007-01-14  Bruno Haible  <bruno@clisp.org>
74575
74576         * modules/striconv-tests: New file.
74577         * tests/test-striconv.c: New file.
74578
74579 2007-01-14  Bruno Haible  <bruno@clisp.org>
74580
74581         * modules/iconv-tests: New file.
74582         * tests/test-iconv.c: New file.
74583
74584 2007-01-14  Bruno Haible  <bruno@clisp.org>
74585
74586         * gnulib-tool (func_get_license): For test modules, use the license of
74587         the main module.
74588
74589 2007-01-14  Bruno Haible  <bruno@clisp.org>
74590
74591         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74592         if iconv is found to exist.
74593
74594 2007-01-14  Bruno Haible  <bruno@clisp.org>
74595
74596         * modules/c-ctype-tests: New file.
74597         * tests/test-c-ctype.c: New file.
74598
74599 2007-01-14  Bruno Haible  <bruno@clisp.org>
74600
74601         * modules/binary-io-tests: New file.
74602         * tests/test-binary-io.sh: New file.
74603         * tests/test-binary-io.c: New file.
74604
74605 2007-01-14  Bruno Haible  <bruno@clisp.org>
74606
74607         * modules/array-oset-tests: New file.
74608         * tests/test-array_oset.c: New file.
74609
74610 2007-01-14  Bruno Haible  <bruno@clisp.org>
74611
74612         * modules/array-list-tests: New file.
74613         * tests/test-array_list.c: New file.
74614
74615 2007-01-14  Bruno Haible  <bruno@clisp.org>
74616
74617         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74618         and make.
74619         Reported by Simon Josefsson in
74620         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74621
74622 2007-01-14  Bruno Haible  <bruno@clisp.org>
74623
74624         * modules/allocsa-tests: New file.
74625         * tests/test-allocsa.c: New file.
74626
74627 2007-01-14  Bruno Haible  <bruno@clisp.org>
74628
74629         * modules/fchdir (Depends-on): Add absolute-header.
74630         * modules/unistd (Depends-on): Likewise.
74631
74632 2006-12-30  Bruno Haible  <bruno@clisp.org>
74633
74634         * modules/fchdir: New file.
74635         * modules/unistd (Files): Add lib/unistd_.h.
74636         (Makefile.am): Generate unistd.h from unistd_.h.
74637         * lib/fchdir.c: New file.
74638         * lib/dirent_.h: New file.
74639         * lib/unistd_.h: New file.
74640         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74641         * m4/fchdir.m4: New file.
74642         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74643         (gl_HEADER_UNISTD): Invoke it.
74644         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74645         function.
74646         * lib/backupfile.c (opendir, closedir): Undefine.
74647         * lib/chown.c (open, close): Undefine.
74648         * lib/clean-temp.c (open, close): Undefine.
74649         * lib/copy-file.c (open, close): Undefine.
74650         * lib/execute.c (open, close): Undefine.
74651         * lib/fsusage.c (open, close): Undefine.
74652         * lib/gc-gnulib.c (open, close): Undefine.
74653         * lib/getcwd.c (opendir, closedir): Undefine.
74654         * lib/glob.c (opendir, closedir): Undefine.
74655         * lib/javacomp.c (open, close): Undefine.
74656         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74657         * lib/openat-proc.c (open, close): Undefine.
74658         * lib/pagealign_alloc.c (open, close): Undefine.
74659         * lib/pipe.c (open, close): Undefine.
74660         * lib/progreloc.c (open, close): Undefine.
74661         * lib/savedir.c (opendir, closedir): Undefine.
74662         * lib/utime.c (open, close): Undefine.
74663         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74664
74665 2007-01-10  Bruno Haible  <bruno@clisp.org>
74666
74667         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74668
74669 2007-01-12  Eric Blake  <ebb9@byu.net>
74670
74671         Provide a robust <wchar.h>.  Further simplifications are now
74672         possible in other modules, but not included here.
74673         * modules/wchar: New module.
74674         * m4/wchar.m4: New file.
74675         * lib/wchar_.h: Likewise.
74676         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74677         of the new module.
74678         * MODULES.html.sh (Extended multibyte and wide character utilities):
74679         New section.
74680
74681 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74682
74683         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74684         to a reasonable default for memory allocation.
74685         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74686         file system that reports garbage st_size values for symlinks.
74687         Problem reported by Liyang Hu.
74688
74689 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74690
74691         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74692         Emacs .#* auto-save files).
74693
74694 2007-01-11  Bruno Haible  <bruno@clisp.org>
74695
74696         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74697         directory.
74698
74699 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74700
74701         Use @...@ consistently in lib/wctype_.h.
74702         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74703         on it being set to 1 or 0.
74704         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74705         go back to AC_SUBSTing it.
74706         * modules/wctype (Makefile.am): Undo previous change.
74707
74708 2007-01-10  Eric Blake  <ebb9@byu.net>
74709
74710         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74711         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74712         * modules/wctype (Makefile.am): Likewise.
74713         Reported by Chris McGuire.
74714
74715 2007-01-10  Jim Meyering  <jim@meyering.net>
74716
74717         fts.c: a small readability/maintainability improvement
74718         * lib/fts.c (fts_read): Make this code slightly more readable and
74719         maintainable by hoisting the "sp->fts_cur = p" assignments to
74720         immediately follow the statements that set P.  Derived from
74721         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74722
74723 2007-01-10  Eric Blake  <ebb9@byu.net>
74724
74725         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74726         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74727         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74728         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74729         Reported by Chris McGuire.
74730
74731 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74732
74733         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74734         in sed script.
74735
74736 2007-01-09  Bruno Haible  <bruno@clisp.org>
74737
74738         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74739         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74740         variables.
74741         (func_module): Use them.
74742
74743 2007-01-09  Bruno Haible  <bruno@clisp.org>
74744
74745         * modules/unistr/base: New file.
74746         * lib/unistr.h: New file.
74747
74748         * modules/unistr/u8-to-u16: New file.
74749         * lib/unistr/u8-to-u16.c: New file.
74750
74751         * modules/unistr/u8-to-u32: New file.
74752         * lib/unistr/u8-to-u32.c: New file.
74753
74754         * modules/unistr/u16-to-u8: New file.
74755         * lib/unistr/u16-to-u8.c: New file.
74756
74757         * modules/unistr/u16-to-u32: New file.
74758         * lib/unistr/u16-to-u32.c: New file.
74759
74760         * modules/unistr/u32-to-u8: New file.
74761         * lib/unistr/u32-to-u8.c: New file.
74762
74763         * modules/unistr/u32-to-u16: New file.
74764         * lib/unistr/u32-to-u16.c: New file.
74765
74766         * modules/unistr/u8-check: New file.
74767         * modules/unistr/u16-check: New file.
74768         * modules/unistr/u32-check: New file.
74769         * lib/unistr/u8-check.c: New file.
74770         * lib/unistr/u16-check.c: New file.
74771         * lib/unistr/u32-check.c: New file.
74772
74773         * modules/unistr/u8-chr: New file.
74774         * modules/unistr/u16-chr: New file.
74775         * modules/unistr/u32-chr: New file.
74776         * lib/unistr/u8-chr.c: New file.
74777         * lib/unistr/u16-chr.c: New file.
74778         * lib/unistr/u32-chr.c: New file.
74779
74780         * modules/unistr/u8-cmp: New file.
74781         * modules/unistr/u16-cmp: New file.
74782         * modules/unistr/u32-cmp: New file.
74783         * lib/unistr/u8-cmp.c: New file.
74784         * lib/unistr/u16-cmp.c: New file.
74785         * lib/unistr/u32-cmp.c: New file.
74786
74787         * modules/unistr/u8-cpy: New file.
74788         * modules/unistr/u16-cpy: New file.
74789         * modules/unistr/u32-cpy: New file.
74790         * lib/unistr/u8-cpy.c: New file.
74791         * lib/unistr/u16-cpy.c: New file.
74792         * lib/unistr/u32-cpy.c: New file.
74793         * lib/unistr/u-cpy.h: New file.
74794
74795         * modules/unistr/u8-cpy-alloc: New file.
74796         * modules/unistr/u16-cpy-alloc: New file.
74797         * modules/unistr/u32-cpy-alloc: New file.
74798         * lib/unistr/u8-cpy-alloc.c: New file.
74799         * lib/unistr/u16-cpy-alloc.c: New file.
74800         * lib/unistr/u32-cpy-alloc.c: New file.
74801         * lib/unistr/u-cpy-alloc.h: New file.
74802
74803         * modules/unistr/u8-endswith: New file.
74804         * modules/unistr/u16-endswith: New file.
74805         * modules/unistr/u32-endswith: New file.
74806         * lib/unistr/u8-endswith.c: New file.
74807         * lib/unistr/u16-endswith.c: New file.
74808         * lib/unistr/u32-endswith.c: New file.
74809         * lib/unistr/u-endswith.h: New file.
74810
74811         * modules/unistr/u8-mblen: New file.
74812         * modules/unistr/u16-mblen: New file.
74813         * modules/unistr/u32-mblen: New file.
74814         * lib/unistr/u8-mblen.c: New file.
74815         * lib/unistr/u16-mblen.c: New file.
74816         * lib/unistr/u32-mblen.c: New file.
74817
74818         * modules/unistr/u8-mbtouc: New file.
74819         * modules/unistr/u16-mbtouc: New file.
74820         * modules/unistr/u32-mbtouc: New file.
74821         * lib/unistr/u8-mbtouc.c: New file.
74822         * lib/unistr/u16-mbtouc.c: New file.
74823         * lib/unistr/u32-mbtouc.c: New file.
74824
74825         * modules/unistr/u8-mbtouc-safe: New file.
74826         * modules/unistr/u16-mbtouc-safe: New file.
74827         * modules/unistr/u32-mbtouc-safe: New file.
74828         * lib/unistr/u8-mbtouc-safe.c: New file.
74829         * lib/unistr/u16-mbtouc-safe.c: New file.
74830         * lib/unistr/u32-mbtouc-safe.c: New file.
74831
74832         * modules/unistr/u8-move: New file.
74833         * modules/unistr/u16-move: New file.
74834         * modules/unistr/u32-move: New file.
74835         * lib/unistr/u8-move.c: New file.
74836         * lib/unistr/u16-move.c: New file.
74837         * lib/unistr/u32-move.c: New file.
74838         * lib/unistr/u-move.h: New file.
74839
74840         * modules/unistr/u8-next: New file.
74841         * modules/unistr/u16-next: New file.
74842         * modules/unistr/u32-next: New file.
74843         * lib/unistr/u8-next.c: New file.
74844         * lib/unistr/u16-next.c: New file.
74845         * lib/unistr/u32-next.c: New file.
74846
74847         * modules/unistr/u8-prev: New file.
74848         * modules/unistr/u16-prev: New file.
74849         * modules/unistr/u32-prev: New file.
74850         * lib/unistr/u8-prev.c: New file.
74851         * lib/unistr/u16-prev.c: New file.
74852         * lib/unistr/u32-prev.c: New file.
74853
74854         * modules/unistr/u8-set: New file.
74855         * modules/unistr/u16-set: New file.
74856         * modules/unistr/u32-set: New file.
74857         * lib/unistr/u8-set.c: New file.
74858         * lib/unistr/u16-set.c: New file.
74859         * lib/unistr/u32-set.c: New file.
74860         * lib/unistr/u-set.h: New file.
74861
74862         * modules/unistr/u8-startswith: New file.
74863         * modules/unistr/u16-startswith: New file.
74864         * modules/unistr/u32-startswith: New file.
74865         * lib/unistr/u8-startswith.c: New file.
74866         * lib/unistr/u16-startswith.c: New file.
74867         * lib/unistr/u32-startswith.c: New file.
74868         * lib/unistr/u-startswith.h: New file.
74869
74870         * modules/unistr/u8-stpcpy: New file.
74871         * modules/unistr/u16-stpcpy: New file.
74872         * modules/unistr/u32-stpcpy: New file.
74873         * lib/unistr/u8-stpcpy.c: New file.
74874         * lib/unistr/u16-stpcpy.c: New file.
74875         * lib/unistr/u32-stpcpy.c: New file.
74876         * lib/unistr/u-stpcpy.h: New file.
74877
74878         * modules/unistr/u8-stpncpy: New file.
74879         * modules/unistr/u16-stpncpy: New file.
74880         * modules/unistr/u32-stpncpy: New file.
74881         * lib/unistr/u8-stpncpy.c: New file.
74882         * lib/unistr/u16-stpncpy.c: New file.
74883         * lib/unistr/u32-stpncpy.c: New file.
74884         * lib/unistr/u-stpncpy.h: New file.
74885
74886         * modules/unistr/u8-strcat: New file.
74887         * modules/unistr/u16-strcat: New file.
74888         * modules/unistr/u32-strcat: New file.
74889         * lib/unistr/u8-strcat.c: New file.
74890         * lib/unistr/u16-strcat.c: New file.
74891         * lib/unistr/u32-strcat.c: New file.
74892         * lib/unistr/u-strcat.h: New file.
74893
74894         * modules/unistr/u8-strchr: New file.
74895         * modules/unistr/u16-strchr: New file.
74896         * modules/unistr/u32-strchr: New file.
74897         * lib/unistr/u8-strchr.c: New file.
74898         * lib/unistr/u16-strchr.c: New file.
74899         * lib/unistr/u32-strchr.c: New file.
74900
74901         * modules/unistr/u8-strcmp: New file.
74902         * modules/unistr/u16-strcmp: New file.
74903         * modules/unistr/u32-strcmp: New file.
74904         * lib/unistr/u8-strcmp.c: New file.
74905         * lib/unistr/u16-strcmp.c: New file.
74906         * lib/unistr/u32-strcmp.c: New file.
74907
74908         * modules/unistr/u8-strcpy: New file.
74909         * modules/unistr/u16-strcpy: New file.
74910         * modules/unistr/u32-strcpy: New file.
74911         * lib/unistr/u8-strcpy.c: New file.
74912         * lib/unistr/u16-strcpy.c: New file.
74913         * lib/unistr/u32-strcpy.c: New file.
74914         * lib/unistr/u-strcpy.h: New file.
74915
74916         * modules/unistr/u8-strcspn: New file.
74917         * modules/unistr/u16-strcspn: New file.
74918         * modules/unistr/u32-strcspn: New file.
74919         * lib/unistr/u8-strcspn.c: New file.
74920         * lib/unistr/u16-strcspn.c: New file.
74921         * lib/unistr/u32-strcspn.c: New file.
74922         * lib/unistr/u-strcspn.h: New file.
74923
74924         * modules/unistr/u8-strdup: New file.
74925         * modules/unistr/u16-strdup: New file.
74926         * modules/unistr/u32-strdup: New file.
74927         * lib/unistr/u8-strdup.c: New file.
74928         * lib/unistr/u16-strdup.c: New file.
74929         * lib/unistr/u32-strdup.c: New file.
74930         * lib/unistr/u-strdup.h: New file.
74931
74932         * modules/unistr/u8-strlen: New file.
74933         * modules/unistr/u16-strlen: New file.
74934         * modules/unistr/u32-strlen: New file.
74935         * lib/unistr/u8-strlen.c: New file.
74936         * lib/unistr/u16-strlen.c: New file.
74937         * lib/unistr/u32-strlen.c: New file.
74938         * lib/unistr/u-strlen.h: New file.
74939
74940         * modules/unistr/u8-strmblen: New file.
74941         * modules/unistr/u16-strmblen: New file.
74942         * modules/unistr/u32-strmblen: New file.
74943         * lib/unistr/u8-strmblen.c: New file.
74944         * lib/unistr/u16-strmblen.c: New file.
74945         * lib/unistr/u32-strmblen.c: New file.
74946
74947         * modules/unistr/u8-strmbtouc: New file.
74948         * modules/unistr/u16-strmbtouc: New file.
74949         * modules/unistr/u32-strmbtouc: New file.
74950         * lib/unistr/u8-strmbtouc.c: New file.
74951         * lib/unistr/u16-strmbtouc.c: New file.
74952         * lib/unistr/u32-strmbtouc.c: New file.
74953
74954         * modules/unistr/u8-strncat: New file.
74955         * modules/unistr/u16-strncat: New file.
74956         * modules/unistr/u32-strncat: New file.
74957         * lib/unistr/u8-strncat.c: New file.
74958         * lib/unistr/u16-strncat.c: New file.
74959         * lib/unistr/u32-strncat.c: New file.
74960         * lib/unistr/u-strncat.h: New file.
74961
74962         * modules/unistr/u8-strncmp: New file.
74963         * modules/unistr/u16-strncmp: New file.
74964         * modules/unistr/u32-strncmp: New file.
74965         * lib/unistr/u8-strncmp.c: New file.
74966         * lib/unistr/u16-strncmp.c: New file.
74967         * lib/unistr/u32-strncmp.c: New file.
74968
74969         * modules/unistr/u8-strncpy: New file.
74970         * modules/unistr/u16-strncpy: New file.
74971         * modules/unistr/u32-strncpy: New file.
74972         * lib/unistr/u8-strncpy.c: New file.
74973         * lib/unistr/u16-strncpy.c: New file.
74974         * lib/unistr/u32-strncpy.c: New file.
74975         * lib/unistr/u-strncpy.h: New file.
74976
74977         * modules/unistr/u8-strnlen: New file.
74978         * modules/unistr/u16-strnlen: New file.
74979         * modules/unistr/u32-strnlen: New file.
74980         * lib/unistr/u8-strnlen.c: New file.
74981         * lib/unistr/u16-strnlen.c: New file.
74982         * lib/unistr/u32-strnlen.c: New file.
74983         * lib/unistr/u-strnlen.h: New file.
74984
74985         * modules/unistr/u8-strpbrk: New file.
74986         * modules/unistr/u16-strpbrk: New file.
74987         * modules/unistr/u32-strpbrk: New file.
74988         * lib/unistr/u8-strpbrk.c: New file.
74989         * lib/unistr/u16-strpbrk.c: New file.
74990         * lib/unistr/u32-strpbrk.c: New file.
74991         * lib/unistr/u-strpbrk.h: New file.
74992
74993         * modules/unistr/u8-strrchr: New file.
74994         * modules/unistr/u16-strrchr: New file.
74995         * modules/unistr/u32-strrchr: New file.
74996         * lib/unistr/u8-strrchr.c: New file.
74997         * lib/unistr/u16-strrchr.c: New file.
74998         * lib/unistr/u32-strrchr.c: New file.
74999
75000         * modules/unistr/u8-strspn: New file.
75001         * modules/unistr/u16-strspn: New file.
75002         * modules/unistr/u32-strspn: New file.
75003         * lib/unistr/u8-strspn.c: New file.
75004         * lib/unistr/u16-strspn.c: New file.
75005         * lib/unistr/u32-strspn.c: New file.
75006         * lib/unistr/u-strspn.h: New file.
75007
75008         * modules/unistr/u8-strstr: New file.
75009         * modules/unistr/u16-strstr: New file.
75010         * modules/unistr/u32-strstr: New file.
75011         * lib/unistr/u8-strstr.c: New file.
75012         * lib/unistr/u16-strstr.c: New file.
75013         * lib/unistr/u32-strstr.c: New file.
75014         * lib/unistr/u-strstr.h: New file.
75015
75016         * modules/unistr/u8-strtok: New file.
75017         * modules/unistr/u16-strtok: New file.
75018         * modules/unistr/u32-strtok: New file.
75019         * lib/unistr/u8-strtok.c: New file.
75020         * lib/unistr/u16-strtok.c: New file.
75021         * lib/unistr/u32-strtok.c: New file.
75022         * lib/unistr/u-strtok.h: New file.
75023
75024         * modules/unistr/u8-uctomb: New file.
75025         * modules/unistr/u16-uctomb: New file.
75026         * modules/unistr/u32-uctomb: New file.
75027         * lib/unistr/u8-uctomb.c: New file.
75028         * lib/unistr/u16-uctomb.c: New file.
75029         * lib/unistr/u32-uctomb.c: New file.
75030
75031         * MODULES.html.sh (Unicode string functions): Add the new modules.
75032
75033 2007-01-08  Bruno Haible  <bruno@clisp.org>
75034
75035         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75036         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75037         subdirectories.
75038
75039 2007-01-08  Karl Berry  <karl@gnu.org>
75040
75041         * doc/error.texi: mention that main() fns must set program_name
75042         when progname is used.
75043
75044 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75045
75046         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75047         WCTYPE_H is empty, for the benefit of builds from non-distclean
75048         directories.  Problem reported by Eric Blake in
75049         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75050
75051 2007-01-08  Bruno Haible  <bruno@clisp.org>
75052
75053         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75054         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75055         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75056         PROVIDE_CANONICALIZE_FILENAME_MODE.
75057         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75058
75059 2007-01-08  Bruno Haible  <bruno@clisp.org>
75060
75061         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75062         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75063         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75064         * lib/fts.c: Likewise.
75065         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75066
75067 2006-12-25  Bruno Haible  <bruno@clisp.org>
75068
75069         * modules/utf8-ucs4-safe: New file.
75070         * lib/utf8-ucs4-safe.h: New file.
75071         * lib/unistr/utf8-ucs4-safe.c: New file.
75072
75073         * modules/utf16-ucs4-safe: New file.
75074         * lib/utf16-ucs4-safe.h: New file.
75075         * lib/unistr/utf16-ucs4-safe.c: New file.
75076
75077         * MODULES.html.sh (Unicode string functions): Add the new modules.
75078
75079 2007-01-08  Bruno Haible  <bruno@clisp.org>
75080
75081         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75082         (Depends-on): Add unitypes.
75083         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75084         (u8_mbtouc_aux): Move out to separate file.
75085         (u8_mbtouc): Use ucs4_t, uint8_t types.
75086         * lib/unistr/utf8-ucs4.c: New file.
75087
75088         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75089         (Depends-on): Add unitypes.
75090         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75091         (u16_mbtouc_aux): Move out to separate file.
75092         (u16_mbtouc): Use ucs4_t, uint16_t types.
75093         * lib/unistr/utf16-ucs4.c: New file.
75094
75095         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75096         (Depends-on): Add unitypes.
75097         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75098         (u8_uctomb_aux): Move out to separate file.
75099         (u8_uctomb): Use ucs4_t, uint8_t types.
75100         * lib/unistr/ucs4-utf8.c: New file.
75101
75102         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75103         (Depends-on): Add unitypes.
75104         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75105         (u16_uctomb_aux): Move out to separate file.
75106         (u16_uctomb): Use ucs4_t, uint16_t types.
75107         * lib/unistr/ucs4-utf16.c: New file.
75108
75109 2006-12-25  Bruno Haible  <bruno@clisp.org>
75110
75111         * modules/unitypes: New file.
75112         * lib/unitypes.h: New file.
75113         * MODULES.html.sh (func_all_modules): New section "Unicode string
75114         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75115         this section. Add unitypes.
75116
75117 2007-01-08  Bruno Haible  <bruno@clisp.org>
75118
75119         Avoid variable names that conflict with those from libtool.
75120         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75121         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75122         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75123         library_names_spec to acl_library_names_spec, hardcode_* to
75124         acl_hardcode_*.
75125         Reported by Ralf Wildenhues.
75126
75127 2007-01-08  Bruno Haible  <bruno@clisp.org>
75128
75129         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75130         definition.
75131         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75132         definition.
75133         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75134         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75135         definition.
75136         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75137         definition.
75138         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75139         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75140         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75141         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75142         definition.
75143         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75144         definition.
75145         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75146         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75147         GC_USE_<algorithm>.
75148         * lib/gc-libgcrypt.c: Likewise.
75149         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75150         * modules/gc-arctwo (configure.ac): Likewise.
75151         * modules/gc-des (configure.ac): Likewise.
75152         * modules/gc-hmac-md5 (configure.ac): Likewise.
75153         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75154         * modules/gc-md2 (configure.ac): Likewise.
75155         * modules/gc-md4 (configure.ac): Likewise.
75156         * modules/gc-md5 (configure.ac): Likewise.
75157         * modules/gc-random (configure.ac): Likewise.
75158         * modules/gc-rijndael (configure.ac): Likewise.
75159         * modules/gc-sha1 (configure.ac): Likewise.
75160
75161 2007-01-08  Bruno Haible  <bruno@clisp.org>
75162
75163         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75164         macro definition.
75165         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75166         definition.
75167         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75168         definition.
75169         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75170         * modules/fcntl-safer (configure.ac): Likewise.
75171         * modules/fopen-safer (configure.ac): Likewise.
75172         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75173         GNULIB_FWRITEERROR macro definition.
75174
75175 2007-01-08  Bruno Haible  <bruno@clisp.org>
75176
75177         * m4/gnulib-common.m4: New file.
75178         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75179         (func_get_filelist): Add m4/gnulib-common.m4.
75180
75181 2007-01-08  Bruno Haible  <bruno@clisp.org>
75182
75183         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75184         command.
75185
75186 2007-01-08  Jim Meyering  <jim@meyering.net>
75187
75188         Use a more robust test for a "can't happen" condition.
75189         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75190         narrowed the st_size value.  Presuming the "can't happen" condition
75191         is true, that narrowing could conceivably convert an invalid st_size
75192         value into a valid one.  Instead, use a change based on Matthew
75193         Woehlke's original patch.
75194
75195         Slight readability improvement: use an assert-like macro
75196         in place of literal "abort ()" uses.
75197         * lib/fts.c (fts_assert): Define.
75198         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75199         Use this macro instead of a bare 'abort'.
75200
75201 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75202
75203         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75204         simply work around them.
75205         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75206         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75207         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75208         declaring.
75209         Don't bother to define as macros, since the standard doesn't require it.
75210         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75211         longer worry about IRIX 5.3.
75212         (HAVE_WCTYPE_CTMP_BUG): Remove.
75213
75214 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75215
75216         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75217         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75218         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75219         Problems reported by Georg Schwarz for IRIX 5.3.
75220
75221         * gnulib-tool (autoconf_minversion): Take the maximum version number
75222         found, not the minimum.  Problem reported by James Youngman.
75223
75224 2007-01-03  Karl Berry  <karl@gnu.org>
75225
75226         * doc/error.texi: new file, explaining interaction with progname.
75227         * doc/gnulib.texi: include it.  Update copyright.
75228
75229 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75230
75231         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75232         AC_CANONICAL_HOST, to improve autobuild outputs.
75233
75234 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75235             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75236
75237         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75238         sockets, server sockets, and other file descriptors.  Count errors
75239         to compute the return value.  Reorder the code a bit to be easier
75240         to follow.  Don't set event bits that were not requested (except
75241         POLLERR and POLLHUP).
75242
75243 2007-01-01  Bruno Haible  <bruno@clisp.org>
75244
75245         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75246
75247 2007-01-03  Jim Meyering  <jim@meyering.net>
75248
75249         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75250
75251 2007-01-02  Bruno Haible  <bruno@clisp.org>
75252
75253         * modules/settime (Include): Require timespec.h.
75254         * modules/nanosleep (Include): Likewise.
75255
75256 2007-01-01  Bruno Haible  <bruno@clisp.org>
75257
75258         * gnulib-tool (func_emit_copyright_notice): Bump year.
75259         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75260
75261 2007-01-01  Bruno Haible  <bruno@clisp.org>
75262
75263         Improve support for OpenBSD.
75264         * build-aux/config.rpath (libname_spec): Export.
75265         (library_names_spec): New variable. Export.
75266         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75267         library_names_spec from the config.rpath output. Locate shared library
75268         through the name pattern in library_names_spec.
75269
75270 2007-01-01  Eric Blake  <ebb9@byu.net>
75271
75272         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75273
75274 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75275
75276         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75277         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75278         assume the C locale, and avoid an "eval" that could cause trouble.
75279         Problem with SORT reported by Bob Proulx.
75280
75281         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75282         Define.  Trivial patch from Henning Nielsen Lund, originally
75283         sent to bug-grep@gnu.org today.
75284
75285 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75286
75287         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75288         struct stat.  Problem reported by Henning Nielsen Lund.
75289         * lib/acl.c: Include acl.h first, to check interface.  Don't
75290         bother to include sys/types.h and sys/stat.h again.
75291
75292 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75293
75294         Import the following change from libc; problem reported by
75295         Sven Verdoolaege.
75296
75297         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75298
75299         [BZ #1373]
75300         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75301
75302 2006-12-28  Jim Meyering  <jim@meyering.net>
75303
75304         * build-aux/announce-gen: Do not assume that the package
75305         builds any of tar.gz, tar.bz2, and .xdelta files.
75306         Suggestion from Simon Josefsson.
75307
75308 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75309
75310         * modules/announce-gen: New file.
75311
75312 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75313
75314         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75315         handles its gotchas now.
75316         * lib/mbswidth.c: Likewise.
75317         * lib/wcwidth.h: Likewise.
75318         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75319         and iswcntrl; the wctype module does this stuff now.
75320         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75321         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75322         * modules/mbchar (Depends-on): Add wctype.
75323         * modules/mbswidth (Depends-on): Likewise.
75324         * modules/wcwidth (Depends-on): Likewise.
75325
75326 2006-12-27  Eric Blake  <ebb9@byu.net>
75327
75328         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75329         module uses more than what <wctype.h> is required to provide.
75330
75331 2006-12-26  Eric Blake  <ebb9@byu.net>
75332
75333         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75334
75335 2006-12-26  Eric Blake  <ebb9@byu.net>
75336
75337         * modules/absolute-header: New module.
75338         * modules/fcntl (Depends-on): Depend on it.
75339         * modules/inttypes (Depends-on): Likewise.
75340         * modules/stdint (Depends-on): Likewise.
75341         * modules/sys_stat (Depends-on): Likewise.
75342         * modules/wctype (Depends-on): Likewise.
75343         * MODULES.html.sh (Support for building libraries and
75344         executables): Document it.
75345
75346 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75347
75348         * gnulib-tool (SED): Remove, undoing previous change.
75349         The problem was that it broke coreutils on Solaris, because
75350         "sed --posix" leaked into a makefile.
75351         (sed): New alias, if 'alias' and GNU sed.
75352
75353 2006-12-24  Jim Meyering  <jim@meyering.net>
75354
75355         Work around an fchownat bug in glibc-2.4:
75356         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75357         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75358         in spite of the -P option.
75359         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75360         New macros.
75361         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75362         * modules/openat (Files): Add lib/fchownat.c.
75363         * lib/openat.c (fchownat): Don't define here.  Move to...
75364         * lib/fchownat.c: ...this new file.
75365
75366 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75367
75368         Fix bug reported by Bruno Haible in
75369         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75370         where quotearg.c didn't compile on Mac OS X 10.2 because it
75371         lacks <wchar.h> and wint_t.
75372         * lib/wctype_.h (__wctype_wint_t): New type.
75373         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75374         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75375         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75376         Arg is now of type __wctype_wint_t, not wint_t.
75377         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75378         substitute HAVE_WINT_T.
75379         * modules/wctype (Files): Add m4/wint_t.m4.
75380         (wctype.h): Substitute HAVE_WINT_T.
75381
75382 2006-12-23  Bruno Haible  <bruno@clisp.org>
75383
75384         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75385
75386 2006-12-23  Bruno Haible  <bruno@clisp.org>
75387
75388         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75389         S_ISLNK.
75390         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75391         mingw.
75392
75393 2006-12-22  Bruno Haible  <bruno@clisp.org>
75394
75395         * lib/copy-file.c: Include acl.h.
75396         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75397         Close the file descriptors only after being done with copy_acl.
75398         * modules/copy-file (Depends-on): Add acl.
75399
75400 2006-12-22  Bruno Haible  <bruno@clisp.org>
75401
75402         * gnulib-tool (SED): New variable.
75403         Use $SED instead of sed everywhere.
75404
75405 2006-12-22  Bruno Haible  <bruno@clisp.org>
75406
75407         * modules/no-c++: New file.
75408         * m4/no-c++.m4: New file.
75409         * MODULES.html.sh (Support for building libraries and executables):
75410         Add no-c++.
75411
75412 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75413
75414         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75415         Include <limits.h>, and use its INT_MAX to rewrite the
75416         j loop so that it does not overflow 'int'.  Problem reported by
75417         Ralf Wildenhues in
75418         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75419         Play it safe by shifting left by 1 rather than multiplying by 2,
75420         as GCC is less likely to optimize this away when the value
75421         is signed (when it assumes overflow leads to undefined behavior).
75422         Also, don't assume time_t uses two's complement.
75423
75424 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75425
75426         * MODULES.html.sh: New module wctype.
75427         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75428         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75429         <wctype.h>, since the new wctype module should fix this.
75430         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75431         the wctype module should arrange for it.
75432         * lib/regex_internal.h: Likewise.
75433         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75434         since the wctype module should handle this now.
75435         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75436         * modules/fnmatch (Depends-on): Add wctype.
75437         * modules/quotearg (Depends-on): Likewise.
75438         * modules/regex (Depends-on): Likewise.
75439
75440 2006-12-19  Bruno Haible  <bruno@clisp.org>
75441
75442         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75443         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75444
75445 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75446
75447         * modules/savewd (Depends-on): Fix dependency on fcntl.
75448
75449 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75450
75451         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75452         conforms to C99, rather than relying on the user's environment
75453         setting of STDINT_H.
75454
75455 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75456         and Eric Blake  <ebb9@byu.net>
75457
75458         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75459         This is more consistent with the other defines here.
75460         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75461         Port to z/OS.  Problem reported by Paul Gilmartin.
75462         Change local vars to use gl_ prefix rather than ac_.
75463         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75464         with other defines.
75465         * modules/double-slash-root: New module.
75466         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75467         (Depends-on): Add double-slash-root.
75468         * MODULES.html.sh (File system functions): Mention new module.
75469
75470 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75471
75472         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75473         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75474         This is for the benefit of gzip, which doesn't do i18n.
75475
75476 2006-12-12  Jim Meyering  <jim@meyering.net>
75477
75478         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75479         Reported by Andreas Schwab <schwab@suse.de>.
75480
75481 2006-12-12  Bruno Haible  <bruno@clisp.org>
75482
75483         Merge these changes.
75484         2006-09-05  Bruno Haible  <bruno@clisp.org>
75485         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75486         iconv_alloc succeeded.
75487         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75488         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75489         test for " && dest " at the end - dest is always != NULL there. Call
75490         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75491         with 2xNULL arguments, also to flush the state storage. Handle the
75492         IRIX iconv behaviour. Realloc the final result, to throw away unused
75493         memory.
75494
75495 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75496
75497         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75498         and fchmodat unconditionally, since glibc 2.4 has them.
75499         Problem reported by Arkadiusz Miskiewicz.
75500
75501 2006-12-10  Bruno Haible  <bruno@clisp.org>
75502
75503         * gnulib-tool (func_import): Show the include files only for those
75504         modules that are copied and specified.
75505         Reported by Karl Berry.
75506
75507 2006-12-08  Jim Meyering  <jim@meyering.net>
75508
75509         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75510         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75511
75512         * build-aux/announce-gen: Add two new options, both optional:
75513         --bootstrap-tools=TOOL_LIST
75514               a comma-separated list of tools, e.g.,
75515               autoconf,automake,bison,gnulib
75516         --gnulib-snapshot-date=DATE
75517               if gnulib is in the bootstrap tool list,
75518               then report this as the snapshot date.
75519               If not specified, use the current date/time.
75520               If you specify a date here, be sure it's UTC.
75521
75522 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75523
75524         * tests/test-argp-2.sh: Fix test to match actual output.
75525         (func_compare): Fix sed script to be portable.
75526
75527 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75528
75529         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75530         workaround for this case.  It is not autoconfigured now; offhand
75531         it's hard to see how to autoconfigure it.
75532
75533 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75534
75535         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75536         a directory that is about to be chowned.  Such a directory's
75537         initial file permissions should permit the owner only and this
75538         should not be changed until after the chown, since the group and
75539         other bits would be incorrect if they granted permission before
75540         the chown.
75541
75542         Fix porting problem for iswctype reported by Georg Schwarz in:
75543         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75544         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75545         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75546         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75547         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75548
75549 2006-12-03  Jim Meyering  <jim@meyering.net>
75550
75551         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75552         p->fts_statp may not yet be defined.
75553         (fts_read): Instead, set it in the caller, once p->fts_statp is
75554         sure to be defined, and corresponds to a top-level directory.
75555         This bug made du -x fail.  Here's the coreutils test case:
75556         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75557         Reported by Mike Frysinger.
75558
75559 2006-12-01  Jim Meyering  <jim@meyering.net>
75560
75561         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75562         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75563         Reported by Simon Josefsson.
75564
75565 2006-11-30  Jim Meyering  <jim@meyering.net>
75566
75567         * m4/warning.m4: Use the all-permissive copyright notice
75568         recommended by RMS (rather than LGPL).
75569         * m4/vararrays.m4: Likewise.
75570         * m4/flexmember.m4: Likewise.
75571
75572 2006-11-29  Bruno Haible  <bruno@clisp.org>
75573
75574         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75575         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75576         using +=.
75577         Reported by Simon Josefsson <simon@josefsson.org>.
75578
75579 2006-11-28  James Youngman <jay@gnu.org>
75580
75581         * README: Advise users that they might find the bug-gnulib@gnu.org
75582         and autotools-announce@gnu.org mailing lists useful.
75583
75584 2006-11-28  Bruno Haible  <bruno@clisp.org>
75585
75586         * m4/ptrdiff_max.m4: Remove file.
75587
75588 2006-11-21  Bruno Haible  <bruno@clisp.org>
75589
75590         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75591         _AC_COMPUTE_INT.
75592         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75593         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75594         _AC_COMPUTE_INT.
75595         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75596         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75597         _AC_COMPUTE_INT.
75598         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75599
75600 2006-11-28  Jim Meyering  <jim@meyering.net>
75601
75602         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75603         warning from "gcc -Wshadow" about shadowing the builtin.
75604
75605 2006-11-27  Bruno Haible  <bruno@clisp.org>
75606
75607         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75608         _AC_COMPUTE_INT.
75609         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75610
75611 2006-11-27  Bruno Haible  <bruno@clisp.org>
75612             Paul Eggert  <eggert@cs.ucla.edu>
75613
75614         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75615
75616 2006-11-26  Bruno Haible  <bruno@clisp.org>
75617
75618         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75619         noinst_LTLIBRARIES.
75620
75621 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75622             Bruno Haible  <bruno@clisp.org>
75623
75624         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75625         if compiling with "gcc -ansi".
75626
75627 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75628
75629         Fix some incompatibilities with gcc -ansi -pedantic.
75630         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75631         if compiling pedantically with GCC, unless it's C99 or later.
75632         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75633         it mishandles gcc -ansi -pedantic as well.
75634         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75635         if gcc -pedantic.
75636         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75637         initializers for struct if -pedantic, unless it's C99 or later.
75638
75639 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75640
75641         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75642         Don't close an fd more than once. Identical atimes indicate
75643         success, not failure.
75644
75645 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75646
75647         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75648
75649 2006-11-23  Jim Meyering  <jim@meyering.net>
75650
75651         * build-aux/announce-gen: New file.  From coreutils.
75652
75653 2006-11-22  Jim Meyering  <jim@meyering.net>
75654
75655         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75656         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75657         (fts_read): Use a temporary to narrow the overused st_size member
75658         before using it in a switch statement.  Reported by Matthew Woehlke.
75659
75660         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75661         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75662
75663 2006-11-20  Bruno Haible  <bruno@clisp.org>
75664
75665         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75666         changequote instead of pairs of brackets.
75667         Reported by Andreas Schwab <schwab@suse.de>.
75668
75669 2006-11-21  Jim Meyering  <jim@meyering.net>
75670
75671         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75672         so as to remain compatible with older compilers.
75673         Patch from Michael Deutschmann.
75674
75675 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75676
75677         * MODULES.html.sh (File system functions): Add openat.
75678
75679         * lib/openat.h (rpl_fstatat): New macro, if
75680         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75681         (fstatat): Define to rpl_fstatat under the same conditions,
75682         unless COMPILING_FSTATAT.
75683         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75684         seems to have the bug.
75685         * lib/fstatat.c: New file.
75686         * modules/openat (Files): Add it.
75687
75688 2006-11-20  Bruno Haible  <bruno@clisp.org>
75689
75690         * Makefile: New file.
75691
75692 2006-11-20  Jim Meyering  <jim@meyering.net>
75693
75694         The beginnings of syntax-related checks for gnulib.
75695         * lib/Makefile: New file.
75696         * lib/t-idcache: New script.  Ensure that the two halves of
75697         idcache.c stay in sync.
75698
75699         * lib/idcache.c: Adjust comments in user- and group- portions to
75700         be more accurate, and to be consistent with one another.
75701
75702 2006-11-20  Jim Meyering  <jim@meyering.net>
75703
75704         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75705         continue using the flexible array member (thus, this module performs
75706         half as many malloc calls), with the addition that...
75707         (getgroup, getuser): Consistently record a non-match via an empty
75708         "name" string, and map an empty string match to a NULL return value.
75709         * modules/idcache (Depends-on): Re-add flexmember.
75710
75711         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75712         (getuidbyname, getgroup, getgidbyname): Likewise.
75713
75714         Use cleaner syntax: NULL rather than 0.
75715         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75716
75717 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75718
75719         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75720         It mishandled the case where the group was missing.
75721         Problem reported by Greg Schafer.
75722         * modules/idcache: Likewise.
75723
75724 2006-11-18  Jim Meyering  <jim@meyering.net>
75725
75726         * check-module (%exempt_header): Add exception for some
75727         conditionally-included headers.
75728
75729         * modules/i-ring (Depends-on): Add verify.
75730         (License): Change to LGPL.
75731
75732 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75733
75734         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75735         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75736         and inttostr.h.  Use snprintf rather than uinttostr, so that
75737         LGPLed code doesn't depend on GPLed.
75738
75739 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75740
75741         * modules/inline (License): Change from GPL to LGPL.
75742
75743 2006-11-17  Jim Meyering  <jim@meyering.net>
75744
75745         * modules/d-type (License): Switch to LGPL.
75746
75747 2006-11-15  Bruno Haible  <bruno@clisp.org>
75748
75749         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75750
75751 2006-11-15  Eric Blake  <ebb9@byu.net>
75752
75753         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75754         the module dependency.
75755
75756 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75757             Bruno Haible  <bruno@clisp.org>
75758
75759         * gnulib-tool (func_create_testdir): Add license consistency check.
75760
75761 2006-11-15  Eric Blake  <ebb9@byu.net>
75762
75763         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75764         random "(cached)" in configure output.
75765
75766 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75767
75768         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75769         test for conforming inttypes.h is both announced and cached.
75770
75771         * MODULES.html.sh (seen_modules, seen_files): New variables.
75772         (func_module): Rewrite to use a few less gnulib-tool and sed
75773         invocations.  Avoid a couple of quadratic algorithms for ...
75774         (missed_modules, missed_files): ... these, with ...
75775         (func_append, func_tmpdir): ... these new functions, from
75776         gnulib-tool.  Analogously, install traps for cleanup.
75777
75778         * tests/test-gc.c (main): Remove unused variables.
75779         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75780
75781 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75782
75783         * modules/inttostr (License): Change to LGPL.
75784
75785 2006-11-14  Eric Blake  <ebb9@byu.net>
75786
75787         * modules/tempname (License): Change to LGPL.
75788
75789 2006-11-14  Eric Blake  <ebb9@byu.net>
75790
75791         * doc/functions.texi (Function Portability): *printf functions on
75792         Cygwin now understand all POSIX size specifiers.
75793
75794 2006-11-14  Bruno Haible  <bruno@clisp.org>
75795
75796         * modules/c-ctype (License): Change to LGPL.
75797
75798 2006-11-12  Bruno Haible  <bruno@clisp.org>
75799
75800         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75801         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75802         for GNOME libraries, for which the include files are installed in
75803         subdirectories of $prefix/include.
75804
75805 2006-11-12  Bruno Haible  <bruno@clisp.org>
75806
75807         * m4/lib-link.m4: Require at least autoconf-2.54.
75808         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75809         name to underscores for the --with option.
75810
75811 2006-11-13  Bruno Haible  <bruno@clisp.org>
75812
75813         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75814         the tests directory.
75815         Reported by Ralf Wildenhues.
75816
75817 2006-11-13  Bruno Haible  <bruno@clisp.org>
75818
75819         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75820         (func_emit_initmacro_end): Undo the override here.
75821         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75822         Works around the famous automake error in coreutils.
75823
75824 2006-11-13  Eric Blake  <ebb9@byu.net>
75825
75826         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75827         element, not its node.
75828
75829 2006-11-12  Bruno Haible  <bruno@clisp.org>
75830
75831         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75832         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75833
75834 2006-11-12  Bruno Haible  <bruno@clisp.org>
75835
75836         * gnulib-tool: New option --local-symlink.
75837         (func_usage): Document it.
75838         (lsymbolic): New variable.
75839         (func_import, func_create_testdir): If --symlink was not specified,
75840         test whether --local-symlink was specified and the file comes from
75841         the local_gnulib_dir.
75842
75843 2006-11-12  Bruno Haible  <bruno@clisp.org>
75844
75845         * gnulib-tool (func_ln): New function.
75846         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75847
75848 2006-11-12  Bruno Haible  <bruno@clisp.org>
75849
75850         Finish support for source files in subdirectories.
75851         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75852         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75853         AUTOMAKE_OPTIONS.
75854         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75855
75856 2006-11-12  Bruno Haible  <bruno@clisp.org>
75857
75858         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75859         EXTRA_lib_SOURCES augmentation.
75860         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75861
75862 2006-11-12  Jim Meyering  <jim@meyering.net>
75863
75864         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75865         file descriptors.  This also averts a failure on systems with
75866         native openat support when a traversed directory lacks "x" access.
75867         * lib/fts_.h: Include "i-ring.h"
75868         (struct FTS) [fts_fd_ring]: New member.
75869         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75870         (FCHDIR): Add parentheses.
75871         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75872         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75873         When descending, rather than simply closing the previous
75874         fts_cwd_fd value, push that file descriptor onto the ring.
75875         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75876         (fts_open): Initialize the new fd_ring member.
75877         (fts_close): Clear the ring.
75878         (fts_safe_changedir): When possible, use our new fd_ring to skip
75879         the diropen and fstat and dev/ino comparison that would normally
75880         accompany a virtual `chdir ("..")'.
75881
75882         * modules/fts (Depends-on): Add i-ring.
75883         * modules/i-ring: New module.
75884         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75885         * m4/i-ring.m4: New file.
75886
75887 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75888
75889         * gnulib-tool (func_create_testdir): Fix replacement of
75890         `build-aux' in configure.ac.  Run autotools in gltests
75891         subdirectory.
75892         (func_create_testdir, func_create_megatestdir, test): There is
75893         no need for '--force' in most autotool invocations in a new
75894         tree.  Actually fail the whole test if any of the tools, or the
75895         configure or make stages fail.
75896
75897         Sync from Automake.
75898         * build-aux/gnupload: Revert last change.  Add pointer to upload
75899         instructions of the GNU Maintenance Instructions.
75900         Suggestion by Karl Berry.
75901
75902 2006-11-10  Jim Meyering  <jim@meyering.net>
75903
75904         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75905
75906 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75907
75908         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75909         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75910         (bind_textdomain_codeset) [! ENABLE_NLS]:
75911         Evaluate all the arguments.  That way, callers get compatible behavior
75912         if the arguments have side effects.  Also, it avoids some GCC
75913         diagnostics in some cases; Joel E. Denny reported problems when Bison
75914         was configured with --enable-gcc-warnigs.
75915
75916 2006-11-10  Jim Meyering  <jim@meyering.net>
75917
75918         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75919         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75920         account.
75921
75922 2006-11-10  Jim Meyering  <jim@meyering.net>
75923
75924         * modules/inline: New file/module.
75925         * modules/xalloc (Files): Remove m4/inline.m4.
75926         (Depends-on): Add inline, instead.
75927         * modules/oset: Likewise.
75928         * modules/list: Likewise.
75929
75930 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75933         Problem reported by Matthew Woehlke.
75934
75935 2006-11-09  Bruno Haible  <bruno@clisp.org>
75936
75937         * lib/tempname.c (gen_tempname): Remove variant that invokes
75938         __gen_tempname.
75939         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75940         __gen_tempname.
75941
75942 2006-11-08  Bruno Haible  <bruno@clisp.org>
75943
75944         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75945         to 'yes' instead of 'cross-compiling'.
75946
75947 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75948
75949         * lib/quotearg.h (quotearg_free): New decl.
75950         * lib/quotearg.c (quotearg_free): New function.
75951         (slot0, nslots, slotvec0, slotvec):
75952         Now file-scope so that quotearg_free can get at them.
75953
75954 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75955
75956         Sync from Automake.
75957         * build-aux/gnupload: Add missing 'gnu' to example URL.
75958         Report by Karl Berry.
75959
75960 2006-11-08  Bruno Haible  <bruno@clisp.org>
75961
75962         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75963         Suggested by Paul Eggert.
75964
75965 2006-11-08  Jim Meyering  <jim@meyering.net>
75966
75967         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75968         It's already included if !_LIBC.
75969         (fts_safe_changedir): Add a comment.
75970
75971 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75972
75973         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75974         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75975         Matthew Woehlke.
75976
75977         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75978         definitions up, to avoid colliding with change below.
75979         (static_inline) [HAVE_INLINE]: New macro.
75980         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75981         Provide extern decls when !HAVE_INLINE.  Do not define unless
75982         static_inline is defined, either by us or by xmalloc.c.  Use
75983         static_inline rather than static inline.
75984         (XCALLOC): Optimize sizeof(T) = 1 case.
75985         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75986
75987 2006-11-07  Bruno Haible  <bruno@clisp.org>
75988
75989         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75990         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75991         AC_C_INLINE.
75992         * modules/xalloc (Files): Add m4/inline.m4.
75993
75994 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75995
75996         * README: Fix typo.
75997         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75998         (Miscellanous Notes): ...from this.
75999
76000 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76001
76002         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76003         Mention that offsetof should be used instead of sizeof.
76004         From Bruno Haible.
76005
76006 2006-11-07  Bruno Haible  <bruno@clisp.org>
76007
76008         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76009
76010 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76011
76012         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76013         * lib/gl_anyavltree_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):
76016         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76017         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76018         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76019         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76020         (gl_linked_add_after, gl_linked_add_at): Likewise.
76021         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76022         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76023         (gl_tree_add_before, gl_tree_add_after): Likewise.
76024         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76025         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76026         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76027
76028 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76029
76030         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76031
76032 2006-11-06  Bruno Haible  <bruno@clisp.org>
76033
76034         * m4/inline.m4: New file.
76035         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76036         * modules/list (Files): Add m4/inline.m4.
76037         * modules/oset (Files): Likewise.
76038
76039 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76040
76041         * lib/idcache.c: Include <stddef.h>, for offsetof.
76042         (struct userid.name): Change from char * to a flexible array member.
76043         All uses changed.
76044         * modules/idcache (Depends-on): Add flexmember.
76045
76046         * MODULES.html.sh (Core language properties): New module flexmember.
76047         * modules/flexmember, m4/flexmember.m4: New files.
76048
76049         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76050         inline functions that are identical with the old xnmalloc_inline,
76051         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76052         that we can avoid some unnecessary integer multiplications and
76053         divisions in the common case where the element size is known at
76054         compile time.
76055         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76056         needed.
76057         (xnboundedmalloc): Remove.
76058         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76059         arguments, for consistency with rest of this header.
76060         (xcharalloc): Rewrite using XNMALLOC.
76061         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76062         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76063         versions have been moved to lib/xalloc.h and renamed to be the
76064         non-*_inline versions.
76065         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76066         and xnrealloc functions, since those functions are now inline and
76067         now call us.
76068         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76069         renaming described above.
76070         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76071         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76072         captures the dependency in AC_C_INLINE.
76073
76074         New module canonicalize-lgpl, proposed by Charles Wilson in
76075         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76076         with a few small changes afterwards.
76077         * MODULES.html.sh (File system functions): New module
76078         canonicalize-lgpl.
76079         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76080         and canonicalize_file_name.
76081         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76082         * modules/canonicalize-lgpl: New files.
76083
76084 2006-11-05  Bruno Haible  <bruno@clisp.org>
76085
76086         * gnulib-tool (func_import, func_create_testdir): Create directories
76087         also for files in subdirectories of lib/.
76088
76089 2006-11-05  Bruno Haible  <bruno@clisp.org>
76090
76091         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76092         ANSI C compliant.
76093
76094 2006-11-03  Bruno Haible  <bruno@clisp.org>
76095
76096         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76097         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76098         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76099         (xnboundedmalloc): New inline function.
76100         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76101         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76102         xmalloc.
76103         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76104         xmalloc.
76105         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76106         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76107         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76108         xmalloc.
76109         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76110         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76111         xmalloc.
76112         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76113         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76114         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76115         xmalloc.
76116         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76117         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76118         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76119         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76120         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76121         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76122         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76123
76124 2006-11-03  Bruno Haible  <bruno@clisp.org>
76125
76126         * lib/c-ctype.h [C++]: Define functions without name mangling.
76127         * lib/fwriteerror.h [C++]: Likewise.
76128         * lib/gcd.h [C++]: Likewise.
76129         * lib/linebreak.h [C++]: Likewise.
76130
76131 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76132
76133         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76134         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76135         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76136         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76137         Check for functions and headers just once.
76138         Check for declaration of canonicalize_file_name.
76139         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76140
76141 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76142
76143         * gnulib-tool (func_import): Fix typo in actioncmd.
76144
76145 2006-11-02  Bruno Haible  <bruno@clisp.org>
76146
76147         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76148         newline sequence in the Makefile.am snippet as a space, like "make"
76149         does.
76150         Reported by Roger Persson <perrog@gmail.com>.
76151
76152 2006-11-01  Bruno Haible  <bruno@clisp.org>
76153
76154         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76155         already declared in <string.h>.
76156         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76157
76158 2006-11-01  Bruno Haible  <bruno@clisp.org>
76159
76160         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76161         * lib/strcase.h: Include <string.h>.
76162         (strcasecmp): Define to rpl_strcasecmp here.
76163
76164 2006-11-01  Bruno Haible  <bruno@clisp.org>
76165
76166         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76167
76168 2006-11-01  Eric Blake  <ebb9@byu.net>
76169
76170         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76171
76172         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76173
76174 2006-10-29  Bruno Haible  <bruno@clisp.org>
76175
76176         Make it compile in C++ mode.
76177         * lib/full-write.c (full_rw): Add a cast.
76178
76179 2006-11-01  Bruno Haible  <bruno@clisp.org>
76180
76181         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76182         be POSIX compliant.
76183         Reported by Roger Persson <perrog@gmail.com>.
76184
76185 2006-11-01  Eric Blake  <ebb9@byu.net>
76186
76187         * lib/getopt_.h: Fix comments.
76188
76189 2006-10-31  Eric Blake  <ebb9@byu.net>
76190
76191         * modules/tmpdir (Depends-on): Add sys_stat.
76192         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76193         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76194         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76195         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76196         tempname.
76197
76198 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76199
76200         Avoid some C++ diagnostics reported by Bruno Haible.
76201         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76202         xmalloc.
76203         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76204         (struct slotvec): Move to top level.
76205         (quotearg_n_options): Rewrite to avoid xmalloc.
76206         * lib/xalloc.h (xcharalloc): New function.
76207         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76208         [defined __cplusplus]: Add function template that provides result
76209         type propagation.  This part of the change is from Bruno Haible.
76210
76211 2006-10-29  Bruno Haible  <bruno@clisp.org>
76212
76213         Make it compile in C++ mode.
76214         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76215         * lib/strnlen1.c (strnlen1): Cast memchr result.
76216         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76217         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76218         (create_temp_dir): Rename local variable 'template'.
76219         (compile_csharp_using_sscli): Add cast.
76220         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76221         * lib/findprog.c (find_in_path): Likewise.
76222         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76223         * lib/wait-process.c (register_slave_subprocess): Likewise.
76224
76225 2006-10-22  Bruno Haible  <bruno@clisp.org>
76226
76227         * modules/tsearch: New file.
76228         * lib/tsearch.h: New file.
76229         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76230         * m4/tsearch.m4: New file.
76231         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76232
76233 2006-10-29  Eric Blake  <ebb9@byu.net>
76234
76235         * lib/arcfour.c: Assume config.h.
76236         * lib/arctwo.c: Likewise.
76237         * lib/base64.c: Likewise.
76238         * lib/check-version.c: Likewise.
76239         * lib/crc.c: Likewise.
76240         * lib/des.c: Likewise.
76241         * lib/gc-gnulib.c: Likewise.
76242         * lib/gc-libgcrypt.c: Likewise.
76243         * lib/gc-pbkdf2-sha1.c: Likewise.
76244         * lib/getaddrinfo.c: Likewise.
76245         * lib/getdelim.c: Likewise.
76246         * lib/getline.c: Likewise.
76247         * lib/hmac-md5.c: Likewise.
76248         * lib/hmac-sha1.c: Likewise.
76249         * lib/iconvme.c: Likewise.
76250         * lib/md2.c: Likewise.
76251         * lib/md4.c: Likewise.
76252         * lib/memxor.c: Likewise.
76253         * lib/read-file.c: Likewise.
76254         * lib/readline.c: Likewise.
76255         * lib/rijndael-alg-fst.c: Likewise.
76256         * lib/rijndael-api-fst.c: Likewise.
76257         * lib/xgetdomainname.c: Likewise.
76258
76259 2006-10-28  Eric Blake  <ebb9@byu.net>
76260
76261         * lib/xstrndup.c: Assume config.h.
76262
76263 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76264
76265         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76266         stat-macros.h is now for our own macros, whereas stat_h is for
76267         macros in the <sys/stat.h> name space.
76268         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76269         (STAT_MACROS_H): Remove.
76270         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76271         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76272         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76273         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76274         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76275         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76276         Move these macros to ...
76277         * lib/stat_.h: here.  Don't include stat-macros.h.
76278         * lib/canonicalize.c: Don't include stat-macros.h.
76279         * lib/chown.c: Likewise.
76280         * lib/euidaccess.c: Likewise.
76281         * lib/file-type.c: Likewise.
76282         * lib/filemode.c: Likewise.
76283         * lib/glob.c: Likewise.
76284         * lib/isapipe.c: Likewise.
76285         * lib/lchown.c: Likewise.
76286         * lib/lstat.c: Likewise.
76287         * lib/mkdir-p.c: Likewise.
76288         * lib/rmdir.c: Likewise.
76289         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76290         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76291         unless mkdir isn't declared, to speed up 'configure'.
76292         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76293         would define all the S_* symbols.
76294         * modules/canonicalize (Depends-on):
76295         Depend on sys_stat, not stat-macros.
76296         * modules/chown: Likewise.
76297         * modules/euidaccess: Likewise.
76298         * modules/filemode: Likewise.
76299         * modules/file-type: Likewise.
76300         * modules/glob: Likewise.
76301         * modules/isapipe: Likewise.
76302         * modules/lchown: Likewise.
76303         * modules/lstat: Likewise.
76304         * modules/mkancesdirs: Likewise.
76305         * modules/rmdir: Likewise.
76306         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76307         * modules/modechange: Likewise.
76308         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76309         (configure.ac): Remove gl_STAT_MACROS.
76310         * modules/sys_stat (Depends-on): Remove stat-macros.
76311
76312 2006-10-27  Bruno Haible  <bruno@clisp.org>
76313
76314         * m4/signed.m4: Remove file.
76315         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76316         invocation.
76317         * modules/vasnprintf (Files): Remove m4/signed.m4.
76318
76319 2006-10-27  Bruno Haible  <bruno@clisp.org>
76320
76321         Update to GNU gettext 0.16.
76322         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76323         m4/inttypes-h.m4, m4/signed.m4.
76324         * m4/gettext.m4: Update to GNU gettext 0.16.
76325         * m4/intl.m4: New file, from GNU gettext.
76326         * m4/intldir.m4: New file, from GNU gettext.
76327         * config/srclist.txt: Update
76328
76329 2006-10-27  Eric Blake  <ebb9@byu.net>
76330
76331         * MODULES.html.sh: Document tempname.
76332         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76333         dependencies.
76334         (Files): Move lib/tempname.c...
76335         * modules/tempname: ...to this new module.
76336         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76337         (gl_PREREQ_TEMPNAME): Move...
76338         * m4/tempname.m4: ...to this new file.
76339         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76340         * modules/sys_stat (Depends-on): Add stat-macros.
76341         * lib/stat_.h (includes): Pick up stat macros.
76342         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76343         if stat macros are broken.
76344         * lib/tempname.c (includes): No need to include "stat-macros.h".
76345         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76346         (direxists, __path_search) [!_LIBC]: Don't compile these in
76347         gnulib; the tmpdir module covers that.
76348         * lib/tempname.h: New file.
76349
76350 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76351
76352         * COPYING: Explain how gnulib-tool converts licence headers.
76353         Almost all wording by Eric Blake.
76354
76355 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76356
76357         * lib/mbchar.h (is_basic_table): Make read-only.
76358         * lib/mbchar.c (is_basic_table): Likewise.
76359         Reported by John Darrington.
76360
76361 2006-10-25  Bruno Haible  <bruno@clisp.org>
76362
76363         * lib/progname.h (set_program_name): Undefine before defining.
76364
76365 2006-10-25  Bruno Haible  <bruno@clisp.org>
76366
76367         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76368         false for non-gcc C++ compilers.
76369         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76370
76371 2006-10-24  Bruno Haible  <bruno@clisp.org>
76372
76373         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76374         iconv implementations like Irix iconv.
76375
76376 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76377
76378         * modules/vararrays: New file.
76379         * m4/vararrays.m4: New file, taken from diffutils.
76380         * MODULES.html.sh: New module vararrays.
76381
76382 2006-10-24  Karl Berry  <karl@gnu.org>
76383
76384         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76385         Don't call GNU Unix.
76386
76387 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76388
76389         * users.txt: Add Libtool.
76390
76391         Sync from Libtool:
76392
76393         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76394
76395         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76396         to gnulib's policy of including config.h unconditionally.
76397
76398 2006-10-24  Bruno Haible  <bruno@clisp.org>
76399
76400         * modules/wcwidth (Files): Add m4/wint_t.m4.
76401         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76402         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76403
76404 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76405
76406         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76407         to pacify GCC with some -W flags enabled.  Problem reported by
76408         Bruno Haible.
76409
76410 2006-10-24  Jim Meyering  <jim@meyering.net>
76411
76412         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76413         Reported by Karl Berry.
76414
76415 2006-10-23  Bruno Haible  <bruno@clisp.org>
76416
76417         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76418
76419 2006-10-24  Bruno Haible  <bruno@clisp.org>
76420
76421         * lib/gl_list.h: Use C comment style, not C++ comment style.
76422
76423 2006-10-23  Eric Blake  <ebb9@byu.net>
76424
76425         * lib/getaddrinfo.c (includes): Add missing include.
76426
76427 2006-10-23  Bruno Haible  <bruno@clisp.org>
76428             Paul Eggert  <eggert@cs.ucla.edu>
76429
76430         Ability to rename obstack_free.
76431         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76432         obstack_free.
76433         (obstack_free): Invoke the __obstack_free macro.
76434         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76435
76436 2006-10-23  Bruno Haible  <bruno@clisp.org>
76437             Paul Eggert  <eggert@cs.ucla.edu>
76438
76439         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76440         __argc, __argv from the declaration. (They are defined as macros on
76441         mingw.)
76442
76443 2006-10-22  Bruno Haible  <bruno@clisp.org>
76444
76445         * doc/gnulib-intro.texi: New file.
76446         * doc/gnulib.texi: Include it.
76447
76448 2006-10-21  Bruno Haible  <bruno@clisp.org>
76449
76450         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76451         "Introduction", "Miscellanous Notes", "Particular Modules".
76452
76453 2006-10-21  Bruno Haible  <bruno@clisp.org>
76454
76455         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76456         Change mostlyclean-local rule to avoid sh syntax error from bash
76457         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76458
76459 2006-10-23  Jim Meyering  <jim@meyering.net>
76460
76461         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76462         in place of snprintf.
76463
76464         * modules/inttostr (Files): Add lib/uinttostr.c.
76465         * lib/uinttostr.c (inttostr): New file/function.
76466         * lib/inttostr.h (uinttostr): Declare.
76467         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76468         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76469         Add uinttostr.
76470         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76471
76472 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76473
76474         * lib/canonicalize.c (ELOOP): Define if not already defined.
76475         Problem reported by Bruno Haible in
76476         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76477
76478 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76479
76480         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76481         Problem reported by Perry Smith and Ville Laurikari.
76482
76483         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76484         uses.
76485
76486 2006-10-19  Bruno Haible  <bruno@clisp.org>
76487
76488         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76489         for mingw.
76490
76491 2006-10-19  Bruno Haible  <bruno@clisp.org>
76492
76493         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76494         Needed for mingw.
76495
76496 2006-10-19  Bruno Haible  <bruno@clisp.org>
76497
76498         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76499
76500 2006-10-19  Bruno Haible  <bruno@clisp.org>
76501
76502         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76503         it.
76504
76505 2006-10-19  Bruno Haible  <bruno@clisp.org>
76506
76507         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76508         invocation.
76509
76510 2006-10-19  Bruno Haible  <bruno@clisp.org>
76511
76512         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76513         mountlist by default.
76514
76515 2006-10-16  Bruno Haible  <bruno@clisp.org>
76516
76517         * lib/c-strstr.c: Include c-strstr.h.
76518
76519 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76520
76521         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76522         in a slash.
76523
76524 2006-10-18  Bruno Haible  <bruno@clisp.org>
76525
76526         * lib/lock.h [C++]: Wrap definitions in extern "C".
76527
76528 2006-10-18  Bruno Haible  <bruno@clisp.org>
76529
76530         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76531         gl_LIBOBJS list.
76532
76533 2006-10-18  Bruno Haible  <bruno@clisp.org>
76534
76535         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76536
76537 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76538
76539         * lib/xstrtol.h: Include gettext.h.
76540         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76541         Problem reported by Eric Blake.
76542         * modules/xstrtol (Depends-on): Add gettext-h.
76543
76544 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76545
76546         * lib/strftime.c (advance): New macro.
76547         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76548         incomplete type, so you can't add 0 to it.  Problem and patch
76549         reported by Eelco Dolstra for dietlibc.
76550
76551 2006-10-18  Jim Meyering  <jim@meyering.net>
76552
76553         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76554         type for a local, and rename it: s/up/user_proc/.
76555
76556 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76557
76558         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76559         READ_UTMP_USER_PROCESS.
76560         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76561
76562 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76563
76564         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76565         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76566
76567 2006-10-17  Eric Blake  <ebb9@byu.net>
76568
76569         * lib/sigprocmask.c (sigprocmask): Fix typo.
76570
76571         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76572
76573         * modules/clean-temp (Makefile.am): Don't add to make output...
76574         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76575         config.h.
76576
76577 2006-10-17  Bruno Haible  <bruno@clisp.org>
76578
76579         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76580         differently if DEFAULT_TEXT_DOMAIN is set.
76581
76582 2006-10-16  Bruno Haible  <bruno@clisp.org>
76583
76584         * lib/clean-temp.c: Include fwriteerror.h.
76585
76586 2006-10-16  Bruno Haible  <bruno@clisp.org>
76587
76588         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76589
76590 2006-10-16  Bruno Haible  <bruno@clisp.org>
76591
76592         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76593         * lib/sigprocmask.h: Include <sys/types.h>.
76594         (sigset_t): Use the system's definition if present.
76595
76596 2006-10-17  Eric Blake  <ebb9@byu.net>
76597
76598         * lib/xvasprintf.c (includes): Assume config.h.
76599         * lib/xasprintf.c (includes): Likewise.
76600
76601 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76602
76603         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76604         at least as wide as intmax_t.
76605
76606 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76607
76608         (Imported from Automake.)
76609         * build-aux/gnupload: Update to version 1.1 of directive file.
76610
76611 2006-10-16  Eric Blake  <ebb9@byu.net>
76612
76613         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76614         match Automake 1.10a.
76615
76616 2006-10-14  Bruno Haible  <bruno@clisp.org>
76617
76618         * modules/sigprocmask: New file.
76619         * lib/sigprocmask.h: New file.
76620         * lib/sigprocmask.c: New file.
76621         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76622         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76623         request sigprocmask.o.
76624         (gl_PREREQ_SIGPROCMASK): New macro.
76625         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76626         (Depends-on): Add sigprocmask.
76627         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76628         gt_SIGNALBLOCKING. Test for 'raise' only once.
76629         * lib/fatal-signal.c: Include sigprocmask.h.
76630         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76631         unblock_fatal_signals): Define always.
76632         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76633         sigprocmask.
76634
76635 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76636
76637         Sync from Automake.
76638         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76639         which incorrectly sets the mode of an existing destination
76640         directory.  In some cases the unpatched install-sh could do the
76641         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76642         system.  We hope this is rare in practice, but it's clearly worth
76643         fixing.  Problem reported by Alex Unleashed in
76644         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76645         Also, don't bother to check for -m bugs unless we're using -m;
76646         suggested by Stepan Kasal.
76647
76648 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76649
76650         Sync from Automake.
76651         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76652         `-c' flag, so they appear at the same position as in %FASTDEP%
76653         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76654         which ignores unknown options only after the first non-option.
76655         Bug report against M4 by Nelson H. F. Beebe.
76656
76657 2006-10-13  Jim Meyering  <jim@meyering.net>
76658
76659         Fix a bug in yesterday's change.
76660         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76661         p->fts_statp->st_dev would be used uninitialized.
76662         Ensures that we always call fts_stat on the very first entry.
76663         Miklos Szeredi reported that find -xdev stopped working.
76664
76665 2006-10-12  Bruno Haible  <bruno@clisp.org>
76666
76667         * gnulib-tool (func_get_automake_snippet): Append an automatically
76668         computed EXTRA_DIST augmentation.
76669         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76670         * modules/alloca-opt (Makefile.am): Likewise.
76671         * modules/allocsa (Makefile.am): Likewise.
76672         * modules/arcfour (Makefile.am): Likewise.
76673         * modules/arctwo (Makefile.am): Likewise.
76674         * modules/argmatch (Makefile.am): Likewise.
76675         * modules/argz (Makefile.am): Likewise.
76676         * modules/atexit (Makefile.am): Likewise.
76677         * modules/backupfile (Makefile.am): Likewise.
76678         * modules/byteswap (Makefile.am): Likewise.
76679         * modules/c-strtod (Makefile.am): Likewise.
76680         * modules/c-strtold (Makefile.am): Likewise.
76681         * modules/calloc (Makefile.am): Likewise.
76682         * modules/canon-host (Makefile.am): Likewise.
76683         * modules/canonicalize (Makefile.am): Likewise.
76684         * modules/chdir-long (Makefile.am): Likewise.
76685         * modules/chdir-safer (Makefile.am): Likewise.
76686         * modules/check-version (Makefile.am): Likewise.
76687         * modules/chown (Makefile.am): Likewise.
76688         * modules/cloexec (Makefile.am): Likewise.
76689         * modules/close-stream (Makefile.am): Likewise.
76690         * modules/closeout (Makefile.am): Likewise.
76691         * modules/crc (Makefile.am): Likewise.
76692         * modules/csharpexec (Makefile.am): Likewise.
76693         * modules/cycle-check (Makefile.am): Likewise.
76694         * modules/des (Makefile.am): Likewise.
76695         * modules/dev-ino (Makefile.am): Likewise.
76696         * modules/dirfd (Makefile.am): Likewise.
76697         * modules/dirname (Makefile.am): Likewise.
76698         * modules/dup2 (Makefile.am): Likewise.
76699         * modules/eealloc (Makefile.am): Likewise.
76700         * modules/error (Makefile.am): Likewise.
76701         * modules/euidaccess (Makefile.am): Likewise.
76702         * modules/exclude (Makefile.am): Likewise.
76703         * modules/exitfail (Makefile.am): Likewise.
76704         * modules/fcntl-safer (Makefile.am): Likewise.
76705         * modules/fcntl (Makefile.am): Likewise.
76706         * modules/file-type (Makefile.am): Likewise.
76707         * modules/fileblocks (Makefile.am): Likewise.
76708         * modules/filemode (Makefile.am): Likewise.
76709         * modules/filenamecat (Makefile.am): Likewise.
76710         * modules/fnmatch (Makefile.am): Likewise.
76711         * modules/fopen-safer (Makefile.am): Likewise.
76712         * modules/fpending (Makefile.am): Likewise.
76713         * modules/fprintftime (Makefile.am): Likewise.
76714         * modules/free (Makefile.am): Likewise.
76715         * modules/fsusage (Makefile.am): Likewise.
76716         * modules/ftruncate (Makefile.am): Likewise.
76717         * modules/fts (Makefile.am): Likewise.
76718         * modules/gc-arcfour (Makefile.am): Likewise.
76719         * modules/gc-des (Makefile.am): Likewise.
76720         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76721         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76722         * modules/gc-md4 (Makefile.am): Likewise.
76723         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76724         * modules/gc-sha1 (Makefile.am): Likewise.
76725         * modules/gc (Makefile.am): Likewise.
76726         * modules/getaddrinfo (Makefile.am): Likewise.
76727         * modules/getcwd (Makefile.am): Likewise.
76728         * modules/getdelim (Makefile.am): Likewise.
76729         * modules/getdomainname (Makefile.am): Likewise.
76730         * modules/getgroups (Makefile.am): Likewise.
76731         * modules/gethostname (Makefile.am): Likewise.
76732         * modules/gethrxtime (Makefile.am): Likewise.
76733         * modules/getline (Makefile.am): Likewise.
76734         * modules/getloadavg (Makefile.am): Likewise.
76735         * modules/getlogin_r (Makefile.am): Likewise.
76736         * modules/getndelim2 (Makefile.am): Likewise.
76737         * modules/getopt (Makefile.am): Likewise.
76738         * modules/getpagesize (Makefile.am): Likewise.
76739         * modules/getpass-gnu (Makefile.am): Likewise.
76740         * modules/getpass (Makefile.am): Likewise.
76741         * modules/getsubopt (Makefile.am): Likewise.
76742         * modules/gettime (Makefile.am): Likewise.
76743         * modules/gettimeofday (Makefile.am): Likewise.
76744         * modules/getugroups (Makefile.am): Likewise.
76745         * modules/getusershell (Makefile.am): Likewise.
76746         * modules/glob (Makefile.am): Likewise.
76747         * modules/group-member (Makefile.am): Likewise.
76748         * modules/hard-locale (Makefile.am): Likewise.
76749         * modules/hash (Makefile.am): Likewise.
76750         * modules/hmac-md5 (Makefile.am): Likewise.
76751         * modules/hmac-sha1 (Makefile.am): Likewise.
76752         * modules/human (Makefile.am): Likewise.
76753         * modules/idcache (Makefile.am): Likewise.
76754         * modules/imaxabs (Makefile.am): Likewise.
76755         * modules/imaxdiv (Makefile.am): Likewise.
76756         * modules/inet_ntop (Makefile.am): Likewise.
76757         * modules/inet_pton (Makefile.am): Likewise.
76758         * modules/intprops (Makefile.am): Likewise.
76759         * modules/inttostr (Makefile.am): Likewise.
76760         * modules/inttypes (Makefile.am): Likewise.
76761         * modules/isapipe (Makefile.am): Likewise.
76762         * modules/javaversion (Makefile.am): Likewise.
76763         * modules/lchmod (Makefile.am): Likewise.
76764         * modules/lchown (Makefile.am): Likewise.
76765         * modules/localcharset (Makefile.am): Likewise.
76766         * modules/long-options (Makefile.am): Likewise.
76767         * modules/lstat (Makefile.am): Likewise.
76768         * modules/malloc (Makefile.am): Likewise.
76769         * modules/mathl (Makefile.am): Likewise.
76770         * modules/mbchar (Makefile.am): Likewise.
76771         * modules/md2 (Makefile.am): Likewise.
76772         * modules/md4 (Makefile.am): Likewise.
76773         * modules/md5 (Makefile.am): Likewise.
76774         * modules/memcasecmp (Makefile.am): Likewise.
76775         * modules/memchr (Makefile.am): Likewise.
76776         * modules/memcmp (Makefile.am): Likewise.
76777         * modules/memcoll (Makefile.am): Likewise.
76778         * modules/memcpy (Makefile.am): Likewise.
76779         * modules/memmem (Makefile.am): Likewise.
76780         * modules/memmove (Makefile.am): Likewise.
76781         * modules/mempcpy (Makefile.am): Likewise.
76782         * modules/memrchr (Makefile.am): Likewise.
76783         * modules/memset (Makefile.am): Likewise.
76784         * modules/memxor (Makefile.am): Likewise.
76785         * modules/mkancesdirs (Makefile.am): Likewise.
76786         * modules/mkdir-p (Makefile.am): Likewise.
76787         * modules/mkdir (Makefile.am): Likewise.
76788         * modules/mkdtemp (Makefile.am): Likewise.
76789         * modules/mkstemp (Makefile.am): Likewise.
76790         * modules/mktime (Makefile.am): Likewise.
76791         * modules/modechange (Makefile.am): Likewise.
76792         * modules/mountlist (Makefile.am): Likewise.
76793         * modules/nanosleep (Makefile.am): Likewise.
76794         * modules/obstack (Makefile.am): Likewise.
76795         * modules/openat (Makefile.am): Likewise.
76796         * modules/pagealign_alloc (Makefile.am): Likewise.
76797         * modules/pathmax (Makefile.am): Likewise.
76798         * modules/physmem (Makefile.am): Likewise.
76799         * modules/poll (Makefile.am): Likewise.
76800         * modules/posixtm (Makefile.am): Likewise.
76801         * modules/posixver (Makefile.am): Likewise.
76802         * modules/putenv (Makefile.am): Likewise.
76803         * modules/quote (Makefile.am): Likewise.
76804         * modules/quotearg (Makefile.am): Likewise.
76805         * modules/raise (Makefile.am): Likewise.
76806         * modules/read-file (Makefile.am): Likewise.
76807         * modules/readline (Makefile.am): Likewise.
76808         * modules/readlink (Makefile.am): Likewise.
76809         * modules/readtokens (Makefile.am): Likewise.
76810         * modules/readutmp (Makefile.am): Likewise.
76811         * modules/realloc (Makefile.am): Likewise.
76812         * modules/regex (Makefile.am): Likewise.
76813         * modules/rename-dest-slash (Makefile.am): Likewise.
76814         * modules/rename (Makefile.am): Likewise.
76815         * modules/rijndael (Makefile.am): Likewise.
76816         * modules/rmdir (Makefile.am): Likewise.
76817         * modules/rpmatch (Makefile.am): Likewise.
76818         * modules/safe-read (Makefile.am): Likewise.
76819         * modules/safe-write (Makefile.am): Likewise.
76820         * modules/same-inode (Makefile.am): Likewise.
76821         * modules/same (Makefile.am): Likewise.
76822         * modules/save-cwd (Makefile.am): Likewise.
76823         * modules/savedir (Makefile.am): Likewise.
76824         * modules/setenv (Makefile.am): Likewise.
76825         * modules/settime (Makefile.am): Likewise.
76826         * modules/sha1 (Makefile.am): Likewise.
76827         * modules/sig2str (Makefile.am): Likewise.
76828         * modules/snprintf (Makefile.am): Likewise.
76829         * modules/stat-macros (Makefile.am): Likewise.
76830         * modules/stat-time (Makefile.am): Likewise.
76831         * modules/stdbool (Makefile.am): Likewise.
76832         * modules/stdint (Makefile.am): Likewise.
76833         * modules/stdlib-safer (Makefile.am): Likewise.
76834         * modules/stpcpy (Makefile.am): Likewise.
76835         * modules/stpncpy (Makefile.am): Likewise.
76836         * modules/strcase (Makefile.am): Likewise.
76837         * modules/strcasestr (Makefile.am): Likewise.
76838         * modules/strchrnul (Makefile.am): Likewise.
76839         * modules/strcspn (Makefile.am): Likewise.
76840         * modules/strdup (Makefile.am): Likewise.
76841         * modules/strerror (Makefile.am): Likewise.
76842         * modules/strftime (Makefile.am): Likewise.
76843         * modules/strndup (Makefile.am): Likewise.
76844         * modules/strnlen (Makefile.am): Likewise.
76845         * modules/strpbrk (Makefile.am): Likewise.
76846         * modules/strsep (Makefile.am): Likewise.
76847         * modules/strstr (Makefile.am): Likewise.
76848         * modules/strtod (Makefile.am): Likewise.
76849         * modules/strtoimax (Makefile.am): Likewise.
76850         * modules/strtok_r (Makefile.am): Likewise.
76851         * modules/strtol (Makefile.am): Likewise.
76852         * modules/strtoll (Makefile.am): Likewise.
76853         * modules/strtoul (Makefile.am): Likewise.
76854         * modules/strtoull (Makefile.am): Likewise.
76855         * modules/strtoumax (Makefile.am): Likewise.
76856         * modules/strverscmp (Makefile.am): Likewise.
76857         * modules/sys_socket (Makefile.am): Likewise.
76858         * modules/sys_stat (Makefile.am): Likewise.
76859         * modules/sysexits (Makefile.am): Likewise.
76860         * modules/time_r (Makefile.am): Likewise.
76861         * modules/timegm (Makefile.am): Likewise.
76862         * modules/timespec (Makefile.am): Likewise.
76863         * modules/tmpfile-safer (Makefile.am): Likewise.
76864         * modules/trim (Makefile.am): Likewise.
76865         * modules/unistd-safer (Makefile.am): Likewise.
76866         * modules/unlinkdir (Makefile.am): Likewise.
76867         * modules/unlocked-io (Makefile.am): Likewise.
76868         * modules/userspec (Makefile.am): Likewise.
76869         * modules/utime (Makefile.am): Likewise.
76870         * modules/utimecmp (Makefile.am): Likewise.
76871         * modules/utimens (Makefile.am): Likewise.
76872         * modules/vasnprintf (Makefile.am): Likewise.
76873         * modules/vasprintf (Makefile.am): Likewise.
76874         * modules/vsnprintf (Makefile.am): Likewise.
76875         * modules/xalloc (Makefile.am): Likewise.
76876         * modules/xgetcwd (Makefile.am): Likewise.
76877         * modules/xnanosleep (Makefile.am): Likewise.
76878         * modules/xreadlink (Makefile.am): Likewise.
76879         * modules/xstrtod (Makefile.am): Likewise.
76880         * modules/xstrtol (Makefile.am): Likewise.
76881         * modules/xstrtold (Makefile.am): Likewise.
76882         * modules/yesno (Makefile.am): Likewise.
76883         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76884
76885 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         * modules/error (Makefile.am): Distribute files through
76888         EXTRA_DIST, not lib_SOURCES.
76889
76890 2006-10-12  Eric Blake  <ebb9@byu.net>
76891
76892         * modules/error (Makefile.am): Distribute files in /lib.
76893         * modules/obstack (Makefile.am): Likewise.
76894
76895 2006-10-12  Bruno Haible  <bruno@clisp.org>
76896
76897         * modules/acl (Makefile.am): Distribute all files in lib/ through
76898         EXTRA_DIST.
76899         * modules/arcfour (Makefile.am): Likewise.
76900         * modules/arctwo (Makefile.am): Likewise.
76901         * modules/argmatch (Makefile.am): Likewise.
76902         * modules/argz (Makefile.am): Likewise.
76903         * modules/atexit (Makefile.am): Likewise.
76904         * modules/backupfile (Makefile.am): Likewise.
76905         * modules/c-strtod (Makefile.am): Likewise.
76906         * modules/c-strtold (Makefile.am): Likewise.
76907         * modules/calloc (Makefile.am): Likewise.
76908         * modules/canon-host (Makefile.am): Likewise.
76909         * modules/canonicalize (Makefile.am): Likewise.
76910         * modules/chdir-long (Makefile.am): Likewise.
76911         * modules/chdir-safer (Makefile.am): Likewise.
76912         * modules/check-version (Makefile.am): Likewise.
76913         * modules/chown (Makefile.am): Likewise.
76914         * modules/cloexec (Makefile.am): Likewise.
76915         * modules/close-stream (Makefile.am): Likewise.
76916         * modules/closeout (Makefile.am): Likewise.
76917         * modules/crc (Makefile.am): Likewise.
76918         * modules/cycle-check (Makefile.am): Likewise.
76919         * modules/des (Makefile.am): Likewise.
76920         * modules/dirfd (Makefile.am): Likewise.
76921         * modules/dirname (Makefile.am): Likewise.
76922         * modules/dup2 (Makefile.am): Likewise.
76923         * modules/euidaccess (Makefile.am): Likewise.
76924         * modules/exclude (Makefile.am): Likewise.
76925         * modules/exitfail (Makefile.am): Likewise.
76926         * modules/fcntl-safer (Makefile.am): Likewise.
76927         * modules/file-type (Makefile.am): Likewise.
76928         * modules/fileblocks (Makefile.am): Likewise.
76929         * modules/filemode (Makefile.am): Likewise.
76930         * modules/filenamecat (Makefile.am): Likewise.
76931         * modules/fnmatch (Makefile.am): Likewise.
76932         * modules/fopen-safer (Makefile.am): Likewise.
76933         * modules/fpending (Makefile.am): Likewise.
76934         * modules/fprintftime (Makefile.am): Likewise.
76935         * modules/free (Makefile.am): Likewise.
76936         * modules/fsusage (Makefile.am): Likewise.
76937         * modules/ftruncate (Makefile.am): Likewise.
76938         * modules/fts (Makefile.am): Likewise.
76939         * modules/gc (Makefile.am): Likewise.
76940         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76941         * modules/getaddrinfo (Makefile.am): Likewise.
76942         * modules/getcwd (Makefile.am): Likewise.
76943         * modules/getdelim (Makefile.am): Likewise.
76944         * modules/getdomainname (Makefile.am): Likewise.
76945         * modules/getgroups (Makefile.am): Likewise.
76946         * modules/gethostname (Makefile.am): Likewise.
76947         * modules/gethrxtime (Makefile.am): Likewise.
76948         * modules/getline (Makefile.am): Likewise.
76949         * modules/getloadavg (Makefile.am): Likewise.
76950         * modules/getlogin_r (Makefile.am): Likewise.
76951         * modules/getopt (Makefile.am): Likewise.
76952         * modules/getpass (Makefile.am): Likewise.
76953         * modules/getpass-gnu (Makefile.am): Likewise.
76954         * modules/getsubopt (Makefile.am): Likewise.
76955         * modules/gettime (Makefile.am): Likewise.
76956         * modules/gettimeofday (Makefile.am): Likewise.
76957         * modules/getugroups (Makefile.am): Likewise.
76958         * modules/getusershell (Makefile.am): Likewise.
76959         * modules/glob (Makefile.am): Likewise.
76960         * modules/group-member (Makefile.am): Likewise.
76961         * modules/hard-locale (Makefile.am): Likewise.
76962         * modules/hash (Makefile.am): Likewise.
76963         * modules/hmac-md5 (Makefile.am): Likewise.
76964         * modules/hmac-sha1 (Makefile.am): Likewise.
76965         * modules/human (Makefile.am): Likewise.
76966         * modules/idcache (Makefile.am): Likewise.
76967         * modules/imaxabs (Makefile.am): Likewise.
76968         * modules/imaxdiv (Makefile.am): Likewise.
76969         * modules/inet_ntop (Makefile.am): Likewise.
76970         * modules/inet_pton (Makefile.am): Likewise.
76971         * modules/inttostr (Makefile.am): Likewise.
76972         * modules/isapipe (Makefile.am): Likewise.
76973         * modules/lchown (Makefile.am): Likewise.
76974         * modules/long-options (Makefile.am): Likewise.
76975         * modules/lstat (Makefile.am): Likewise.
76976         * modules/malloc (Makefile.am): Likewise.
76977         * modules/mathl (Makefile.am): Likewise.
76978         * modules/mbchar (Makefile.am): Likewise.
76979         * modules/md2 (Makefile.am): Likewise.
76980         * modules/md4 (Makefile.am): Likewise.
76981         * modules/md5 (Makefile.am): Likewise.
76982         * modules/memcasecmp (Makefile.am): Likewise.
76983         * modules/memchr (Makefile.am): Likewise.
76984         * modules/memcmp (Makefile.am): Likewise.
76985         * modules/memcoll (Makefile.am): Likewise.
76986         * modules/memcpy (Makefile.am): Likewise.
76987         * modules/memmem (Makefile.am): Likewise.
76988         * modules/memmove (Makefile.am): Likewise.
76989         * modules/mempcpy (Makefile.am): Likewise.
76990         * modules/memrchr (Makefile.am): Likewise.
76991         * modules/memset (Makefile.am): Likewise.
76992         * modules/memxor (Makefile.am): Likewise.
76993         * modules/mkancesdirs (Makefile.am): Likewise.
76994         * modules/mkdir (Makefile.am): Likewise.
76995         * modules/mkdir-p (Makefile.am): Likewise.
76996         * modules/mkdtemp (Makefile.am): Likewise.
76997         * modules/mkstemp (Makefile.am): Likewise.
76998         * modules/mktime (Makefile.am): Likewise.
76999         * modules/modechange (Makefile.am): Likewise.
77000         * modules/mountlist (Makefile.am): Likewise.
77001         * modules/nanosleep (Makefile.am): Likewise.
77002         * modules/openat (Makefile.am): Likewise.
77003         * modules/pagealign_alloc (Makefile.am): Likewise.
77004         * modules/physmem (Makefile.am): Likewise.
77005         * modules/poll (Makefile.am): Likewise.
77006         * modules/posixtm (Makefile.am): Likewise.
77007         * modules/posixver (Makefile.am): Likewise.
77008         * modules/putenv (Makefile.am): Likewise.
77009         * modules/quote (Makefile.am): Likewise.
77010         * modules/quotearg (Makefile.am): Likewise.
77011         * modules/raise (Makefile.am): Likewise.
77012         * modules/read-file (Makefile.am): Likewise.
77013         * modules/readline (Makefile.am): Likewise.
77014         * modules/readlink (Makefile.am): Likewise.
77015         * modules/readtokens (Makefile.am): Likewise.
77016         * modules/readutmp (Makefile.am): Likewise.
77017         * modules/realloc (Makefile.am): Likewise.
77018         * modules/regex (Makefile.am): Likewise.
77019         * modules/rename (Makefile.am): Likewise.
77020         * modules/rename-dest-slash (Makefile.am): Likewise.
77021         * modules/rijndael (Makefile.am): Likewise.
77022         * modules/rmdir (Makefile.am): Likewise.
77023         * modules/rpmatch (Makefile.am): Likewise.
77024         * modules/safe-read (Makefile.am): Likewise.
77025         * modules/safe-write (Makefile.am): Likewise.
77026         * modules/same (Makefile.am): Likewise.
77027         * modules/save-cwd (Makefile.am): Likewise.
77028         * modules/savedir (Makefile.am): Likewise.
77029         * modules/setenv (Makefile.am): Likewise.
77030         * modules/settime (Makefile.am): Likewise.
77031         * modules/sha1 (Makefile.am): Likewise.
77032         * modules/sig2str (Makefile.am): Likewise.
77033         * modules/snprintf (Makefile.am): Likewise.
77034         * modules/stdlib-safer (Makefile.am): Likewise.
77035         * modules/stpcpy (Makefile.am): Likewise.
77036         * modules/stpncpy (Makefile.am): Likewise.
77037         * modules/strcase (Makefile.am): Likewise.
77038         * modules/strcasestr (Makefile.am): Likewise.
77039         * modules/strchrnul (Makefile.am): Likewise.
77040         * modules/strcspn (Makefile.am): Likewise.
77041         * modules/strdup (Makefile.am): Likewise.
77042         * modules/strerror (Makefile.am): Likewise.
77043         * modules/strftime (Makefile.am): Likewise.
77044         * modules/strndup (Makefile.am): Likewise.
77045         * modules/strnlen (Makefile.am): Likewise.
77046         * modules/strpbrk (Makefile.am): Likewise.
77047         * modules/strsep (Makefile.am): Likewise.
77048         * modules/strstr (Makefile.am): Likewise.
77049         * modules/strtod (Makefile.am): Likewise.
77050         * modules/strtoimax (Makefile.am): Likewise.
77051         * modules/strtok_r (Makefile.am): Likewise.
77052         * modules/strtol (Makefile.am): Likewise.
77053         * modules/strtoll (Makefile.am): Likewise.
77054         * modules/strtoul (Makefile.am): Likewise.
77055         * modules/strtoull (Makefile.am): Likewise.
77056         * modules/strtoumax (Makefile.am): Likewise.
77057         * modules/strverscmp (Makefile.am): Likewise.
77058         * modules/time_r (Makefile.am): Likewise.
77059         * modules/timegm (Makefile.am): Likewise.
77060         * modules/tmpfile-safer (Makefile.am): Likewise.
77061         * modules/unistd-safer (Makefile.am): Likewise.
77062         * modules/unlinkdir (Makefile.am): Likewise.
77063         * modules/userspec (Makefile.am): Likewise.
77064         * modules/utime (Makefile.am): Likewise.
77065         * modules/utimecmp (Makefile.am): Likewise.
77066         * modules/utimens (Makefile.am): Likewise.
77067         * modules/vasnprintf (Makefile.am): Likewise.
77068         * modules/vasprintf (Makefile.am): Likewise.
77069         * modules/vsnprintf (Makefile.am): Likewise.
77070         * modules/xalloc (Makefile.am): Likewise.
77071         * modules/xgetcwd (Makefile.am): Likewise.
77072         * modules/xnanosleep (Makefile.am): Likewise.
77073         * modules/xreadlink (Makefile.am): Likewise.
77074         * modules/xstrtod (Makefile.am): Likewise.
77075         * modules/xstrtol (Makefile.am): Likewise.
77076         * modules/xstrtold (Makefile.am): Likewise.
77077         * modules/yesno (Makefile.am): Likewise.
77078
77079 2006-10-12  Jim Meyering  <jim@meyering.net>
77080
77081         * m4/getloadavg.m4: Revert the change below.
77082
77083         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77084         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77085         fail with a symlink, which is what coreutils' ./bootstrap now
77086         creates by default.
77087
77088 2006-10-12  Bruno Haible  <bruno@clisp.org>
77089
77090         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77091         mingw.
77092         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77093         MSVC and mingw explicitly.
77094
77095 2006-10-11  Simon Josefsson  <jas@extundo.com>
77096             Bruno Haible  <bruno@clisp.org>
77097
77098         Add support for multiple gnulib-tool invocations in the scope of a
77099         single configure.ac file.
77100         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77101         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77102         with the same contents as the _LIBADD variable.
77103         (func_emit_initmacro_start, func_emit_initmacro_end,
77104         func_emit_initmacro_done): New functions.
77105         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77106         gl_LIBOBJS and gl_LTLIBOBJS.
77107
77108 2006-10-11  Bruno Haible  <bruno@clisp.org>
77109
77110         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77111         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77112         autoreconf. Instead, invoke autopoint explicitly but move back the
77113         *.m4 files from gnulib.
77114
77115 2006-10-11  Bruno Haible  <bruno@clisp.org>
77116
77117         * gnulib-tool (func_usage): Make module names after --create-testdir
77118         optional.
77119         (func_create_testdir): If no module was specified, use nearly all
77120         modules.
77121
77122 2006-10-12  Jim Meyering  <jim@meyering.net>
77123
77124         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77125         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77126         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77127         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77128         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77129         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77130         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77131         (fts_set_stat_required): New function.
77132         (fts_open): Defer the calls to fts_stat, if possible or requested.
77133         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77134         into fts_stat itself.
77135         (fts_read): Perform any required (deferred) fts_stat call.
77136         (fts_build): Likewise, for the directory we're about to open and read.
77137         In the readdir loop, carefully decide whether each entry will require
77138         an eventual call to fts_stat, using dirent.d_type info if available.
77139         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77140         a command line argument into this function.  Update all callers.
77141         Map a return value of FTS_DOT to FTS_D for a command line argument.
77142         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77143         Thanks to Miklos Szeredi for his tenacity and for the initial
77144         bug report about "find" failing on a FUSE-based file system.
77145
77146         * lib/fts.c (fts_open): Use consistent indentation.
77147
77148 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77149
77150         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77151         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77152         reported by Jim Meyering.  All uses of cache variables renamed
77153         to match Autoconf's.
77154         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77155         the other one.
77156
77157         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77158         Fix misspelling in diagnostic.
77159
77160 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77161
77162         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77163         defined.  Problem reported by Matthew Woehlke.
77164
77165         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77166         Add support for Tandem NonStop R series.
77167         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77168         Use new macro.
77169
77170         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77171         (has_trailing_slash): Omit size arg; all callers changed.
77172         Omit 'inline', since it doesn't help performance and we'd
77173         need to configure it.
77174         Don't count //, ///, etc. as having a trailing slash.
77175         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77176         (rpl_rename_dest_slash): On failure, use rename's errno rather
77177         than (in some cases) an incorrect or junk errno.
77178         Simplify code by removing need to compute length; this does
77179         cause it to make two passes instead of one over the file name,
77180         but it's worth it.
77181
77182         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77183         change, since Autoconf's version may no longer be appropriate now
77184         that we are using CVS Autoconf's version.  Add support for Tandem.
77185
77186 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77187             Bruno Haible  <bruno@clisp.org>
77188
77189         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77190         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77191         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77192         gl_AC_TYPE_LONG_LONG.
77193
77194         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77195         instead of HAVE_LONG_LONG.
77196         * lib/printf-args.c (printf_fetchargs): Likewise.
77197         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77198         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77199         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77200         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77201         gl_AC_TYPE_LONG_LONG.
77202
77203 2006-10-11  Bruno Haible  <bruno@clisp.org>
77204
77205         * m4/longlong.m4: Add comments.
77206         * m4/ulonglong.m4: Likewise.
77207
77208 2006-10-10  Bruno Haible  <bruno@clisp.org>
77209
77210         Make it possible to #define stpcpy, strdup to aliases.
77211         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77212         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77213
77214 2006-10-10  Bruno Haible  <bruno@clisp.org>
77215
77216         Make it possible to #define gcd to an alias.
77217         * lib/gcd.c: Include config.h.
77218
77219 2006-10-10  Bruno Haible  <bruno@clisp.org>
77220
77221         Make it possible to #define c_isascii to an alias.
77222         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77223         defined. Undefine the macros before defining them, to avoid gcc
77224         warnings.
77225         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77226         define NO_C_CTYPE_MACROS early.
77227
77228 2006-10-10  Bruno Haible  <bruno@clisp.org>
77229
77230         Make it possible to #define set_program_name to an alias.
77231         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77232         ENABLE_RELOCATABLE early.
77233
77234 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77235
77236         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77237         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77238         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77239         More generally, don't assume that 64-bit signed int is available
77240         if unsigned int is, and vice versa.
77241         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77242         unsigned symbols, not on their signed counterparts.
77243         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77244         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77245         (UINT64_C, UINTMAX_C):
77246         Likewise.
77247         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77248         unsigned counterparts.
77249         (Have_long_long, Unsigned): New macros.
77250         (Int): Renamed from INT.
77251         (strtoimax): Use the new macros.
77252         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77253         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77254         * modules/inttypes (inttypes.h): Substitute
77255         HAVE_UNSIGNED_LONG_LONG_INT.
77256         * modules/stdint (stdint.h): Likewise.
77257         (Files): Add m4/ulonglong.m4.
77258
77259 2006-10-10  Bruno Haible  <bruno@clisp.org>
77260
77261         Fix a gcc -Wshadow warning.
77262         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77263         to 'bucket'.
77264         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77265         gl_linked_indexof_from_to): Likewise.
77266         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77267         Likewise.
77268         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77269         Likewise.
77270         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77271         Reported by Eric Blake.
77272
77273 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77274
77275         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77276         for NetBSD.  Problem reported by Bruno Haible.
77277
77278 2006-10-09  Jim Meyering  <jim@meyering.net>
77279
77280         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77281         Patch from Bruno Haible.
77282
77283 2006-10-09  Jim Meyering  <jim@meyering.net>
77284
77285         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77286         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77287         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77288
77289 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77290
77291         Don't include <config.h> twice; this doesn't work in some cases,
77292         e.g., when config.h has "#define intmax_t long long int" and
77293         we include <config.h>, <inttypes.h>, <config.h> in that order.
77294         Problem reported by Matthew Woehlke in:
77295         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77296         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77297         * lib/fts-cycle.c: Don't include config.h.
77298         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77299         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77300         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77301         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77302         inttypes.h.
77303         * lib/xstrtoumax.c: Likewise.
77304         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77305         __strtol and the like, so that this module is more like its siblings.
77306         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77307         Remove; no longer needed now that we assume gnulib inttypes.h.
77308
77309 2006-10-08  Bruno Haible  <bruno@clisp.org>
77310
77311         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77312         option.
77313
77314 2006-10-07  Jim Meyering  <jim@meyering.net>
77315
77316         * modules/inttypes (inttypes.h): Revert what seems to have been
77317         an inadvertent part of today's change: use "|", not "/" in the
77318         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77319
77320 2006-10-07  Bruno Haible  <bruno@clisp.org>
77321
77322         * modules/sublist: New file.
77323
77324 2006-10-07  Bruno Haible  <bruno@clisp.org>
77325
77326         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77327         * modules/argz (argz.h): Likewise.
77328         * modules/arpa_inet (arpa/inet.h): Likewise.
77329         * modules/byteswap (byteswap.h): Likewise.
77330         * modules/configmake (configmake.h): Likewise.
77331         * modules/fcntl (fcntl.h): Likewise.
77332         * modules/fnmatch (fnmatch.h): Likewise.
77333         * modules/getopt (getopt.h): Likewise.
77334         * modules/glob (glob.h): Likewise.
77335         * modules/inttypes (inttypes.h): Likewise.
77336         * modules/netinet_in (netinet/in.h): Likewise.
77337         * modules/poll (poll.h): Likewise.
77338         * modules/stdbool (stdbool.h): Likewise.
77339         * modules/stdint (stdint.h): Likewise.
77340         * modules/sys_select (sys/select.h): Likewise.
77341         * modules/sys_socket (sys/socket.h): Likewise.
77342         * modules/sys_stat (sys/stat.h): Likewise.
77343         * modules/sysexits (sysexits.h): Likewise.
77344         * modules/unistd (unistd.h): Likewise.
77345         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77346         Add a "DO NOT EDIT" comment to the generated file.
77347         (func_import): Likewise for gnulib-comp.m4.
77348
77349 2006-10-07  Bruno Haible  <bruno@clisp.org>
77350
77351         * lib/gl_sublist.h: New file.
77352         * lib/gl_sublist.c: New file.
77353
77354 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77355
77356         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77357         name (relative to the original working directory) and the file
77358         name component (relative to the temporary working directory).  All
77359         callers changed.
77360         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77361         * lib/mkdir-p.c (make_dir_parents): Likewise.
77362         * lib/mkdir-p.h (make_dir_parents): Likewise.
77363
77364 2006-10-06  Eric Blake  <ebb9@byu.net>
77365
77366         Define several macros for use by the clean-temp module.
77367         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77368         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77369         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77370
77371         * lib/clean-temp.h (close_stream_temp): New declaration.
77372         * lib/clean-temp.c (includes): Pull in headers according to what
77373         other modules are in use.
77374         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77375
77376 2006-10-06  Bruno Haible  <bruno@clisp.org>
77377
77378         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77379         instead of fopen, fwriteerror.
77380
77381 2006-10-06  Bruno Haible  <bruno@clisp.org>
77382
77383         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77384         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77385         int.
77386         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77387         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77388         Return an error indicator.
77389         Suggested by Eric Blake.
77390
77391 2006-10-06  Bruno Haible  <bruno@clisp.org>
77392
77393         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77394         Reported by Eric Blake.
77395
77396 2006-10-06  Bruno Haible  <bruno@clisp.org>
77397
77398         * modules/closeout (Description): Mention stderr too.
77399
77400 2006-10-06  Bruno Haible  <bruno@clisp.org>
77401         and Paul Eggert  <eggert@cs.ucla.edu>
77402
77403         * lib/closeout.c (close_stdout): Also close stderr.
77404         * lib/closeout.h: Update comment.
77405
77406 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77407
77408         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77409         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77410         * lib/dirchownmod.c: Include lchown.h.
77411         * lib/lchown.c: Don't include files that lchown.h now includes.
77412         Don't declare chown, since lchown.h now does that.
77413         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77414         (lchown): Define to rpl_chown if lchown is declared but
77415         does not exist.  Declare using a prototype if lchown is not
77416         declared.  Add a copyright notice.
77417         * lib/mkstemp.h: Include <unistd.h>.
77418         * lib/openat.c: Include lchown.h.
77419
77420         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77421         we now test for that separately.
77422         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77423         rather than O_NOFOLLOW, when testing whether it's possible to
77424         avoid a race condition reliably.
77425         * lib/savewd.c (savewd_chdir): Likewise.
77426
77427         Remove macros that are no longer needed now that stdint.h is
77428         reliable.
77429         * lib/fsusage.c (UINTMAX_MAX): Remove.
77430         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77431         * lib/utimecmp.c (SIZE_MAX): Remove.
77432
77433         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77434
77435         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77436         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77437         O_NOATIME works.
77438
77439 2006-10-05  Bruno Haible  <bruno@clisp.org>
77440
77441         * lib/gl_list.h (gl_sortedlist_search_from_to,
77442         gl_sortedlist_indexof_from_to): New declarations.
77443         (gl_list_implementation): New fields sortedlist_search_from_to,
77444         sortedlist_indexof_from_to.
77445         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77446         inline functions.
77447         * lib/gl_list.c (gl_sortedlist_search_from_to,
77448         gl_sortedlist_indexof_from_to): New functions.
77449         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77450         function.
77451         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77452         (gl_array_sortedlist_search_from_to): New function.
77453         (gl_array_list_implementation): Update.
77454         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77455         function.
77456         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77457         (gl_carray_sortedlist_search_from_to): New function.
77458         (gl_carray_list_implementation): Update.
77459         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77460         gl_linked_sortedlist_indexof_from_to): New functions.
77461         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77462         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77463         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77464         gl_tree_sortedlist_indexof_from_to): New functions.
77465         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77466         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77467         Update.
77468         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77469         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77470         Update.
77471
77472 2006-10-05  Bruno Haible  <bruno@clisp.org>
77473
77474         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77475         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77476         (struct gl_list_implementation): Add fields search_from_to,
77477         indexof_from_to. Remove fields search, indexof.
77478         (gl_list_search): Use the search_from_to method.
77479         (gl_list_search_from, gl_list_search_from_to): New functions.
77480         (gl_list_indexof): Use the indexof_from_to method.
77481         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77482         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77483         (gl_list_search_from, gl_list_search_from_to): New functions.
77484         (gl_list_indexof): Use the indexof_from_to method.
77485         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77486         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77487         gl_array_indexof. Add start_index, end_index arguments.
77488         (gl_array_search_from_to): Renamed from gl_array_search. Add
77489         start_index, end_index arguments.
77490         (gl_array_remove, gl_array_list_implementation): Update.
77491         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77492         gl_carray_indexof. Add start_index, end_index arguments.
77493         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77494         start_index, end_index arguments.
77495         (gl_carray_remove, gl_carray_list_implementation): Update.
77496         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77497         gl_linked_search. Add start_index, end_index arguments.
77498         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77499         start_index, end_index arguments.
77500         (gl_linked_remove): Update.
77501         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77502         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77503         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77504         field to 'size_t'.
77505         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77506         gl_tree_search. Add start_index, end_index arguments.
77507         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77508         start_index, end_index arguments.
77509         (gl_tree_remove): Update.
77510         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77511         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77512         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77513         function.
77514         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77515         gl_tree_search. Add start_index, end_index arguments.
77516         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77517         start_index, end_index arguments.
77518         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77519         Update.
77520         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77521
77522 2006-10-05  Bruno Haible  <bruno@clisp.org>
77523
77524         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77525
77526         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77527         fwriteerror_temp): New declarations.
77528         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77529         (descriptors): New variable.
77530         (cleanup): First, close the descriptors.
77531         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77532         fclose_temp, fwriteerror_temp): New functions.
77533
77534 2006-10-04  Jim Meyering  <jim@meyering.net>
77535
77536         * lib/fts.c (fts_open): Tiny comment change.
77537
77538 2006-10-04  Bruno Haible  <bruno@clisp.org>
77539
77540         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77541         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77542         gl_LOCK_BODY.
77543         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77544         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77545         gl_LOCK_EARLY_BODY.
77546         (gl_LOCK): Require gl_LOCK_BODY.
77547
77548 2006-10-04  Bruno Haible  <bruno@clisp.org>
77549
77550         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77551         (gl_oset_search_atleast): New declaration.
77552         (struct gl_oset_implementation): Add field 'search_atleast'.
77553         (gl_oset_search_atleast): New inline function.
77554         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77555         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77556         (gl_array_oset_implementation): Update.
77557         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77558         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77559         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77560
77561 2006-10-04  Bruno Haible  <bruno@clisp.org>
77562
77563         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77564
77565 2006-10-03  Bruno Haible  <bruno@clisp.org>
77566
77567         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77568         from gl_avltreehash_list_implementation.
77569
77570 2006-10-03  Bruno Haible  <bruno@clisp.org>
77571
77572         * lib/gl_oset.c (gl_oset_add): Fix return type.
77573
77574 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77575
77576         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77577
77578 2006-10-02  Eric Blake  <ebb9@byu.net>
77579
77580         * modules/strnlen (Depends-on): Add extensions.
77581
77582 2006-10-02  Eric Blake  <ebb9@byu.net>
77583
77584         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77585         definition in 2.60+.
77586
77587 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77588
77589         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77590         checks.
77591
77592 2006-10-02  Bruno Haible  <bruno@clisp.org>
77593
77594         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77595         to the AUTOMAKE_OPTIONS.
77596         Reported by Jim Meyering.
77597
77598 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77599
77600         Work around bug in Solaris 10 /proc file system:
77601         /proc/self/fd/NNN/.. isn't the parent directory of
77602         the directory whose file descriptor is NNN.  This needs to
77603         be worked around at run time, not compile time, since a
77604         program might be built on Solaris 8, where things work, and
77605         run on Solaris 10.
77606         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77607         to use the following interface instead:
77608         (OPENAT_BUFFER_SIZE): New macro.
77609         (openat_proc_name): New function.
77610         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77611         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77612         Likewise.
77613         * lib/openat-proc.c: New file.
77614         * modules/openat (Files): Add lib/openat-proc.c.
77615         (Depends-on): Add same-inode, stdbool.
77616         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77617
77618 2006-09-29  Bruno Haible  <bruno@clisp.org>
77619
77620         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77621         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77622         argument. Set stdout_closed before testing for ferror, not after.
77623         (fwriteerror, fwriteerror_no_ebadf): New functions.
77624
77625 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77626
77627         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77628
77629 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77630
77631         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77632         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77633
77634 2006-09-28  Jim Meyering  <jim@meyering.net>
77635
77636         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77637         Include <unistd.h>.
77638
77639 2006-09-28  Bruno Haible  <bruno@clisp.org>
77640
77641         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77642         * modules/linkedhash-list (Depends-on): Likewise.
77643         * modules/rbtreehash-list (Depends-on): Likewise.
77644
77645 2006-09-28  Bruno Haible  <bruno@clisp.org>
77646
77647         * lib/strndup.h: Simplify the redefinition of strndup.
77648         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77649         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77650
77651 2006-09-28  Bruno Haible  <bruno@clisp.org>
77652
77653         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77654         * lib/gl_linkedhash_list.c: Likewise.
77655         * lib/gl_rbtreehash_list.c: Likewise.
77656
77657 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77658
77659         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77660         getaddrinfo.
77661
77662         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77663         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77664         it causes <stdio_ext.h> to cause a compile-time error.
77665         Problem reported by Nelson H. F. Beebe.
77666         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77667         of HAVE_DECL___PENDING.
77668
77669         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77670         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77671         declaration.
77672
77673 2006-09-27  Jim Meyering  <jim@meyering.net>
77674
77675         This file could end up with a definition for a function
77676         named __strndup, rather than rpl_strndup on a system with
77677         incomplete weak_alias support.
77678         * lib/strndup.c (strndup): Rename from __strndup.
77679         Remove #defines that used to map __strndup to strndup.
77680         Don't use K&R prototypes.
77681         Remove LIBC-related code, since this file is not sync'd with glibc.
77682         * lib/strndup.h: Revamp, accordingly.
77683         * m4/strndup.m4: Modernize.
77684
77685 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77686
77687         * modules/savewd (Depends-on): Add 'raise'.
77688         * lib/savewd.c: Include <signal.h>, for 'raise'.
77689
77690 2006-09-26  Jim Meyering  <jim@meyering.net>
77691
77692         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77693         when we detect Darwin 8.7.0's acl_get_file bug.
77694         Rearrange to perform the new (below) run-test while $LIBS
77695         contains any acl-related library.  Set USE_ACL at the end.
77696         (gl_ACL_GET_FILE): New function.
77697
77698 2006-09-26  Eric Blake  <ebb9@byu.net>
77699
77700         * lib/verror.c: Include <config.h> unconditionally.
77701
77702 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77703
77704         * modules/clock-time (Maintainer): Add self.
77705         * modules/getlogin_r (Depends-on): Add extensions.
77706
77707 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77708
77709         * modules/clock-time: New module.
77710         * modules/nanosleep (Depends-on): Add clock-time.
77711         * modules/gethrxtime (Depends-on): Likewise.
77712         * modules/gettime (Depends-on): Likewise.
77713         * modules/settime (Depends-on): Likewise.
77714
77715         * modules/fts-lgpl: Depend on openat.
77716         * modules/mkancesdirs: Depend on savewd.
77717         * modules/mkdir-p: Likewise.
77718
77719 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77720
77721         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77722
77723         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77724         `gl_have_arbitrary_file_name_length_limit' to
77725         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77726         actually works between configure runs.
77727
77728 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77729             Bruno Haible  <bruno@clisp.org>
77730
77731         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77732
77733 2006-09-25  Jim Meyering  <jim@meyering.net>
77734
77735         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77736         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77737
77738 2006-09-25  Eric Blake  <ebb9@byu.net>
77739
77740         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77741         exec's in 2006-09-18 patch when shuffling fds.
77742
77743 2006-09-25  Bruno Haible  <bruno@clisp.org>
77744
77745         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77746         Reported by Jim Meyering.
77747
77748 2006-09-24  Jim Meyering  <jim@meyering.net>
77749
77750         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77751         compare a pointer against a literal "0".  That caused failures with
77752         at least HP-UX's hpcc.
77753
77754 2006-09-22  Simon Josefsson  <jas@extundo.com>
77755
77756         * modules/gc-sha1:
77757         * modules/gc-md4:
77758         * modules/gc-hmac-sha1:
77759         * modules/gc-hmac-md5:
77760         * modules/gc-des:
77761         * modules/gc-arcfour: Distribute more files.
77762
77763 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77764
77765         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77766         (gl_linked_iterator_from_to): Initialize struct completely.
77767         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77768         (gl_tree_iterator_from_to): Likewise
77769         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77770         * lib/gl_array_list.c [lint] (gl_array_iterator)
77771         (gl_array_iterator_from_to): Likewise.
77772         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77773         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77774         (gl_carray_iterator_from_to): Likewise.
77775
77776         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77777         * lib/md4.c (md4_process_block): Remove unused variable.
77778         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77779         parentheses for clarity.
77780
77781 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77782
77783         * modules/bison-i18n (Depends-on): Add gettext.
77784
77785 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77786
77787         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77788         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77789         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77790         also add missing comma that caused broken test.
77791         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77792         stdlib.h, for `abort'.
77793         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77794         variables.
77795         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77796         include unistd.h if present, for `rmdir'.
77797         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77798         variables.
77799         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77800         in the process include standard headers for prototypes.
77801         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77802         gets declared on GNU/Linux.
77803         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77804         unistd.h, for `rmdir'.
77805         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77806
77807         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77808         always true.
77809         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77810
77811         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77812
77813 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77814
77815         * gnulib-tool (func_version): Create output all at once.  This
77816         may help avoid triggering unnecessary SIGPIPEs, and at any
77817         rate it doesn't hurt.
77818
77819 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77820             Bruno Haible  <bruno@clisp.org>
77821
77822         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77823         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77824         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77825
77826         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77827         (gl_FUNC_VASPRINTF): Invoke it.
77828
77829 2006-09-22  Bruno Haible  <bruno@clisp.org>
77830
77831         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77832         getloadavg.c as first argument.
77833
77834 2006-09-22  Bruno Haible  <bruno@clisp.org>
77835
77836         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77837         at the beginning of the gl_INIT macro.
77838         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77839         gl_GETLOADAVG.
77840
77841 2006-09-22  Bruno Haible  <bruno@clisp.org>
77842
77843         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77844         module.
77845         Suggested by Ralf Wildenhues.
77846
77847 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77848
77849         Import this patch from libc:
77850
77851         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77852
77853         * lib/regex_internal.c (re_string_reconstruct): Handle
77854         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77855         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77856         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77857         re_string_context_at.
77858
77859         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77860         now requires it.
77861         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77862         gl_REGEX now does it for us.
77863         (gl_REGEX): Add test taken from
77864         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77865
77866         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77867         Check that large offsets work.  Modernize Autoconf usages.
77868         Prefer "yes" to mean a good thing rather than a bad.
77869         Don't put "#define mkstemp" in config.h, as this might interfere
77870         with standard system headers that "#define mkstemp mkstemp64".
77871
77872         * modules/mkstemp (Depends-on): Add extensions, so that
77873         mkstemp is visible on some platforms.
77874         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77875         (Include): Change to "mkstemp.h" from <stdlib.h>.
77876         (Files): Add mkstemp.h.
77877
77878         * lib/mkstemp.h: New file, since some standard headers
77879         #define mkstemp.
77880         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77881         Include "mkstemp.h".
77882         Make the _LIBC code resemble glibc original more,
77883         e.g., use K&R style.
77884         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77885         (mkstemp): Remove, since mkstemp.h does this for us.
77886         * lib/stdlib--.h: Include mkstemp.h.
77887
77888         Import this patch from libc:
77889
77890         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77891
77892         * lib/tempname.c (__gen_tempname): Change attempts_min
77893         into a macro.  Use preprocessor to decide how to initialize
77894         attempts [Coverity CID 67].
77895
77896 2006-09-20  Bruno Haible  <bruno@clisp.org>
77897
77898         * lib/mkdtemp.c: Import from libc.
77899         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77900                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77901                 attempts_min into a macro.  Use preprocessor to decide how to
77902                 initialize attempts [Coverity CID 67].
77903         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77904                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77905                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77906
77907 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77908
77909         * gnulib-tool (func_exit): New function, to allow to pass the
77910         exit status portably through the trap.  Use everywhere.
77911         (--help, --version): Signal a write error.
77912         (trap): catch SIGPIPE, for write errors.
77913         Exit at the end of the trap, with the correct exit status.
77914
77915 2006-09-19  Karl Berry  <karl@gnu.org>
77916
77917         * doc/gnulib.texi: note about the license texinfo files.
77918
77919 2006-09-19  Eric Blake  <ebb9@byu.net>
77920
77921         * gnulib-tool: Avoid space-tab.
77922
77923 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77924
77925         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77926         that prevented coreutils 6.1 from building.  Problem reported
77927         by Petter Reinholdtsen.
77928
77929 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77930
77931         * gnulib-tool (avoidlist): Fix typo that broke options like
77932         --avoid=lock that are used by coreutils bootstrap.
77933
77934 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77935
77936         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77937         more systematically.
77938
77939 2006-09-18  Jim Meyering  <jim@meyering.net>
77940
77941         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77942
77943 2006-09-18  Bruno Haible  <bruno@clisp.org>
77944
77945         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77946
77947 2006-09-18  Bruno Haible  <bruno@clisp.org>
77948
77949         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77950         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77951         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77952         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77953         * m4/gettext.m4: Require autoconf >= 2.52.
77954         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77955         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77956         of gl_cv_header_inttypes_h.
77957
77958 2006-09-18  Bruno Haible  <bruno@clisp.org>
77959
77960         * lib/javaversion.c: Include configmake.h.
77961
77962 2006-09-18  Bruno Haible  <bruno@clisp.org>
77963
77964         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77965         avoid that the while loops be executed in a subshell.
77966
77967 2006-09-18  Bruno Haible  <bruno@clisp.org>
77968
77969         * MODULES.html.sh (func_module): Break long lines.
77970         Suggested by Bruce Korb <bkorb@gnu.org>.
77971
77972 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77973
77974         Speed up by a factor of 1.12.
77975         * gnulib-tool (nl): New variable.
77976         (func_import): Rewrite include directive extraction to only read each
77977         directive once.
77978
77979 2006-09-17  Bruno Haible  <bruno@clisp.org>
77980
77981         * modules/javaversion (Makefile.am): Remove DEFS setting.
77982         (Depends-on): Add configmake, for PKGDATADIR definition.
77983
77984 2006-09-17  Bruno Haible  <bruno@clisp.org>
77985
77986         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77987
77988 2006-09-17  Bruno Haible  <bruno@clisp.org>
77989
77990         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77991         (func_modules_transitive_closure, func_modules_add_dummy,
77992         func_modules_to_filelist, func_import, func_create_testdir,
77993         func_create_megatestdir, ...): Use it wherever possible.
77994         Suggested by Ralf Wildenhues.
77995
77996 2006-09-16  Karl Berry  <karl@gnu.org>
77997
77998         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77999         to avoid sectioning errors.
78000         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78001         [ifinfo]: blank line after @center-ed titles.
78002         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78003         Spell FSF address consistently with others.
78004         (These changes approved by rms.)
78005
78006 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78007
78008         Speed up by a factor of 1.61.
78009         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78010         already checked module names again.
78011
78012 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78013
78014         Speed up by a factor of 1.13.
78015         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78016         for new_files, and the input to func_add_or_update.
78017
78018 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78019
78020         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78021         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78022
78023 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78024
78025         * modules/mkancesdirs (Depends-on): Add fcntl.
78026         * modules/savewd: New file.
78027         * MODULES.html.sh (File system functions): Add savewd.
78028
78029         * modules/configmake (Makefile.am): Add support for the
78030         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78031
78032 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78033
78034         * m4/savewd.m4: New file.
78035
78036 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78037
78038         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78039         (dirchownmod): New arg FD.  All callers changed.
78040         Use FD rather than opening the directory ourself, as opening is
78041         now the caller's responsibility.
78042         * lib/dirchownmod.h: Likewise.
78043         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78044         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78045         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78046         (test_dir): Remove.
78047         (mkancesdirs): Return length of prefix of FILE that has already
78048         been made, or -2 if there is a child doing the work.  Redo
78049         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78050         ".", and treat ".." specially since it might stray back into
78051         already-created areas.  Use a subprocess if necessary.  New arg
78052         WD; all users changed.  MAKE_DIR function should now return 1
78053         if it creates a directory that is not readable.  Return -2 if
78054         a child process is spun off.
78055         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78056         Adjust signature to match code.
78057         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78058         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78059         all users changed.
78060         * lib/savewd.c, lib/savewd.h: New files.
78061
78062 2006-09-15  Jim Meyering  <jim@meyering.net>
78063
78064         * modules/rename-dest-slash: New module.
78065         * MODULES.html.sh (posix_compat): Add it here.
78066
78067         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78068
78069 2006-09-15  Jim Meyering  <jim@meyering.net>
78070
78071         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78072         file.
78073
78074         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78075
78076 2006-09-15  Jim Meyering  <jim@meyering.net>
78077
78078         * lib/rename-dest-slash.c (has_trailing_slash): Use
78079         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78080         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78081         test before testing whether SRC is a directory.
78082         Suggestions from Bruno Haible.
78083
78084         Avoid a warning about an unused variable.
78085         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78086         into the #ifdef block where it's used.
78087
78088         * lib/rename-dest-slash.c: New file.
78089
78090 2006-09-14  Bruno Haible  <bruno@clisp.org>
78091
78092         * lib/allocsa.c: Include <config.h> unconditionally.
78093         * lib/asnprintf.c: Likewise.
78094         * lib/asprintf.c: Likewise.
78095         * lib/c-strcasecmp.c: Likewise.
78096         * lib/c-strcasestr.c: Likewise.
78097         * lib/c-strncasecmp.c: Likewise.
78098         * lib/c-strstr.c: Likewise.
78099         * lib/classpath.c: Likewise.
78100         * lib/clean-temp.c: Likewise.
78101         * lib/concatpath.c: Likewise.
78102         * lib/copy-file.c: Likewise.
78103         * lib/csharpcomp.c: Likewise.
78104         * lib/csharpexec.c: Likewise.
78105         * lib/execute.c: Likewise.
78106         * lib/fatal-signal.c: Likewise.
78107         * lib/findprog.c: Likewise.
78108         * lib/fwriteerror.c: Likewise.
78109         * lib/gl_array_list.c: Likewise.
78110         * lib/gl_array_oset.c: Likewise.
78111         * lib/gl_avltree_list.c: Likewise.
78112         * lib/gl_avltree_oset.c: Likewise.
78113         * lib/gl_avltreehash_list.c: Likewise.
78114         * lib/gl_carray_list.c: Likewise.
78115         * lib/gl_linked_list.c: Likewise.
78116         * lib/gl_linkedhash_list.c: Likewise.
78117         * lib/gl_list.c: Likewise.
78118         * lib/gl_oset.c: Likewise.
78119         * lib/gl_rbtree_list.c: Likewise.
78120         * lib/gl_rbtree_oset.c: Likewise.
78121         * lib/gl_rbtreehash_list.c: Likewise.
78122         * lib/imaxabs.c: Likewise.
78123         * lib/imaxdiv.c: Likewise.
78124         * lib/javacomp.c: Likewise.
78125         * lib/javaexec.c: Likewise.
78126         * lib/javaversion.c: Likewise.
78127         * lib/linebreak.c: Likewise.
78128         * lib/localcharset.c: Likewise.
78129         * lib/lock.c: Likewise.
78130         * lib/mbchar.c: Likewise.
78131         * lib/mbswidth.c: Likewise.
78132         * lib/mkdtemp.c: Likewise.
78133         * lib/pipe.c: Likewise.
78134         * lib/printf-args.c: Likewise.
78135         * lib/printf-parse.c: Likewise.
78136         * lib/progname.c: Likewise.
78137         * lib/progreloc.c: Likewise.
78138         * lib/readlink.c: Likewise.
78139         * lib/sh-quote.c: Likewise.
78140         * lib/stpcpy.c: Likewise.
78141         * lib/stpncpy.c: Likewise.
78142         * lib/strcasecmp.c: Likewise.
78143         * lib/strcasestr.c: Likewise.
78144         * lib/strcspn.c: Likewise.
78145         * lib/striconv.c: Likewise.
78146         * lib/strncasecmp.c: Likewise.
78147         * lib/strnlen1.c: Likewise.
78148         * lib/strstr.c: Likewise.
78149         * lib/strtok_r.c: Likewise.
78150         * lib/tls.c: Likewise.
78151         * lib/tmpdir.c: Likewise.
78152         * lib/unicodeio.c: Likewise.
78153         * lib/unsetenv.c: Likewise.
78154         * lib/vasnprintf.c: Likewise.
78155         * lib/vasprintf.c: Likewise.
78156         * lib/wait-process.c: Likewise.
78157         * lib/xallocsa.c: Likewise.
78158         * lib/xsetenv.c: Likewise.
78159         * lib/xstriconv.c: Likewise.
78160
78161 2006-09-13  Simon Josefsson  <jas@extundo.com>
78162
78163         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78164         that internally, suggested by Ralf Wildenhues
78165         <Ralf.Wildenhues@gmx.de>.
78166
78167 2006-09-13  Simon Josefsson  <jas@extundo.com>
78168
78169         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78170         @LIBOBJS@.
78171         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78172
78173 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78174
78175         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78176         longer worry about uses that don't define HAVE_CONFIG_H.
78177         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78178         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78179         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78180         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78181         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78182         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78183         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78184         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78185         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78186         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78187         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78188         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78189         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78190         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78191         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78192         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78193         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78194         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78195         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78196         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78197         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78198         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78199         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78200         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78201         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78202         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78203         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78204         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78205         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78206         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78207         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78208         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78209         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78210         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78211         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78212         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78213         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78214         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78215         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78216         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78217         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78218         Likewise.
78219
78220 2006-09-13  Eric Blake  <ebb9@byu.net>
78221
78222         * lib/getopt.c: Fix typo in last commit.
78223
78224 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78225
78226         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78227         dgettext.
78228
78229 2006-09-12  Jim Meyering  <jim@meyering.net>
78230
78231         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78232         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78233         Reported by Nelson H. F. Beebe.
78234
78235 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78236
78237         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78238         program_invocation_name and program_invocation_short_name are
78239         initialized.
78240         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78241         and program_invocation_short_name to argp.h, so they are visible
78242         to user programs.
78243         * lib/argp.h: Likewise
78244
78245 2006-09-10  Bruno Haible  <bruno@clisp.org>
78246
78247         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78248         m4/inttypes_h.m4, m4/uintmax_t.m4.
78249
78250 2006-09-10  Bruno Haible  <bruno@clisp.org>
78251
78252         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78253         gl_AC_TYPE_UINTMAX_T.
78254
78255 2006-09-10  Bruno Haible  <bruno@clisp.org>
78256
78257         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78258
78259 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78260
78261         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78262         convention.  Text proposed by Bruno Haible.
78263         (struct argp_option): Document the use of N_() wrappers.
78264
78265         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78266         '\v', and translate the two parts separately, instead of feeding
78267         the whole string to gettext.  This allows to exclude
78268         '\v' from the strings visible to the translator by writing doc
78269         strings as N_("..") "\v" N_("..").
78270
78271 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78272
78273         * config/srclist.txt: Undo latest change; the bug was fixed.
78274
78275 2006-09-09  Bruno Haible  <bruno@clisp.org>
78276
78277         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78278         assignments if building a library without libtool.
78279         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78280         in func_emit_lib_Makefile_am.
78281         (func_import): When building a static library libfoo.a, arrange to
78282         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78283         (func_create_testdir): Likewise.
78284         * modules/gc (configure.ac, Makefile.am): If building statically,
78285         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78286         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78287         * modules/striconv (configure.ac, Makefile.am): Likewise.
78288         Based on a suggestion by Ralf Wildenhues.
78289
78290 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78291
78292         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78293         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78294         Also:
78295
78296         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78297         Add year_2050_test to catch glibc bug 2821
78298         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78299
78300         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78301         Prefer #ifdef to #if.
78302
78303         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78304         Return from 'main' instead of calling 'exit'.
78305
78306 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78307
78308         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78309         returned the maximum time_t value rather than (time_t) -1.
78310         Problem originally reported by William Bardwell
78311         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78312
78313         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78314         Moved to here ...
78315         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78316         ... from here.
78317
78318 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78319
78320         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78321         2821 is fixed.
78322
78323 2006-09-08  Jim Meyering  <jim@meyering.net>
78324
78325         Don't make generated files read-only.  That would bother too many
78326         people.  However, do retain the ability to work when targets are
78327         read-only: remove the destination and temporary files before writing
78328         them (when generated via sed or echo), or by using the -f option for
78329         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78330         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78331         * modules/byteswap, modules/configmake, modules/fcntl:
78332         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78333         * modules/localcharset, modules/netinet_in, modules/poll:
78334         * modules/stdbool, modules/stdint, modules/sys_select:
78335         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78336
78337 2006-09-08  Jim Meyering  <jim@meyering.net>
78338
78339         Avoid new build failure on FreeBSD 6.0.
78340         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78341         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78342         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78343
78344 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78345
78346         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78347
78348 2006-09-07  Jim Meyering  <jim@meyering.net>
78349
78350         Fix global typo in last change: use chmod u-w, not chmod u-x.
78351         Spotted by Paul Eggert and Bruce Korb.
78352         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78353         * modules/byteswap, modules/configmake, modules/fcntl:
78354         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78355         * modules/localcharset, modules/netinet_in, modules/poll:
78356         * modules/stdbool, modules/stdint, modules/sys_select:
78357         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78358
78359 2006-09-06  Jim Meyering  <jim@meyering.net>
78360
78361         Make generated files be read-only.
78362         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78363         Ensure that each generated file is now read-only.
78364         * modules/argz: Likewise.
78365         * modules/arpa_inet: Likewise.
78366         * modules/byteswap: Likewise.
78367         * modules/configmake: Likewise.
78368         * modules/fcntl: Likewise.
78369         * modules/fnmatch: Likewise.
78370         * modules/getopt: Likewise.
78371         * modules/glob: Likewise.
78372         * modules/inttypes: Likewise.
78373         * modules/netinet_in: Likewise.
78374         * modules/poll: Likewise.
78375         * modules/stdbool: Likewise.
78376         * modules/stdint: Likewise.
78377         * modules/sys_select: Likewise.
78378         * modules/sys_socket: Likewise.
78379         * modules/sys_stat: Likewise.
78380         * modules/sysexits: Likewise.
78381         * modules/localcharset: Same as above, but continue using temporary
78382         file named "t-$@" (why different?) rather than the "$@-t" used
78383         everywhere else.
78384
78385         * modules/sysexits (Makefile.am): Replace literal occurrences
78386         of "sysexit.h" more readable, and more consistent, "$@".
78387
78388 2006-09-06  Bruno Haible  <bruno@clisp.org>
78389
78390         * modules/striconv: New file.
78391         * modules/xstriconv: New file.
78392         * MODULES.html.sh (Internationalization functions): Add striconv,
78393         xstriconv.
78394
78395 2006-09-06  Bruno Haible  <bruno@clisp.org>
78396
78397         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78398         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78399         not using libtool correctly.
78400
78401 2006-09-06  Bruno Haible  <bruno@clisp.org>
78402
78403         * lib/striconv.h: New file.
78404         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78405         iconvstring.c.
78406         * lib/xstriconv.h: New file.
78407         * lib/xstriconv.c: New file.
78408
78409 2006-09-06  Bruno Haible  <bruno@clisp.org>
78410
78411         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78412         lib_..._LDFLAGS.
78413
78414 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78415
78416         * lib/argz_.h: Sync from Libtool.
78417
78418         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78419                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78420
78421         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78422
78423 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78424
78425         * modules/trim: New file.
78426
78427 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78428
78429         * lib/trim.h: New file.
78430         * lib/trim.c: New file.
78431
78432 2006-09-05  Bruno Haible  <bruno@clisp.org>
78433
78434         * MODULES.html.sh (String handling): Add trim.
78435
78436 2006-09-04  Karl Berry  <karl@gnu.org>
78437
78438         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78439         until next release.
78440
78441 2006-09-03  Bruno Haible  <bruno@clisp.org>
78442
78443         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78444         correctly.
78445
78446 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78447
78448         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78449         not gl_GETLOADAVG.  Omit unneeded semicolons.
78450         Problems reported by Ralf Wildenhues in
78451         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78452         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78453         at the end, which is the usual gnulib style.
78454
78455         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78456         of doing all the work ourselves.
78457         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78458         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78459
78460 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78461
78462         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78463         Problem reported by Ralf Wildenhues in
78464         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78465
78466         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78467         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78468
78469 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78470
78471         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78472         yesterday's patch by changing test -n to test -z.
78473
78474 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78475
78476         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78477         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78478         the former is now obsolescent.
78479
78480         * modules/chdir-long (Depends-on): Add fcntl.
78481
78482 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78483
78484         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78485         obsolescent, and programs should use gnulib instead.
78486         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78487         but with prefixes changed.
78488
78489 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78490
78491         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78492         or stdbool.h, because they might not exist while configuring.
78493
78494         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78495         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78496         does that for us.
78497         (O_DIRECTORY): Remove.
78498
78499 2006-08-31  Eric Blake  <ebb9@byu.net>
78500
78501         * gnulib-tool: Don't let emacs change spaces to TAB.
78502
78503 2006-08-31  Bruno Haible  <bruno@clisp.org>
78504
78505         * gnulib-tool: When calling func_import more than once, do it in a
78506         subshell.
78507         Reported by Eric Blake <ebb9@byu.net>.
78508
78509 2006-08-31  Bruno Haible  <bruno@clisp.org>
78510
78511         * gnulib-tool (nl): Remove variable.
78512         (sed_transform_lib_file): Use more robust test for config-h module.
78513         (func_import): Fix typo in 2006-08-25 patch.
78514
78515 2006-08-31  Bruno Haible  <bruno@clisp.org>
78516
78517         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78518         specified, augment Makefile.am variables instead of assigning them.
78519
78520 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78521
78522         Work around a bug in both the Linux and SunOS 64-bit kernels:
78523         nanosleep mishandles sleeps for longer than 2**31 seconds.
78524         Problem reported by Frank v Waveren in
78525         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78526         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78527         Check for nanosleep bug.
78528         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78529
78530 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78531
78532         Work around a bug in both the Linux and SunOS 64-bit kernels:
78533         nanosleep mishandles sleeps for longer than 2**31 seconds.
78534         Problem reported by Frank v Waveren in
78535         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78536         * lib/nanosleep.c (BILLION): New constant.
78537         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78538         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78539         implementation.
78540
78541 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78542
78543         * modules/nanosleep (Depends-on): Add gettime.
78544
78545 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78546         and Simon Josefsson  <jas@extundo.com>
78547         and Oskar Liljeblad  <oskar@osk.mine.nu>
78548
78549         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78550         * gnulib-tool (func_import): New license type 'unmodifiable license
78551         text'.
78552         * modules/fdl: Use it.  Longer description.
78553         * module/gpl, module/lgpl: New files.
78554
78555 2006-08-30  Jim Meyering  <jim@meyering.net>
78556
78557         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78558         shadowing the parameter.
78559
78560 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78561
78562         Sync from Libtool:
78563
78564         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78565
78566         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78567         sharing with gnulib.  Report by Eric Blake.
78568
78569 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78570
78571         * modules/isapipe: New file.
78572         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78573
78574 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * modules/configmake (Makefile.am): Add a comment, and omit
78577         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78578         by Bruno Haible.
78579
78580 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78581
78582         * m4/isapipe.m4: New file.
78583
78584 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78585
78586         * lib/isapipe.c, lib/isapipe.h: New files.
78587
78588 2006-08-29  Jim Meyering  <jim@meyering.net>
78589
78590         * modules/configmake (Makefile.am): Make configmake.h depend on
78591         Makefile.  Otherwise, a stale configmake.h could hang around.
78592
78593 2006-08-29  Eric Blake  <ebb9@byu.net>
78594
78595         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78596         resolution of upstream bug 3044.
78597
78598 2006-08-29  Bruno Haible  <bruno@clisp.org>
78599
78600         * modules/localcharset (Depends-on): Add configmake.
78601         (Makefile.am): Remove setting of LIBDIR through DEFS.
78602
78603 2006-08-29  Bruno Haible  <bruno@clisp.org>
78604
78605         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78606         defined.
78607
78608 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78609
78610         * modules/fcntl: New file.
78611         * modules/chdir-safer (Depends-on): Add fcntl.
78612         * modules/fts: Likewise.
78613         * modules/mkdir-p: Likewise.
78614
78615         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78616         This undoes the most recent change, since we're now addressing the
78617         problem in a different way.
78618
78619         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78620         into output, since the output might be called Makefile.am even
78621         if $makefile_name is something different.
78622         (func_import): Use $makefile_am rather than
78623         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78624         empty.
78625
78626         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78627
78628 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78629
78630         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78631         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78632         recent change to stdint.m4, since we're now addressing the problem in a
78633         different way.
78634
78635 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78636
78637         * m4/fcntl_h.m4: New file.
78638
78639 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78640
78641         * lib/fcntl_.h: New file.
78642         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78643         the fcntl module.
78644         * lib/dirchownmod.c: Likewise.
78645         * lib/fts.c: Likewise.
78646
78647         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78648         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78649         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78650         just before including <inttypes.h>, to avoid circular inclusion.
78651
78652 2006-08-28  Jim Meyering  <jim@meyering.net>
78653
78654         * doc/visibility.texi: Actually read and correct the grammar of the
78655         sentence affected by yesterday's change.
78656
78657 2006-08-28  Eric Blake  <ebb9@byu.net>
78658
78659         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78660         needs wrapper.
78661
78662 2006-08-28  Eric Blake  <ebb9@byu.net>
78663
78664         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78665
78666 2006-08-28  Eric Blake  <ebb9@byu.net>
78667
78668         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78669
78670 2006-08-28  Bruno Haible  <bruno@clisp.org>
78671
78672         * modules/c-strstr: New file, from GNU gettext.
78673         * MODULES.html.sh (String handling): Add c-strstr.
78674
78675 2006-08-28  Bruno Haible  <bruno@clisp.org>
78676
78677         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78678         macros.
78679         Reported by Eric Blake.
78680
78681 2006-08-28  Bruno Haible  <bruno@clisp.org>
78682
78683         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78684         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78685         * lib/vasprintf.c: Include errno.h, limits.h.
78686         (EOVERFLOW): New fallback definition.
78687         (vasprintf): Test here whether the string length is > INT_MAX.
78688         * lib/vsnprintf.c: Include errno.h, limits.h.
78689         (EOVERFLOW): New fallback definition.
78690         (vsnprintf): Fix bug when generated string was too long for the buffer.
78691         Test here whether the string length is > INT_MAX.
78692
78693 2006-08-28  Bruno Haible  <bruno@clisp.org>
78694
78695         * lib/inttypes_.h (SCNX*): Remove definitions.
78696         Reported by Eric Blake.
78697
78698 2006-08-28  Bruno Haible  <bruno@clisp.org>
78699
78700         * lib/c-strstr.h: New file, from GNU gettext.
78701         * lib/c-strstr.c: New file, from GNU gettext.
78702
78703 2006-08-28  Bruno Haible  <bruno@clisp.org>
78704
78705         * gnulib-tool: Reorder some statements.
78706
78707 2006-08-28  Bruno Haible  <bruno@clisp.org>
78708
78709         * gnulib-tool: New option --makefile-name.
78710         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78711         $makefile_name.
78712         (func_import): Write $makefile_name to the cache file, and read it from
78713         there unless explicitly specified. Use $makefile_name as file name
78714         instead of Makefile.am. Adjust the recommendations accordingly.
78715
78716 2006-08-28  Bruno Haible  <bruno@clisp.org>
78717
78718         * gnulib-tool (func_verify_module): Check against misapplying patch.
78719
78720 2006-08-28  Bruno Haible  <bruno@clisp.org>
78721
78722         * gnulib-tool (func_relativize, func_relconcat): New functions.
78723         Give an error if --local-dir is given with --update.
78724         Remove trailing slashes from $local_gnulib_dir.
78725         (func_import): Store the relativized $local_gnulib_dir in
78726         gnulib-cache.m4, and read it from there if not specified explicitly.
78727
78728 2006-08-28  Bruno Haible  <bruno@clisp.org>
78729
78730         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78731         is the current directory. Respect also $local_gnulib_dir.
78732
78733 2006-08-28  Bruno Haible  <bruno@clisp.org>
78734             Simon Josefsson  <jas@extundo.com>
78735
78736         BeOS portability.
78737         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78738
78739 2006-08-27  Jim Meyering  <jim@meyering.net>
78740
78741         * doc/visibility.texi: Remove duplicate word: "pointer".
78742
78743 2006-08-26  Bruno Haible  <bruno@clisp.org>
78744
78745         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78746         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78747         (Makefile.am): Create inttypes.h from inttypes_.h.
78748         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78749
78750         * modules/imaxabs: New file.
78751
78752         * modules/imaxdiv: New file.
78753
78754 2006-08-26  Bruno Haible  <bruno@clisp.org>
78755
78756         * m4/inttypes.m4: New file.
78757         * m4/_inttypes_h.m4: Remove file.
78758         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78759         PRI_MACROS_BROKEN.
78760         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78761
78762         * m4/imaxabs.m4: New file.
78763
78764         * m4/imaxdiv.m4: New file.
78765
78766 2006-08-26  Bruno Haible  <bruno@clisp.org>
78767
78768         * lib/inttypes_.h: New file.
78769         * lib/inttypes.h: Remove file.
78770         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78771
78772         * lib/imaxabs.c: New file.
78773
78774         * lib/imaxdiv.c: New file.
78775
78776 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78777
78778         New config-h module, so that "make" output needn't be cluttered
78779         by -DHAVE_CONFIG_H.
78780         * MODULES.html.sh (Support for building libraries and executables):
78781         Add config-h.
78782         * modules/config-h: New file.
78783         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78784         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78785         the config-h module is used.
78786
78787         New configmake module, so that "make" output needn't be cluttered
78788         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78789         * MODULES.html.sh (Support for building libraries and executables):
78790         Add configmake.
78791         * modules/configmake: New file.
78792
78793 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78794
78795         * m4/config-h.m4: New file.
78796
78797 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78798
78799         * config/srclist.txt: Add elisp-comp.
78800
78801 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78802
78803         * MODULES.html.sh (Support for building libraries and executables):
78804         Add elisp-comp.
78805         * build-aux/elisp-comp: New file.
78806         * modules/elisp-comp: New file.
78807
78808 2006-08-24  Bruno Haible  <bruno@clisp.org>
78809
78810         * gnulib-tool (func_create_testdir): Use non-default values of
78811         sourcebase and m4base.
78812
78813 2006-08-24  Bruno Haible  <bruno@clisp.org>
78814
78815         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78816         HTML structure.
78817
78818 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78819
78820         * modules/openat (Depends-on): Add lchown.
78821
78822 2006-08-23  Bruno Haible  <bruno@clisp.org>
78823
78824         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78825         of gl_LOCK_EARLY instead of gl_LOCK.
78826
78827 2006-08-23  Bruno Haible  <bruno@clisp.org>
78828
78829         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78830         on OSF/1 to no.
78831         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78832
78833 2006-08-23  Bruno Haible  <bruno@clisp.org>
78834
78835         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78836         as unusable.
78837
78838         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78839         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78840         (gl_LOCK): New macro.
78841
78842 2006-08-22  Simon Josefsson  <jas@extundo.com>
78843
78844         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78845         to md5 module.
78846
78847 2006-08-22  Simon Josefsson  <jas@extundo.com>
78848
78849         * MODULES.html.sh: Add "Support for maintaining and release
78850         projects".
78851
78852         * build-aux/gnupload: New file, from coreutils.
78853
78854 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78855
78856         Avoid the need for AC_LIBSOURCES in m4 macros.
78857         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78858         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78859         * modules/check-version (EXTRA_DIST): Add check-version.h.
78860         * modules/crc (EXTRA_DIST): Add crc.h.
78861         * modules/des (EXTRA_DIST): Add des.h.
78862         * modules/gc (EXTRA_DIST): Add gc.h.
78863         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78864         * modules/getline (EXTRA_DIST): Add getline.h.
78865         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78866         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78867         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78868         * modules/md2 (EXTRA_DIST): Add md2.h.
78869         * modules/md4 (EXTRA_DIST): Add md4.h.
78870         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78871         * modules/read-file (EXTRA_DIST): Add read-file.h.
78872         * modules/readline (EXTRA_DIST): Add readline.h.
78873         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78874         rijndael-api-fst.h.
78875
78876 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78877
78878         * m4/rijndael.m4 (gl_ARCFOUR):
78879         * m4/arctwo.m4 (gl_ARCTWO):
78880         * m4/check-version.m4 (gl_CHECK_VERSION):
78881         * m4/crc.m4 (gl_CRC):
78882         * m4/des.m4 (gl_DES):
78883         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78884         * m4/gc.m4 (gl_GC):
78885         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78886         * m4/getline.m4 (gl_FUNC_GETLINE):
78887         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78888         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78889         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78890         * m4/md2.m4 (gl_MD2):
78891         * m4/md4.m4 (gl_MD4):
78892         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78893         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78894         * m4/readline.m4 (gl_FUNC_READLINE):
78895         * m4/rijndael.m4 (gl_RIJNDAEL):
78896         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78897         to get the necessary .h files and whatnot.
78898
78899 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78900
78901         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78902         gnulib rather than the other way around.
78903         * config/srclistvars.sh (COREUTILS): Remove.
78904
78905 2006-08-22  Jim Meyering  <jim@meyering.net>
78906
78907         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78908
78909         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78910
78911 2006-08-22  Eric Blake  <ebb9@byu.net>
78912
78913         * modules/regexprops-generic: New file.
78914         * MODULES.html.sh (Support for building documentation): List it.
78915
78916 2006-08-22  Eric Blake  <ebb9@byu.net>
78917
78918         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78919         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78920         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78921         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78922
78923 2006-08-22  Bruno Haible  <bruno@clisp.org>
78924
78925         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78926         and lib_LTLIBRARIES like the other lib_* variables.
78927
78928 2006-08-22  Bruno Haible  <bruno@clisp.org>
78929
78930         * build-aux/x-to-1.in: New file, from GNU gettext.
78931
78932 2006-08-22  Bruno Haible  <bruno@clisp.org>
78933
78934         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78935         <utmpx.h> exists.
78936
78937 2006-08-22  Bruno Haible  <bruno@clisp.org>
78938
78939         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78940         <utmpx.h> exists.
78941
78942 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78943
78944         BeOS portability.
78945         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78946         exist.
78947         Problem reported by Bruno Haible.
78948
78949 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78950
78951         Avoid the need for AC_LIBSOURCES in m4 macros.
78952         * modules/acl (EXTRA_DIST): Add acl.h.
78953         * modules/argmatch (Files): Add m4/argmatch.m4.
78954         (configure.ac): Add gl_ARGMATCH.
78955         (EXTRA_DIST): Renamed from lib_SOURCES, for
78956         consistency with the other modules.  Remove argmatch.c.
78957         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78958         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78959         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78960         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78961         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78962         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78963         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78964         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78965         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78966         * modules/closeout (EXTRA_DIST): Add closeout.h.
78967         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78968         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78969         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78970         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78971         dirname.h; remove basename.c and stripslash.c.
78972         * modules/exclude (EXTRA_DIST): Add exclude.h.
78973         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78974         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78975         * modules/file-type (EXTRA_DIST): Add file-type.h.
78976         * modules/filemode (EXTRA_DIST): Add filemode.h.
78977         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78978         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78979         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78980         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78981         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78982         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78983         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78984         * modules/getdate (EXTRA_DIST): Add getdate.c.
78985         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78986         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78987         * modules/getpass (EXTRA_DIST): Add getpass.h.
78988         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78989         * modules/group-member (EXTRA_DIST): Add group-member.h.
78990         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78991         * modules/hash (EXTRA_DIST): Add hash.h.
78992         * modules/human (EXTRA_DIST): Add human.h.
78993         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78994         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78995         * modules/lchown (EXTRA_DIST): Add lchown.h.
78996         * modules/long-options (EXTRA_DIST): Add long-options.h.
78997         * modules/lstat (EXTRA_DIST): Add lstat.h.
78998         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78999         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79000         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79001         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79002         * modules/memxor (EXTRA_DIST): Add memxor.h.
79003         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79004         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79005         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79006         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79007         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79008         * modules/physmem (EXTRA_DIST): Add physmem.h.
79009         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79010         * modules/posixver (EXTRA_DIST): Add posixver.h.
79011         * modules/quote (EXTRA_DIST): Add quote.h.
79012         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79013         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79014         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79015         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79016         regex_internal.h regexec.c.
79017         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79018         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79019         * modules/same (EXTRA_DIST): Add same.h.
79020         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79021         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79022         * modules/savedir (EXTRA_DIST): Add savedir.h.
79023         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79024         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79025         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79026         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79027         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79028         * modules/strdup (EXTRA_DIST): Add strdup.h.
79029         * modules/strftime (EXTRA_DIST): Add strftime.h.
79030         * modules/strndup (EXTRA_DIST): Add strndup.h.
79031         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79032         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79033         * modules/time_r (EXTRA_DIST): Add time_r.h.
79034         * modules/timespec (EXTRA_DIST): Add timespec.h.
79035         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79036         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79037         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79038         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79039         * modules/userspec (EXTRA_DIST): Add userspec.h.
79040         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79041         * modules/utimens (EXTRA_DIST): Add utimens.h.
79042         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79043         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79044         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79045         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79046         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79047         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79048         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79049         * modules/yesno (EXTRA_DIST): Add yesno.h.
79050
79051 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79052
79053         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79054
79055         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79056         * m4/dev-ino.m4, same-inode.m4: Remove.
79057
79058         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79059         * m4/acl.m4 (AC_FUNC_ACL):
79060         * m4/backupfile.m4 (gl_BACKUPFILE):
79061         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79062         * m4/canon-host.m4 (gl_CANON_HOST):
79063         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79064         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79065         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79066         * m4/cloexec.m4 (gl_CLOEXEC):
79067         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79068         * m4/closeout.m4 (gl_CLOSEOUT):
79069         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79070         * m4/dirname.m4 (gl_DIRNAME):
79071         * m4/exclude.m4 (gl_EXCLUDE):
79072         * m4/exitfail.m4 (gl_EXITFAIL):
79073         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79074         * m4/file-type.m4 (gl_FILE_TYPE):
79075         * m4/filemode.m4 (gl_FILEMODE):
79076         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79077         * m4/fpending.m4 (gl_FUNC_FPENDING):
79078         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79079         * m4/fts.m4 (gl_FUNC_FTS):
79080         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79081         * m4/getdate.m4 (gl_GETDATE):
79082         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79083         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79084         * m4/getpass.m4 (gl_FUNC_GETPASS):
79085         * m4/gettime.m4 (gl_GETTIME):
79086         * m4/getugroups.m4 (gl_GETUGROUPS):
79087         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79088         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79089         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79090         * m4/hash.m4 (gl_HASH):
79091         * m4/idcache.m4 (gl_IDCACHE):
79092         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79093         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79094         * m4/long-options.m4 (gl_LONG_OPTIONS):
79095         * m4/lstat.m4 (gl_FUNC_LSTAT):
79096         * m4/md5.m4 (gl_MD5):
79097         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79098         * m4/memcoll.m4 (gl_MEMCOLL):
79099         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79100         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79101         * m4/memxor.m4 (gl_MEMXOR):
79102         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79103         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79104         * m4/modechange.m4 (gl_MODECHANGE):
79105         * m4/mountlist.m4 (gl_MOUNTLIST):
79106         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79107         * m4/openat.m4 (gl_FUNC_OPENAT):
79108         * m4/pathmax.m4 (gl_PATHMAX):
79109         * m4/physmem.m4 (gl_PHYSMEM):
79110         * m4/posixtm.m4 (gl_POSIXTM):
79111         * m4/posixver.m4 (gl_POSIXVER):
79112         * m4/quote.m4 (gl_QUOTE):
79113         * m4/quotearg.m4 (gl_QUOTEARG):
79114         * m4/readtokens.m4 (gl_READTOKENS):
79115         * m4/readutmp.m4 (gl_READUTMP):
79116         * m4/regex.m4 (gl_REGEX):
79117         * m4/safe-read.m4 (gl_SAFE_READ):
79118         * m4/safe-write.m4 (gl_SAFE_WRITE):
79119         * m4/same.m4 (gl_SAME):
79120         * m4/save-cwd.m4 (gl_SAVE_CWD):
79121         * m4/savedir.m4 (gl_SAVEDIR):
79122         * m4/settime.m4 (gl_SETTIME):
79123         * m4/sha1.m4 (gl_SHA1):
79124         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79125         * m4/stat-macros.m4 (gl_STAT_MACROS):
79126         * m4/stat-time.m4 (gl_STAT_TIME):
79127         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79128         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79129         * m4/strdup.m4 (gl_FUNC_STRDUP):
79130         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79131         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79132         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79133         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79134         * m4/time_r.m4 (gl_TIME_R):
79135         * m4/timespec.m4 (gl_TIMESPEC):
79136         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79137         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79138         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79139         * m4/userspec.m4 (gl_USERSPEC):
79140         * m4/utimecmp.m4 (gl_UTIMECMP):
79141         * m4/utimens.m4 (gl_UTIMENS):
79142         * m4/xalloc.m4 (gl_XALLOC):
79143         * m4/xgetcwd.m4 (gl_XGETCWD):
79144         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79145         * m4/xreadlink.m4 (gl_XREADLINK):
79146         * m4/xstrtod.m4 (gl_XSTRTOD):
79147         * m4/yesno.m4 (gl_YESNO):
79148         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79149         to get the necessary .h files and whatnot.
79150
79151 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79152             Bruno Haible  <bruno@clisp.org>
79153
79154         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79155         /bin/sh understanding of '!' conditional negation.
79156
79157 2006-08-21  Jim Meyering  <jim@meyering.net>
79158
79159         * modules/openat (Depends-on): Really alphabetize.
79160
79161         * modules/acl (Depends-on): Add error and quote.
79162
79163         * check-module (find_included_lib_files): Add at-func.c to the
79164         ok-to-include-more-than-once white list.
79165
79166         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79167
79168 2006-08-21  Bruno Haible  <bruno@clisp.org>
79169
79170         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79171         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79172         Reported by Martin Lambers <marlam@marlam.de>.
79173
79174 2006-08-21  Bruno Haible  <bruno@clisp.org>
79175
79176         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79177         specify an installation location, don't emit a noinst_LIBRARIES or
79178         noinst_LTLIBRARIES assignment.
79179
79180 2006-08-21  Bruno Haible  <bruno@clisp.org>
79181
79182         BeOS portability.
79183         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79184         BeOS has mbrtowc() but no <wctype.h>.
79185
79186 2006-08-21  Bruno Haible  <bruno@clisp.org>
79187
79188         BeOS portability.
79189         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79190         exist.
79191
79192 2006-08-21  Bruno Haible  <bruno@clisp.org>
79193
79194         BeOS portability.
79195         * lib/mbchar.h: Include <wctype.h> only if it exists.
79196
79197 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79198
79199         Remove files that are no longer needed by their respective modules.
79200         * m4/obstack.m4: Remove.
79201         * m4/strerror_r.m4: Remove.
79202         * m4/uint32_t.m4: Remove.
79203         * m4/uintptr_t.m4: Remove.
79204         * m4/ullong_max.m4: Remove.
79205         * m4/xstrtoimax.m4: Remove.
79206         * m4/xstrtoumax.m4: Remove.
79207
79208         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79209         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79210         dependencies now capture this.
79211
79212         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79213         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79214         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79215         * m4/human.m4 (gl_HUMAN): Likewise.
79216         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79217         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79218
79219         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79220
79221         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79222         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79223         stdint.
79224         * m4/human.m4 (gl_HUMAN): Likewise.
79225         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79226         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79227         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79228         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79229         * m4/xstrtol (gl_XSTRTOL): Likewise.
79230
79231         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79232         AC_TYPE_LONG_LONG_INT.
79233         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79234         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79235         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79236         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79237
79238         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79239         on stdbool.
79240
79241         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79242         (gl_PREREQ_XSTRTOUL): Remove.
79243
79244         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79245
79246         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79247         mode.
79248
79249 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79250
79251         Add and change modules to make it easier for coreutils to use
79252         gnulib-tool.
79253         * modules/backupfile (Files): Remove m4/d-ino.m4.
79254         (Depends-on): Add d-ino.
79255         * modules/cycle-check (Depends-on): Add stdint.
79256         (lib_SOURCES): Add cycle-check.h.
79257         * modules/d-ino: New module.
79258         * modules/d-type: New module.
79259         * modules/error (Files): Remove m4/strerror_r.m4.
79260         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79261         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79262         m4/inttypes_h.m4, m4/uintmax_t.m4.
79263         (Depends-on): Add stdint.
79264         (lib_SOURCES): Add fsusage.h.
79265         * modules/getcwd (Files): Remove d-ino.m4.
79266         (Depends-on): Add d-ino.
79267         * modules/getndelim2 (Depends-on): Add stdint.
79268         * modules/glob (Files): Remove m4/d-type.m4.
79269         (Depends-on): Add d-type.
79270         * modules/host-os: New module.
79271         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79272         m4/inttypes_h.m4, m4/uintmax_t.m4.
79273         * Depends-on: Add stdint.
79274         (lib_SOURCES): Add human.h.
79275         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79276         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79277         m4/uintmax_t.m4, m4/ulonglong.m4.
79278         (Depends-on): Add stdint.
79279         (EXTRA_DIST): Add inttostr.h.
79280         * modules/lchmod: New module.
79281         * modules/link-follow: New module.
79282         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79283         (Depends-on): Add lchmod.
79284         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79285         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79286         (Depends-on): Add stdint.
79287         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79288         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79289         (Depends-on): Add stdint.
79290         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79291         * modules/perl: New module.
79292         * modules/regex (Depends-on): Add stdint.
79293         * modules/rmdir-errno: New module.
79294         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79295         m4/intmax_t.m4.
79296         (Depends-on): Add stdint.
79297         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79298         m4/uintmax_t.m4.
79299         (Depends-on): Add stdint.
79300         * modules/unlink-busy: New module.
79301         * modules/utimecmp (Depends-on): Add stdint.
79302         * modules/uptime: New module.
79303         * modules/winsz-ioctl: New module.
79304         * modules/winsz-termios: New module.
79305         * modules/xnanosleep (Depends-on): Add nanosleep.
79306         * modules/ullong_max: Remove.
79307         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79308         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79309         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79310         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79311         (Depends-on): Add inttypes.
79312         (lib_SOURCES): Add xstrtol.h.
79313         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79314         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79315         * MODULES.html.sh: Move 'assert' into the assert section.
79316         Move 'dummy' into the linking section.
79317         Remove ullong_max.
79318         Add section for compatibility checks for POSIX:2001 functions,
79319         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79320         winsz-ioctl, and winsz-termios into it.
79321         Add lchmod.
79322         Add top-level Misc section and put host-os, perl, and uptime
79323         into it.
79324
79325 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79326
79327         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79328         now assume the stdint module.  Do not include inttypes.h.
79329         * lib/fsusage.h: Likewise.
79330         * lib/getndelim2.c: Likewise.
79331         * lib/human.h: Likewise.
79332         * lib/inttostr.h: Likewise.
79333         * lib/obstack.c: Likewise.
79334         * lib/regex_internal.h: Likewise.
79335         * lib/tempname.c: Likewise.
79336         * lib/utimecmp.c: Likewise.
79337         * lib/xstrtol.h: Likewise.
79338
79339         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79340
79341         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79342         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79343         * lib/xtime.h: Likewise.
79344
79345 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79346
79347         * modules/openat (Files): Add lib/fchmodat.c.
79348         Fixes problem reported by Jay Youngman.
79349
79350 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79351
79352         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79353         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79354
79355 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79356             Bruno Haible  <bruno@clisp.org>
79357
79358         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79359         and is a script that invokes bison. Tighten the code. Add comments.
79360
79361 2006-08-18  Jim Meyering  <jim@meyering.net>
79362
79363         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79364         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79365         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79366         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79367
79368 2006-08-18  Bruno Haible  <bruno@clisp.org>
79369
79370         * modules/bison-i18n: New file.
79371         * MODULES.html.sh (Internationalization functions): Add it.
79372
79373 2006-08-18  Bruno Haible  <bruno@clisp.org>
79374
79375         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79376         sys/statvfs.h. When getmntinfo was found, check its declaration and
79377         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79378
79379 2006-08-18  Bruno Haible  <bruno@clisp.org>
79380
79381         * m4/bison-i18n.m4: New file, from bison.
79382
79383 2006-08-18  Bruno Haible  <bruno@clisp.org>
79384
79385         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79386         (ME_DUMMY): Treat "kernfs" as a dummy.
79387         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79388
79389 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79390
79391         Update from coreutils.
79392
79393         2006-08-15  Jim Meyering  <jim@meyering.net>
79394
79395         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79396
79397         2006-01-17  Jim Meyering  <jim@meyering.net>
79398
79399         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79400
79401         2006-01-11  Jim Meyering  <jim@meyering.net>
79402
79403         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79404         Check for the lchmod function.
79405
79406 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79407
79408         Update from coreutils.
79409
79410         * lib/__fpending.h: Add copyright notice.
79411         * lib/fprintftime.h: Likewise.
79412         * lib/savedir.c: Use (C) in copyright notice.
79413         * lib/savedir.h: Likewise.
79414
79415         2006-08-15  Jim Meyering  <jim@meyering.net>
79416
79417         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79418         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79419         in support of the EXPECTED_ERRNO macro.
79420         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79421         definitions.  Instead, define the appropriate symbols and include
79422         "at-func.c".
79423         * lib/mkdirat.c (mkdirat): Likewise.
79424         * lib/fchmodat.c (fchmodat): Likewise.
79425         (ENOSYS): Remove definition.
79426         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79427         it.  Don't include "unistd--.h" -- it wasn't ever used.
79428
79429         2006-01-17  Jim Meyering  <jim@meyering.net>
79430
79431         Rewrite fts.c not to change the current working directory,
79432         by using openat, fstatat, fdopendir, etc..
79433
79434         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79435         (HAVE_OPENAT_SUPPORT): Define.
79436         [_LIBC] (fchdir): Don't undef or define; no longer used.
79437         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79438         Now, this `function' always succeeds, and consumes its file descriptor
79439         parameter -- so callers must not close such FDs.  Update callers.
79440         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79441         (diropen): Add parameter, SP.  Adjust all callers.
79442         Implement using diropen_fd, rather than open.
79443         (fts_open): Initialize new member, fts_cwd_fd.
79444         Remove fts_rft-setting code.
79445         (fts_close): Close fts_cwd_fd, if necessary.
79446         (__opendir2): Define in terms of opendir or opendirat,
79447         depending on whether the FST_NOCHDIR flag is set.
79448         (fts_build): Since fts_safe_changedir consumes its FD, and since
79449         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79450         and close the dup'd file descriptor upon failure.
79451         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79452         (fts_safe_changedir): Tweak semantics to reflect that this function
79453         now calls cwd_advance_fd and hence consumes its FD argument.
79454         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79455         [struct FTS] (fts_rft): Remove now-unused member.
79456         [struct FTS] (fts_cycle.state): Improve comment.
79457
79458         * lib/openat.c (openat_needs_fchdir): New function.
79459         * lib/openat.h (openat_needs_fchdir): Declare it.
79460
79461 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79462
79463         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79464         Problem and fix reported by Pádraig Brady in
79465         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79466
79467 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79468
79469         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79470
79471 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79472
79473         * lib/memcoll.c (memcoll): Optimize for the common case where the
79474         arguments are bytewise equal.
79475
79476 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79477
79478         * doc/regexprops-generic.texi: Add a copyright notice.
79479
79480 2006-08-15  Bruno Haible  <bruno@clisp.org>
79481
79482         * modules/tmpdir (License): Change to LGPL.
79483
79484 2006-08-15  Bruno Haible  <bruno@clisp.org>
79485
79486         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79487         module.
79488
79489 2006-08-14  Simon Josefsson  <jas@extundo.com>
79490
79491         * config/srclist.txt: Add gnupload.
79492
79493 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79494
79495         Change copyright notice from LGPL 2 to GPL 2, since that's the
79496         standard form used in the gnulib repository.
79497         * tests/test-lock.c: Likewise.
79498         * tests/test-stdint.c: Likewise.
79499         * tests/test-tls.c: Likewise.
79500
79501         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79502         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79503         Add copyright notice.
79504
79505         * check-module: Add copyright notice.  Output a copyright
79506         notice if "--version" is specified.
79507         * modules/COPYING: New file.
79508         * tests/test-getaddrinfo.c: Add copyright notice.
79509         * tests/test-verify.c: Likewise.
79510
79511 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79512
79513         Change copyright notice from LGPL 2 to GPL 2, since that's the
79514         standard form used in the gnulib repository.
79515         * lib/lock.c: LGPL -> GPL.
79516         * lib/lock.h: Likewise.
79517         * lib/strnlen1.c: Likewise.
79518         * lib/strnlen1.h: Likewise.
79519         * lib/tls.c: Likewise.
79520         * lib/tls.h: Likewise.
79521         * lib/tmpdir.c: Likewise.
79522
79523         * lib/TODO: Remove; this belongs only in coreutils.
79524
79525 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79526
79527         Add copyright notices to long-enough files that lack them, since
79528         otherwise the files aren't clearly free.  Use the same notice that
79529         getdate.texi already uses.
79530         * doc/alloca-opt.texi: Add copyright notice.
79531         * doc/alloca.texi: Likewise.
79532         * doc/ctime.texi: Likewise.
79533         * doc/functions.texi: Likewise.
79534         * doc/gcd.texi: Likewise.
79535         * doc/gnulib-tool.texi: Likewise.
79536         * doc/inet_ntoa.texi: Likewise.
79537         * doc/visibility.texi: Likewise.
79538
79539         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79540         * doc/quote.texi: Add copyright notice.
79541
79542         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79543         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79544         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79545         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79546         is now obsolete, and give a pointer to the Sun list.
79547         Add copyright notice.
79548
79549 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79550
79551         * config/srclistvars.sh: Add copyright notice.
79552
79553 2006-08-14  Eric Blake  <ebb9@byu.net>
79554
79555         Import the following change from libc:
79556
79557         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79558
79559         Upstream bug 2997.
79560         * lib/misc/error.c: Add space between program name and message if file
79561         name is missing.
79562
79563 2006-08-12  Karl Berry  <karl@gnu.org>
79564
79565         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79566         remove, these originate in gnulib now.
79567
79568 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79569
79570         * doc/Makefile (standards.info standards.html standards.dvi):
79571         Also depend on make-stds.texi.
79572
79573 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79574
79575         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79576         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79577
79578         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79579         in wchar_t.  Problem reported by Eric Blake.
79580
79581         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79582         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79583         Also, help the compiler to keep LEN in a register.
79584
79585 2006-08-11  Eric Blake  <ebb9@byu.net>
79586
79587         * users.txt: Sort.  Add tar.
79588
79589 2006-08-11  Bruno Haible  <bruno@clisp.org>
79590
79591         * users.txt: New file.
79592
79593 2006-08-11  Bruno Haible  <bruno@clisp.org>
79594
79595         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79596         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79597
79598 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79599
79600         * modules/snprintf (Depends-on): Remove minmax.
79601         (Maintainer): Add self and Bruno.
79602
79603 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79604
79605         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79606         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79607         (EOVERFLOW): Define if the system does not.
79608         Do not include "minmax.h"; it wasn't used.
79609         (snprintf): Don't assume size_t promotes to an unsigned type.
79610         Fix bug when generated string was too long for the buffer: the
79611         buffer's contents are supposed to be the initial prefix of the
79612         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79613         exceeds INT_MAX; do the check ourselves.
79614
79615         Import the following changes from libc:
79616
79617         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79618
79619         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79620         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79621         set wc to the byte which couldn't be converted.
79622         (re_string_reconstruct): Don't clear valid_raw_len before calling
79623         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79624         tip_context using re_string_context_at.
79625
79626         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79627
79628         * lib/posix/regex.h: g++ still cannot handled [restrict].
79629
79630         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79631
79632         * lib/posix/regex.h: Remove special handling for VMS.
79633
79634 2006-08-10  Jim Meyering  <jim@meyering.net>
79635
79636         * modules/same-inode: New module.
79637         * modules/dev-ino: New module.
79638         * modules/cycle-check: Depend on these modules, rather than simply
79639         including their .h files.
79640         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79641         required via m4/cycle-check.m4.
79642         * modules/same: Depend on new same-inode module, rather than
79643         including same-inode.h.
79644         * modules/chdir-safer: New file.
79645
79646         * modules/chown (Depends-on): Add stat-macros.
79647
79648 2006-08-10  Jim Meyering  <jim@meyering.net>
79649
79650         * m4/cycle-check.m4: New file.
79651         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79652         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79653
79654 2006-08-10  Eric Blake  <ebb9@byu.net>
79655
79656         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79657         in from original proposal.
79658
79659 2006-08-10  Eric Blake  <ebb9@byu.net>
79660         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79661
79662         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79663         namespace.
79664
79665 2006-08-10  Bruno Haible  <bruno@clisp.org>
79666
79667         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79668         as well.
79669
79670 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79671
79672         Sync from coreutils.
79673
79674         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79675
79676         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79677         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79678
79679 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79680
79681         * modules/restrict: Remove; no longer needed now that we assume
79682         Autoconf 2.59 or later.
79683         * MODULES.html.sh: Remove 'restrict'.
79684         * modules/argp (Depends-on): Remove 'restrict'.
79685         * modules/base64 (Depends-on): Likewise.
79686         * modules/gc (Depends-on): Likewise.
79687         * modules/getaddrinfo (Depends-on): Likewise.
79688         * modules/glob (Depends-on): Likewise.
79689         * modules/inet_ntop (Depends-on): Likewise.
79690         * modules/inet_pton (Depends-on): Likewise.
79691         * modules/memxor (Depends-on): Likewise.
79692         * modules/regex (Depends-on): Likewise.
79693         * modules/strtok_r (Depends-on): Likewise.
79694         * modules/time_r (Depends-on): Likewise.
79695
79696 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79697
79698         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79699         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79700         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79701         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79702         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79703         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79704         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79705         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79706
79707         Merge from coreutils.
79708         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79709         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79710         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79711         * m4/time_r.m4 (gl_TIME_R): Likewise.
79712
79713 2006-08-09  Karl Berry  <karl@gnu.org>
79714
79715         * config/srclist.txt: no more gettext-tools, per Bruno.
79716
79717 2006-08-08  Eric Blake  <ebb9@byu.net>
79718
79719         * modules/verror: New module.
79720         * MODULES.html.sh: Document it.
79721
79722 2006-08-08  Eric Blake  <ebb9@byu.net>
79723
79724         * lib/verror.h, lib/verror.c: New files.
79725
79726 2006-08-08  Eric Blake  <ebb9@byu.net>
79727
79728         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79729         verror_at_line output complies with GNU Coding Standards even when
79730         file is NULL.
79731
79732 2006-08-07  Bruno Haible  <bruno@clisp.org>
79733
79734         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79735         versions of AIX.
79736         Reported by Ralf Wildenhues.
79737
79738 2006-08-07  Bruno Haible  <bruno@clisp.org>
79739
79740         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79741         in an AC_DEFUN. Needed so that the autoconf snippets can use
79742         AC_REQUIRE.
79743
79744 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79745
79746         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79747         Initialize pkgdata_DATA.
79748         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79749         overriding it.
79750
79751 2006-08-06  Eric Blake  <ebb9@byu.net>
79752
79753         * lib/error.h: Fold in some upstream changes from glibc.
79754         * lib/error.c: Likewise.
79755
79756 2006-08-04  Bruno Haible  <bruno@clisp.org>
79757
79758         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79759         Make the mostlyclean-local rule depend on mostlyclean-generic.
79760         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79761
79762 2006-07-31  Bruno Haible  <bruno@clisp.org>
79763
79764         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79765         <stdlib.h>, <string.h>.
79766
79767 2006-07-30  Bruno Haible  <bruno@clisp.org>
79768
79769         * modules/readlink (License): Change to LGPL.
79770
79771 2006-07-30  Bruno Haible  <bruno@clisp.org>
79772
79773         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79774         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79775         set PKGDATADIR to point to it.
79776
79777 2006-07-30  Bruno Haible  <bruno@clisp.org>
79778
79779         * modules/csharpexec (configure.ac): Comment out macro invocation.
79780         * modules/javaexec (configure.ac): Likewise.
79781         * modules/javacomp-script (configure.ac): Likewise.
79782
79783         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79784
79785 2006-07-30  Bruno Haible  <bruno@clisp.org>
79786
79787         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79788         linked-list.
79789
79790 2006-07-30  Bruno Haible  <bruno@clisp.org>
79791
79792         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79793
79794 2006-07-30  Bruno Haible  <bruno@clisp.org>
79795
79796         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79797         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79798         get removed.
79799
79800 2006-07-29  Bruno Haible  <bruno@clisp.org>
79801
79802         Make it possible for gnulib-tool to work with locally modified or
79803         augmented gnulib repositories.
79804         * gnulib-tool (func_usage): Document --local-dir option.
79805         (local_gnulib_dir): New variable.
79806         Handle --local-dir option.
79807         (func_lookup_file): New function.
79808         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79809         (func_get_description, func_get_filelist, func_get_description,
79810         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79811         func_get_automake_snippet, func_get_include_directive,
79812         func_get_license, func_get_maintainer): Use func_lookup_file.
79813         (func_import, func_create_testdir): Use func_lookup_file.
79814
79815 2006-07-29  Bruno Haible  <bruno@clisp.org>
79816
79817         * modules/setenv (Depends-on): Add unistd.
79818
79819 2006-07-29  Bruno Haible  <bruno@clisp.org>
79820
79821         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79822
79823 2006-07-29  Bruno Haible  <bruno@clisp.org>
79824
79825         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79826
79827 2006-07-29  Bruno Haible  <bruno@clisp.org>
79828
79829         * gnulib-tool (import, update): If there is no Makefile.am, look at
79830         aclocal.m4, instead of bailing out.
79831
79832 2006-07-29  Bruno Haible  <bruno@clisp.org>
79833
79834         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79835         Categorize the options by when they are useful.
79836
79837 2006-07-29  Bruno Haible  <bruno@clisp.org>
79838
79839         * gnulib-tool (func_usage): Document option --no-libtool.
79840         Handle option --no-libtool.
79841         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79842         for changed semantics of $libtool variable.
79843         (func_import): Likewise. If libtool is not used, show this through
79844         an option --no-libtool.
79845         (func_create_testdir): Update.
79846
79847 2006-07-29  Bruno Haible  <bruno@clisp.org>
79848
79849         * gnulib-tool (func_import): Extend error message about missing
79850         --doc-base.
79851
79852 2006-07-29  Bruno Haible  <bruno@clisp.org>
79853
79854         * gnulib-tool (func_import): Don't create the $docbase directory if
79855         there is no file to store there.
79856
79857 2006-07-29  Bruno Haible  <bruno@clisp.org>
79858
79859         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79860         relevant, look for configure.ac there, not in the current directory.
79861         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79862
79863 2006-07-29  Bruno Haible  <bruno@clisp.org>
79864
79865         * gnulib-tool (SORT): New variable.
79866         (func_usage): Undocument --assume-autoconf option.
79867         Remove --assume-autoconf option handling.
79868         (autoconf_minversion): Determine from the contents of configure.ac.
79869         (func_import): Remove autoconf_minversion handling.
79870         Suggested by Eric Blake.
79871
79872 2006-07-29  Bruno Haible  <bruno@clisp.org>
79873
79874         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79875
79876 2006-07-29  Bruno Haible  <bruno@clisp.org>
79877
79878         * config/srclist.txt (*setenv.[ch]): Remove rules.
79879
79880 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79881
79882         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79883
79884 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79885
79886         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79887         arpa/inet.h.
79888
79889 2006-07-28  Simon Josefsson  <jas@extundo.com>
79890
79891         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79892         * modules/inet_pton (Depends-on): Likewise.
79893
79894 2006-07-28  Simon Josefsson  <jas@extundo.com>
79895
79896         * m4/netinet_in_h.m4: New file.
79897
79898 2006-07-28  Simon Josefsson  <jas@extundo.com>
79899
79900         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79901         #include's.
79902
79903 2006-07-28  Simon Josefsson  <jas@extundo.com>
79904
79905         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79906         #include's.
79907
79908 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79909
79910         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79911         setgid on directories only if they set these bits.
79912         * lib/modechange.h: Remove obsolete comment about masks.
79913
79914 2006-07-28  Eric Blake  <ebb9@byu.net>
79915
79916         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79917         macro expansion.
79918
79919 2006-07-28  Bruno Haible  <bruno@clisp.org>
79920
79921         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79922
79923 2006-07-28  Bruno Haible  <bruno@clisp.org>
79924
79925         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79926
79927 2006-07-28  Bruno Haible  <bruno@clisp.org>
79928
79929         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79930         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79931         Define fallbacks.
79932         Avoids link error on FreeBSD 4.x.
79933         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79934
79935         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79936         encoding.
79937         * lib/mbswidth.c (iswcntrl): Likewise.
79938
79939 2006-07-27  Bruno Haible  <bruno@clisp.org>
79940
79941         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79942         test.
79943
79944 2006-07-27  Bruno Haible  <bruno@clisp.org>
79945
79946         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79947         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79948         defined.
79949
79950 2006-07-26  Eric Blake  <ebb9@byu.net>
79951
79952         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79953
79954 2006-07-26  Eric Blake  <ebb9@byu.net>
79955
79956         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79957         like mingw that lack mkstemp.
79958         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79959         avoid compilation warning on mingw.
79960
79961 2006-07-26  Bruno Haible  <bruno@clisp.org>
79962
79963         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79964         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79965         INT_FAST*_MIN, INTPTR_MIN.
79966
79967 2006-07-25  Bruno Haible  <bruno@clisp.org>
79968
79969         * modules/version-etc (Depends-on): Add stdarg.
79970
79971 2006-07-25  Bruno Haible  <bruno@clisp.org>
79972
79973         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79974         complex commands.
79975
79976 2006-07-25  Bruno Haible  <bruno@clisp.org>
79977
79978         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79979         defined in <stdarg.h> or config.h.
79980
79981 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79982
79983         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79984         (gl_STDIO_SAFER): Remove.
79985
79986 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79987
79988         * MODULES.html.sh (File stream based Input/Output):
79989         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79990         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79991         * modules/fopen-safer, modules/tmpfile-safer: New files.
79992         * modules/stdio-safer: Remove.
79993
79994 2006-07-24  Bruno Haible  <bruno@clisp.org>
79995
79996         * modules/tmpdir: New file.
79997         * MODULES.html.sh (File system functions): Add it.
79998
79999 2006-07-24  Bruno Haible  <bruno@clisp.org>
80000
80001         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80002         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80003
80004 2006-07-24  Bruno Haible  <bruno@clisp.org>
80005
80006         * modules/clean-temp: New file.
80007
80008 2006-07-24  Bruno Haible  <bruno@clisp.org>
80009
80010         * m4/tmpdir.m4: New file, from GNU gettext.
80011
80012 2006-07-24  Bruno Haible  <bruno@clisp.org>
80013
80014         * lib/tmpdir.h: New file, from GNU gettext.
80015         * lib/tmpdir.c: New file, from GNU gettext.
80016
80017 2006-07-24  Bruno Haible  <bruno@clisp.org>
80018
80019         * lib/clean-temp.h: New file, from GNU gettext.
80020         * lib/clean-temp.c: New file, from GNU gettext.
80021
80022 2006-07-23  Eric Blake  <ebb9@byu.net>
80023
80024         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80025         (Depends-on): Add binary-io.
80026
80027 2006-07-23  Eric Blake  <ebb9@byu.net>
80028
80029         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80030
80031 2006-07-23  Eric Blake  <ebb9@byu.net>
80032
80033         * lib/tmpfile-safer.c: New file.
80034         * lib/stdio-safer.h (fopen_safer): Add prototype.
80035         * lib/stdio--.h (tmpfile): Make safer.
80036
80037 2006-07-23  Bruno Haible  <bruno@clisp.org>
80038
80039         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80040         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80041         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80042         gl_linked_remove_at): Use it.
80043
80044 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80045         and Simon Josefsson <jas@extundo.com>
80046
80047         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80048
80049         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80050
80051 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80052
80053         * modules/close-stream: New file.
80054         * modules/closeout (Description): Make it clear that it exits
80055         with a diagnostic on error.
80056         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80057         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80058
80059 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80060
80061         * m4/close-stream.m4: New file.
80062
80063 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80064
80065         * lib/close-stream.c, lib/close-stream.h: New files.
80066
80067 2006-07-22  Bruno Haible  <bruno@clisp.org>
80068
80069         Merge from GNU gettext 0.15.
80070
80071         2006-05-01  Bruno Haible  <bruno@clisp.org>
80072
80073                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80074
80075         2006-07-22  Bruno Haible  <bruno@clisp.org>
80076
80077                 * modules/javaversion: New file.
80078                 * MODULES.html.sh (Java): Add javaversion.
80079
80080         2006-03-12  Bruno Haible  <bruno@clisp.org>
80081
80082                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80083
80084         2005-12-04  Bruno Haible  <bruno@clisp.org>
80085
80086                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80087                 (untested).
80088
80089         2006-06-21  Bruno Haible  <bruno@clisp.org>
80090
80091                 Avoid warnings from recent versions of mcs.
80092                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80093                 -o, -L, -r any more. Use options documented since mcs-1.0
80094                 instead. Similarly for -g.
80095
80096         2005-12-04  Bruno Haible  <bruno@clisp.org>
80097
80098                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80099                 .resources, not .resource.
80100
80101         2005-07-09  Bruno Haible  <bruno@clisp.org>
80102
80103                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80104                 add a .dll suffix.
80105                 Reported by Mark Junker <mjscod@gmx.de>.
80106
80107         2006-07-22  Bruno Haible  <bruno@clisp.org>
80108
80109                 * modules/gettext: Upgrade to gettext-0.15.
80110                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80111                 m4/visibility.m4.
80112                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80113
80114 2006-07-22  Bruno Haible  <bruno@clisp.org>
80115
80116         Merge from GNU gettext 0.15.
80117
80118         2006-03-25  Bruno Haible  <bruno@clisp.org>
80119
80120                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80121
80122         2006-07-21  Bruno Haible  <bruno@clisp.org>
80123
80124                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80125                 "1.1".
80126
80127         2006-05-09  Bruno Haible  <bruno@clisp.org>
80128
80129                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80130                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80131                 for the conftestver execution.
80132
80133         2006-05-01  Bruno Haible  <bruno@clisp.org>
80134
80135                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80136                 optional target-version argument. Verify that the compiler
80137                 groks source of the specified source-version, or add -source
80138                 option as necessary. Verify that the compiler produces
80139                 bytecode in the specified target-version, or add -target and
80140                 -source options as necessary. Make the result of the test
80141                 available as variable CONF_JAVAC. Also log error output in
80142                 config.log.
80143
80144         2006-03-11  Bruno Haible  <bruno@clisp.org>
80145
80146                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80147
80148         2006-05-09  Bruno Haible  <bruno@clisp.org>
80149
80150                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80151                 CLASSPATH_SEPARATOR to a semicolon.
80152
80153         2006-03-12  Bruno Haible  <bruno@clisp.org>
80154
80155                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80156                 available as variable CONF_JAVA, for subsequent autoconf
80157                 tests. Also log error output in config.log.
80158
80159         2006-07-19  Bruno Haible  <bruno@clisp.org>
80160
80161                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80162                 that getline works on glibc2 systems. Needed to avoid trouble
80163                 in relocatable.c.
80164                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80165
80166         2005-12-04  Bruno Haible  <bruno@clisp.org>
80167
80168                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80169                 launcher (untested).
80170
80171         2005-12-04  Bruno Haible  <bruno@clisp.org>
80172
80173                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80174
80175         2006-07-22  Bruno Haible  <bruno@clisp.org>
80176
80177                 * gettext.m4: Update from GNU gettext-0.15.
80178                 * nls.m4: Likewise.
80179                 * po.m4: Likewise.
80180                 * inttypes-pri.m4: Likewise.
80181                 * inttypes-h.m4: Renamed from inttypes.m4.
80182                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80183
80184 2006-07-22  Bruno Haible  <bruno@clisp.org>
80185
80186         Merge from GNU gettext 0.15.
80187
80188         2005-07-05  Bruno Haible  <bruno@clisp.org>
80189
80190                 * printf-args.c (printf_fetchargs): Work around broken
80191                 definition of wint_t on mingw.
80192
80193         2005-02-12  Bruno Haible  <bruno@clisp.org>
80194
80195                 * xallocsa.h: Add extern "C" for C++.
80196
80197         2006-05-17  Bruno Haible  <bruno@clisp.org>
80198
80199                 Cygwin portability.
80200                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80201
80202         2006-04-30  Bruno Haible  <bruno@clisp.org>
80203
80204                 * progreloc.c: Include <mach-o/dyld.h> if available.
80205                 (find_executable): Use _NSGetExecutablePath when possible.
80206
80207         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80208
80209                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80210                 function.
80211
80212         2005-12-29  Bruno Haible  <bruno@clisp.org>
80213
80214                 * progreloc.c (set_program_name_and_installdir): Fix
80215                 compilation error.
80216
80217         2005-12-04  Bruno Haible  <bruno@clisp.org>
80218
80219                 Cygwin portability.
80220                 * progreloc.c: Include <windows.h> also on Cygwin.
80221                 (find_executable): Add support for Cygwin.
80222                 (set_program_name_and_installdir): Handle also platforms with
80223                 nonempty EXEEXT.
80224
80225         2006-07-11  Bruno Haible  <bruno@clisp.org>
80226
80227                 * javacomp.c: Fix a comment.
80228                 Reported by Jim Meyering.
80229
80230         2006-04-30  Bruno Haible  <bruno@clisp.org>
80231
80232                 * javacomp.h (compile_java_class): Add source_version,
80233                 target_version arguments.
80234                 * javacomp.c: Rewritten to choose only a compiler that
80235                 respects the specified source_version and target_version.
80236
80237         2006-06-27  Bruno Haible  <bruno@clisp.org>
80238
80239                 Assume correct S_ISDIR macro.
80240                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80241
80242         2006-07-22  Bruno Haible  <bruno@clisp.org>
80243
80244                 * javaversion.h: New file, from GNU gettext.
80245                 * javaversion.c: New file, from GNU gettext.
80246                 * javaversion.java: New file, from GNU gettext.
80247                 * javaversion.class: New file, from GNU gettext.
80248
80249         2006-05-17  Bruno Haible  <bruno@clisp.org>
80250
80251                 Cygwin portability.
80252                 * javaexec.c (execute_java_class): Test for jview program
80253                 also on Cygwin.
80254
80255         2006-04-09  Bruno Haible  <bruno@clisp.org>
80256
80257                 * fatal-signal.c: Don't include string.h.
80258                 (at_fatal_signal): Use a copying loop instead of memcpy.
80259
80260         2005-12-04  Bruno Haible  <bruno@clisp.org>
80261
80262                 * csharpexec.c: Add support for 'clix' launcher (untested).
80263                 (execute_csharp_using_sscli): New function.
80264                 (execute_csharp_program): Call it.
80265
80266         2006-06-21  Bruno Haible  <bruno@clisp.org>
80267
80268                 Avoid warnings from recent versions of mcs.
80269                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80270                 -o, -L, -r any more. Use options documented since mcs-1.0
80271                 instead. Similarly for -g.
80272
80273         2005-07-09  Bruno Haible  <bruno@clisp.org>
80274
80275                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80276                 add a .dll suffix.
80277                 Reported by Mark Junker <mjscod@gmx.de>.
80278
80279         2006-06-17  Bruno Haible  <bruno@clisp.org>
80280
80281                 * config.charset: Update for NetBSD 3.0.
80282
80283         2006-05-17  Bruno Haible  <bruno@clisp.org>
80284
80285                 Cygwin portability.
80286                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80287
80288         2006-05-16  Bruno Haible  <bruno@clisp.org>
80289
80290                 * localcharset.c [CYGWIN]: Include <windows.h>.
80291                 (get_charset_aliases): For Cygwin, return the same CPxxx
80292                 aliases list as under WIN32.
80293                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80294                 the environment variables. Fall back to GetACP().
80295
80296         2006-04-05  Bruno Haible  <bruno@clisp.org>
80297
80298                 * config.charset: Update Juan Manuel Guerrero's address.
80299
80300         2005-02-12  Bruno Haible  <bruno@clisp.org>
80301
80302                 * allocsa.h: Add extern "C" for C++.
80303
80304         2005-02-10  Bruno Haible  <bruno@clisp.org>
80305
80306                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80307                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80308
80309         2006-07-22  Bruno Haible  <bruno@clisp.org>
80310
80311                 * gettext.h: Update to GNU gettext-0.15.
80312
80313 2006-07-22  Bruno Haible  <bruno@clisp.org>
80314
80315         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80316         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80317         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80318
80319 2006-07-21  Eric Blake  <ebb9@byu.net>
80320
80321         * modules/stdlib-safer: New file.
80322         * MODULES.html.sh (File stream based Input/Output): Add
80323         stdlib-safer.
80324
80325 2006-07-21  Eric Blake  <ebb9@byu.net>
80326
80327         * lib/stdlib-safer.h: New file from coreutils, required by
80328         stdlib--.h.
80329
80330 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80331
80332         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80333
80334 2006-07-20  Bruno Haible  <bruno@clisp.org>
80335
80336         * gnulib-tool: Recognize new option --assume-autoconf.
80337         (autoconf_minversion): New variable.
80338         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80339
80340 2006-07-20  Bruno Haible  <bruno@clisp.org>
80341
80342         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80343
80344 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80345
80346         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80347         Reindent and repaginate.
80348
80349 2006-07-19  Derek Price  <derek@ximbiot.com>
80350
80351         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80352         Correct grammar.
80353
80354 2006-07-17  Bruno Haible  <bruno@clisp.org>
80355
80356         * modules/list: New file.
80357         * modules/array-list: New file.
80358         * modules/carray-list, modules/carray-list-tests: New files.
80359         * modules/linked-list, modules/linked-list-tests: New files.
80360         * modules/avltree-list, modules/avltree-list-tests: New files.
80361         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80362         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80363         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80364         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80365         * modules/oset: New file.
80366         * modules/array-oset: New file.
80367         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80368         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80369         * tests/test-carray_list.c: New file.
80370         * tests/test-linked_list.c: New file.
80371         * tests/test-avltree_list.c: New file.
80372         * tests/test-rbtree_list.c: New file.
80373         * tests/test-linkedhash_list.c: New file.
80374         * tests/test-avltreehash_list.c: New file.
80375         * tests/test-rbtreehash_list.c: New file.
80376         * tests/test-avltree_oset.c: New file.
80377         * tests/test-rbtree_oset.c: New file.
80378         * MODULES.html.sh (Container data structures): New section.
80379
80380 2006-07-17  Bruno Haible  <bruno@clisp.org>
80381
80382         * m4/gl_list.m4: New file.
80383
80384 2006-07-17  Bruno Haible  <bruno@clisp.org>
80385
80386         * lib/gl_list.h: New file.
80387         * lib/gl_list.c: New file.
80388         * lib/gl_array_list.h: New file.
80389         * lib/gl_array_list.c: New file.
80390         * lib/gl_carray_list.h: New file.
80391         * lib/gl_carray_list.c: New file.
80392         * lib/gl_linked_list.h: New file.
80393         * lib/gl_linked_list.c: New file.
80394         * lib/gl_anylinked_list1.h: New file.
80395         * lib/gl_anylinked_list2.h: New file.
80396         * lib/gl_avltree_list.h: New file.
80397         * lib/gl_avltree_list.c: New file.
80398         * lib/gl_anyavltree_list1.h: New file.
80399         * lib/gl_anyavltree_list2.h: New file.
80400         * lib/gl_rbtree_list.h: New file.
80401         * lib/gl_rbtree_list.c: New file.
80402         * lib/gl_anyrbtree_list1.h: New file.
80403         * lib/gl_anyrbtree_list2.h: New file.
80404         * lib/gl_anytree_list1.h: New file.
80405         * lib/gl_anytree_list2.h: New file.
80406         * lib/gl_linkedhash_list.h: New file.
80407         * lib/gl_linkedhash_list.c: New file.
80408         * lib/gl_anyhash_list1.h: New file.
80409         * lib/gl_anyhash_list2.h: New file.
80410         * lib/gl_avltreehash_list.h: New file.
80411         * lib/gl_avltreehash_list.c: New file.
80412         * lib/gl_rbtreehash_list.h: New file.
80413         * lib/gl_rbtreehash_list.c: New file.
80414         * lib/gl_anytreehash_list1.h: New file.
80415         * lib/gl_anytreehash_list2.h: New file.
80416
80417         * lib/gl_oset.h: New file.
80418         * lib/gl_oset.c: New file.
80419         * lib/gl_array_oset.h: New file.
80420         * lib/gl_array_oset.c: New file.
80421         * lib/gl_avltree_oset.h: New file.
80422         * lib/gl_avltree_oset.c: New file.
80423         * lib/gl_rbtree_oset.h: New file.
80424         * lib/gl_rbtree_oset.c: New file.
80425         * lib/gl_anytree_oset.h: New file.
80426
80427 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80428
80429         * m4/mkancesdirs.m4: New file.
80430         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80431         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80432         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80433         it.
80434
80435 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80436
80437         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80438         * lib/mkancesdirs.h: New files.
80439         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80440         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80441         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80442         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80443         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80444         callers changed.  Revamp internals significantly, by not
80445         attempting to create directories that are temporarily more
80446         permissive than the final results.  Do not attempt to use
80447         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80448         This removes some race conditions, fixes some bugs, and simplifies
80449         things.  Use new dirchownmod function to do owner and mode changes.
80450         * lib/mkdir-p.h: Likewise.
80451         * lib/modechange.c (octal_to_mode): New function.
80452         (struct mode_change): New member mentioned.
80453         (make_node_op_equals): New arg mentioned.  All callers changed.
80454         (mode_compile): Keep track of which mode bits the user has explicitly
80455         mentioned.
80456         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80457         New arg PMODE_BITS, to keep track of which mode bits the user
80458         mentioned; it treats S_ISUID and S_ISGID speciall.
80459         All callers changed.
80460         * lib/modechange.h: Likewise.
80461
80462 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80463
80464         * MODULES.html.sh: Add mkancestors.
80465         * modules/mkancesdirs: New module.
80466         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80467         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80468         The chdir-safer and afs files are now orphans; I'll remove them
80469         unless someone speaks up.
80470         Add lib/dirchownmod.c, lib/dirchownmod.h.
80471         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80472         Add lchown, mkancesdirs.
80473         (Maintainer): Add self.
80474
80475 2006-07-15  Karl Berry  <karl@gnu.org>
80476
80477         * gnulib-tool: help message wording/arrangement.
80478
80479 2006-07-14  Simon Josefsson  <jas@extundo.com>
80480
80481         * doc/gnulib.texi (Libtool and Windows): New section.
80482
80483 2006-07-12  Simon Josefsson  <jas@extundo.com>
80484
80485         * modules/gendocs (License): Fix license, approved by Karl.
80486
80487 2006-07-12  Eric Blake  <ebb9@byu.net>
80488
80489         * MODULES.html.sh: Add gendocs.
80490
80491 2006-07-11  Eric Blake  <ebb9@byu.net>
80492
80493         * modules/fdl: New module, to install doc/fdl.texi.
80494         * MODULES.html.sh: Add new section for documentation modules.
80495         * gnulib-tool: Avoid space-tab.
80496         (--doc-base): New option, to manage files from doc.
80497
80498 2006-07-11  Eric Blake  <ebb9@byu.net>
80499
80500         * m4/absolute-header.m4: Fix comments to match recent change.
80501
80502 2006-07-11  Eric Blake  <ebb9@byu.net>
80503
80504         * gnulib-tool: List --doc-base before --tests-base.
80505
80506 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80507
80508         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80509
80510 2006-07-11  Bruno Haible  <bruno@clisp.org>
80511
80512         * README: Mention where to put documentation.
80513
80514 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80515
80516         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80517
80518 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80519
80520         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80521         to stdint.m4.
80522
80523 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80524
80525         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80526         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80527         "no/such/file/stdint.h" when there is no such file, so that
80528         the resulting C code can be parsed by dodgy compilers.
80529         Problems reported by Bob Proulx.
80530
80531 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80532
80533         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80534         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80535         macros into the GNU _D_EXACT_NAMLEN.
80536         * lib/savedir.c:  Likewise.
80537         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80538
80539 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80540         and Paul Eggert  <eggert@cs.ucla.edu>
80541
80542         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80543         * m4/savedir.m4:
80544         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80545         macros into the GNU _D_EXACT_NAMLEN.
80546
80547 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80548
80549         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80550         around the absolute name, to work around a problem with the HP-UX
80551         11.23 native C compiler, reported by Bob Proulx.
80552
80553 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         * doc/maintain.texi, make-stds.texi: Sync from
80556         <http://savannah.gnu.org/projects/gnustandards>.
80557
80558 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80559
80560         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80561
80562 2006-07-09  Jim Meyering  <jim@meyering.net>
80563
80564         * m4/glob.m4: Remove a doubled word in a comment.
80565
80566 2006-07-09  Jim Meyering  <jim@meyering.net>
80567
80568         * lib/argp-pv.c: Remove a doubled word in a comment.
80569         * lib/check-version.c (check_version): Likewise.
80570         * lib/javacomp.c (compile_java_class): Likewise.
80571
80572 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80573
80574         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80575         for the benefit of people using Autoconf 2.60.  If you want to
80576         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80577         (or m4/onceonly.m4, if pre-2.57) manually.
80578
80579 2006-07-08  Jim Meyering  <jim@meyering.net>
80580
80581         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80582         comment.
80583         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80584         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80585         comment.
80586
80587 2006-07-08  Jim Meyering  <jim@meyering.net>
80588
80589         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80590
80591 2006-07-07  Simon Josefsson  <jas@extundo.com>
80592
80593         * tests/test-crc.c: Change expected crc value, the test vector
80594         were probably computed using the old broken crc.c?
80595
80596 2006-07-06  Simon Josefsson  <jas@extundo.com>
80597
80598         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80599         now the canonical place for the M4 file).
80600
80601         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80602         from the sys_socket dependency now.
80603
80604         * modules/inet_pton (Files): Ditto.
80605
80606         * modules/inet_ntop (Files): Ditto.
80607
80608 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80609
80610         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80611         not gl_PREREQ_GETUSERSHELL.
80612
80613 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80614
80615         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80616         with only one argument, for Autoconf 2.60.
80617         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80618         expand to nothing, so add a shell command to avoid syntax error.
80619         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80620
80621 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80622
80623         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80624
80625 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80626
80627         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80628         no longer needed.  Check for isblank decl.
80629         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80630         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80631         of existence.
80632
80633 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80634
80635         * lib/getloadavg.c: Use __VMS, not VMS.
80636         * lib/getopt.c: Likewise.
80637         * lib/getpagesize.h: Likewise.
80638         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80639         and probably does not work.
80640
80641 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80642
80643         * lib/.cppi-disable: Add wcwidth.
80644         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80645         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80646         (ISGRAPH): Remove.  All uses changed to isgraph.
80647         (FOLD) [!defined _LIBC]: Remove special case.
80648         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80649         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80650         HAVE_ISBLANK.
80651         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80652         case.
80653
80654 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80655
80656         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80657         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80658         brackets.  Other minor changes to suppress some compiler
80659         warnings.
80660
80661 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80662         and Paul Eggert  <eggert@cs.ucla.edu>
80663
80664         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80665         of invoking obsolescent AC_HEADER_DIRENT macro.
80666         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80667         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80668         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80669         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80670         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80671         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80672         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80673         * m4/readdir.m4: Remove; no longer needed.
80674
80675 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80676         and Paul Eggert  <eggert@cs.ucla.edu>
80677
80678         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80679         Don't worry about this obsolete case any more.
80680         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80681         directories.
80682         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80683         worry about this obsolete case any more.
80684         * lib/fts.c: Likewise.
80685         * lib/getcwd.c: Likewise.
80686         * lib/glob.h: Likewise.
80687         * lib/savedir.c: Likewise.
80688
80689 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80690
80691         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80692         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80693         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80694         needed.
80695         All uses removed.
80696         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80697         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80698         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80699         needed.
80700         * m4/getdate.m4 (gl_GETDATE): Likewise.
80701         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80702         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80703         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80704         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80705         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80706         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80707         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80708         needed.
80709
80710 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80711
80712         * lib/memcasecmp.c: Include <limits.h>.
80713         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80714         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80715         Don't assume isdigit succeeds only on '0' through '9'.
80716
80717 2006-07-05  Eric Blake  <ebb9@byu.net>
80718
80719         * modules/getaddrinfo (Depends-on): Add snprintf.
80720
80721 2006-07-05  Eric Blake  <ebb9@byu.net>
80722
80723         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80724         to avoid 'header present but could not be compiled' on cygwin.
80725
80726 2006-07-05  Eric Blake  <ebb9@byu.net>
80727
80728         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80729         missing from netdb.h.
80730         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80731
80732 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80733
80734         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80735         no longer needed.
80736         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80737         * m4/getdate.m4 (gl_GETDATE): Likewise.
80738         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80739         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80740         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80741         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80742         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80743
80744 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80745
80746         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80747         All uses of is_space replaced by isspace.
80748         * lib/exit.h: Don't talk about STDC_HEADERS.
80749         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80750         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80751         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80752         replaced by isprint etc.
80753         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80754         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80755         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80756         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80757         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80758         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80759
80760 2006-07-05  Bruno Haible  <bruno@clisp.org>
80761
80762         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80763         the function exists, before testing against AIX.
80764         Reported by Martin Lambers <marlam@marlam.de>.
80765
80766 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80767
80768         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80769         From Mark D. Baushke.
80770
80771 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80772
80773         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80774         to the absolute name, not just one, to bypass Sun C 5.8's
80775         "warning: #include of /usr/include/... may be non-portable".
80776
80777 2006-07-04  Eric Blake  <ebb9@byu.net>
80778
80779         * modules/dirname-tests: New test module.
80780         * tests/test-dirname.c: New file, replacing dirname.c
80781         TEST_DIRNAME section that was recently deleted.
80782
80783 2006-07-04  Bruno Haible  <bruno@clisp.org>
80784
80785         Assume ANSI C header files and <ctype.h> functions.
80786         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80787         (mbsnwidth): Use isprint, iscntrl instead.
80788
80789 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80790
80791         Merge from coreutils.
80792         * MODULES.html.sh: Add xstrtold.
80793         * modules/xstrtold: New file.
80794         * modules/cycle-check (Files): Add lib/same-inode.h.
80795         * modules/dirname (Files): Add m4/double-slash-root.m4.
80796         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80797         * modules/mkdir-p (Files): Add lib/same-inode.h.
80798         * modules/same (Files): Add lib/same-inode.h.
80799
80800 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80801
80802         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80803         This is to keep the terminology clean; POSIX talks about
80804         "absolute pathnames", not "full pathnames", but the GNU
80805         Coding Standards say to use "path" for something else;
80806         so use "absolute" to keep both sides happy.
80807         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80808         Set gl_absolute_header, not gl_full_header_path.
80809         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80810         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80811         All uses changed.
80812
80813         Merge from coreutils.
80814
80815         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80816
80817         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80818         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80819         want to require the building of c-strtod.o.
80820         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80821         needs -lm directly.
80822         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80823
80824         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80825
80826         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80827         --as-needed option if available.  Problem reported by Albert Chin in
80828         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80829         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80830         cc merely issues a bunch of annoying warnings for --as-needed
80831         (this problem was reported by Bob Proulx).  Also, try linking with
80832         -lm to detect a bug in binutils 2.16 (this problem was reported
80833         by Ralf Wildenhues).
80834
80835         2006-06-18  Jim Meyering  <jim@meyering.net>
80836
80837         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80838         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80839         macro.
80840         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80841         also check for glibc-2.4's abort-inducing bug.
80842
80843         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80844         Low-probability clean-up should be to use rmdir to get rid of
80845         the just-created directory, not unlink.
80846
80847         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80848         configure fail, and request a bug report to inform us about it.
80849         Add a comment that, barring reports to the contrary, in 2007 we'll
80850         assume ftruncate is universally available.
80851
80852         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80853
80854         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80855
80856         2006-03-12  Jim Meyering  <jim@meyering.net>
80857
80858         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80859         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80860         * m4/same.m4 (gl_SAME): Likewise.
80861         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80862
80863         2006-03-11  Eric Blake  <ebb9@byu.net>
80864
80865         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80866         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80867         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80868         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80869
80870 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80871
80872         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80873         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80874         reported by Mark D. Baushke, one in
80875         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80876
80877         Merge from coreutils.
80878
80879         * lib/.cppi-disable: Add stdint_.h.
80880         * lib/.cvsignore: Add stdint.h.
80881
80882         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80883
80884         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80885         both double and long double versions.
80886         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80887         * lib/xstrtold.c: New file.
80888         * lib/xstrtod.h (xstrtold): New decl.
80889
80890         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80891
80892         * lib/filemode.c (setst): Remove.
80893         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80894         (arguably) clearer, and the generated code is a bit smaller on my
80895         Debian GNU/Linux stable x86 host.
80896
80897         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80898
80899         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80900         Assume that filemode.h includes sys/types.h and sys/stat.h.
80901         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80902         (ftypelet): Reorder to put common cases first, for efficiency.
80903         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80904         to do 'M'.
80905         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80906         of 10, for compatibility with FreeBSD.  All callers changed.
80907         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80908         types that can't be deduced solely from st_mode.  First arg is now a
80909         const pointer.
80910         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80911         (strmode): Renamed from mode_string.
80912         (filemodestring): New decl.
80913         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80914         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80915         needed.
80916         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80917
80918         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80919
80920         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80921         fsusage.h now does that.  Include fsusage.h first, to test interface.
80922         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80923         at most one method (the old code could have generated decls that
80924         didn't conform to C89, not that this was ever exercised).
80925         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80926
80927         2006-03-19  Jim Meyering  <jim@meyering.net>
80928
80929         Work even in a chroot where d_ino values for entries in "/"
80930         don't match the stat.st_ino values for the same names.
80931         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80932         number, iterate through all entries again, using lstat instead.
80933         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80934         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80935
80936         * lib/getcwd.c (__getcwd): Clarify a comment.
80937         Use memcpy in place of a call to strcpy.
80938
80939         2006-03-12  Jim Meyering  <jim@meyering.net>
80940
80941         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80942         matches that of the current directory (which we're about to chdir ".."
80943         out of), then save the dev-ino of the parent, instead.
80944
80945         * lib/same-inode.h (SAME_INODE): New file/macro.
80946         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80947         Include "same-inode.h", instead.
80948         * lib/same.c: Likewise.
80949         * lib/cycle-check.h: Include "same-inode.h".
80950         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80951         * lib/cycle-check.c (SAME_INODE): Remove definition.
80952         * lib/root-dev-ino.h: Include "same-inode.h".
80953
80954         2006-03-11  Eric Blake  <ebb9@byu.net>
80955
80956         * lib/same.c (same_name): s/base_name/last_component/
80957         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80958         * lib/filenamecat.c (file_name_concat): Likewise.
80959
80960         2006-03-11  Eric Blake  <ebb9@byu.net>,
80961                     Paul Eggert  <eggert@cs.ucla.edu>
80962
80963         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80964         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80965         drive prefix.
80966         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80967         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80968         (last_component): New method.
80969         * lib/dirname.c (dir_len): Determine when drive letters need a
80970         subsequent slash.  Preserve // when it is special.
80971         (dir_name): Don't append dot when drive letter is absolute.
80972         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80973         * lib/basename.c (base_name): New semantics - malloc the result.
80974         Preserve // when it is special.  Preserve relative files that look
80975         like drive letters.
80976         (base_len): Preserve // when it is special.
80977         (last_component): New method, similar to old base_name semantics.
80978         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80979         base_name.  Strip redundant slashes from ///.
80980
80981 2006-07-03  Jim Meyering  <jim@meyering.net>
80982
80983         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80984         macro is used before the first cycle_check call.
80985
80986 2006-07-03  Eric Blake  <ebb9@byu.net>
80987
80988         * modules/dirname (Depends-on): Add xstrndup.
80989
80990 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80991
80992         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80993         test cases, so that config.log is a bit easier to follow.
80994
80995 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80996
80997         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80998         both are 64 bits, since this seems to be the tradition, and this
80999         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81000         we ever run into a host that prefers long long to long in this
81001         case, we'll need another configure-time test.  Problem reported by
81002         Jim Meyering.
81003
81004 2006-07-02  Eric Blake  <ebb9@byu.net>
81005
81006         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81007
81008 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81009
81010         * modules/inttypes (Depends-on): No longer depends on stdint.
81011         * modules/stdint (Description): Say more about assumptions.
81012         Say that the fast types might differ.  Say macros are used.
81013         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81014         (Makefile.am): Revise list of substituted symbols to match
81015         new stdint.m4.
81016         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81017         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81018         * tests/test-stdint.c (verify_same_types)
81019         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81020         the code conforms to C99/C89.
81021         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81022         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81023
81024 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81025
81026         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81027         but fix a bug, by requiring at least 64 bits.
81028         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81029         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81030         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81031         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81032
81033         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81034         changes.  Make 2.59 a prerequisite.  Check and substitute for
81035         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81036         inttypes.h.  Do not use special include files; just use the
81037         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81038         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81039         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81040         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81041         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81042         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81043         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81044         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81045         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81046         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81047         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81048         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81049         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81050         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81051         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81052         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81053         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81054         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81055         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81056         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81057         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81058         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81059         not check for things that C99 does not require, e.g., int8_t.  If
81060         a test isn't needed unless <stdint.h> isn't working, and is
81061         unlikely to be needed for any other reason, then don't do it
81062         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81063         size_t, since we assume C89 freestanding at least.  Do not check
81064         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81065         the right thing even if the types are not defined.  Instead use:
81066         (gl_STDINT_TYPE_PROPERTIES): New macro.
81067         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81068         testing whether <sys/types.h> clashes, as Autoconf does this for
81069         us now.  All uses removed.
81070         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81071         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81072         (gl_CHECK_TYPE_SAME):
81073         Remove; no longer needed.
81074         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81075         exists, since we'll return 0 anyway in that case.
81076         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81077
81078 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81079
81080         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81081         possible collision with system files.
81082         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81083         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81084         WCHAR_MIN and WCHAR_MAX in this case.
81085         (<stddef.h>): Do not include; no longer needed.
81086         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81087         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81088         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81089         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81090         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81091         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81092         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81093         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81094         !defined(__c99))]: Include in this case too, since it's harmless
81095         now.
81096         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81097         dangerous to do so.
81098         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81099         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81100         (_STDINT_MIN, _STDINT_MAX): New macros.
81101         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81102         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81103         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81104         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81105         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81106         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81107         macros, not typedefs; this simplifies things quite a bit.
81108         Use long int for all types narrower than int64_t.
81109         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81110         Define in terms of long long int or int64_t or long int,
81111         not int64_t or int32_t.  This saves some compile-time testing.
81112         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81113         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81114         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81115         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81116         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81117         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81118         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81119         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81120         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81121         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81122         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81123         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81124         undef any previous version and define our own version, for
81125         simplicity and consistency with the new macros for types.
81126         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81127         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81128         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81129         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81130         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81131         @WINT_T_SUFFIX@ to keep things simple here.
81132         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81133         Simplify by assuming typical 8/16/32/64 host, since we're
81134         already doing that elsewhere anyway.
81135         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81136         and assume long long int is 64 bits if available.  This
81137         speeds up 'configure'.
81138
81139 2006-07-01  Eric Blake  <ebb9@byu.net>
81140
81141         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81142         Reported by Andreas Buening.
81143
81144 2006-07-01  Eric Blake  <ebb9@byu.net>
81145
81146         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81147
81148 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81149
81150         * lib/getaddrinfo.c: fixed typo
81151
81152 2006-06-29  Jim Meyering  <jim@meyering.net>
81153
81154         * modules/strftime (Maintainer): Add my name, since with the
81155         FPRINTFTIME changes strftime.c has forked from glibc.
81156
81157 2006-06-29  Eric Blake  <ebb9@byu.net>
81158
81159         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81160
81161 2006-06-29  Eric Blake  <ebb9@byu.net>
81162
81163         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81164
81165 2006-06-29  Eric Blake  <ebb9@byu.net>
81166
81167         * lib/stat_.h: New file.
81168
81169 2006-06-29  Eric Blake  <ebb9@byu.net>
81170
81171         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81172         unused static function.
81173
81174 2006-06-29  Eric Blake  <ebb9@byu.net>
81175
81176         * doc/functions.texi (Function Portability): Document missing lstat
81177         on mingw.
81178
81179 2006-06-29  Eric Blake  <ebb9@byu.net>
81180
81181         * MODULES.html.sh: Add sys_stat.
81182         * modules/sys_stat: New module.
81183         * modules/mkstemp (Depends-on): Add sys_stat.
81184
81185 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81186
81187         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81188
81189 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81190
81191         * m4/c-bs-a.m4: Removed.
81192
81193 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81194
81195         * lib/strftime.c: Assume strftime() exists.
81196
81197 2006-06-29  Derek Price  <derek@ximbiot.com>
81198
81199         * modules/c-bs-a: Removed - \a is C89.
81200         * MODULES.html.sh: Remove c-bs-a.
81201
81202 2006-06-29  Bruno Haible  <bruno@clisp.org>
81203
81204         * modules/wcwidth (License): Change to LGPL.
81205
81206 2006-06-28  Simon Josefsson  <jas@extundo.com>
81207
81208         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81209         on _WIN32.
81210
81211         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81212         getnameinfo.
81213
81214 2006-06-28  Simon Josefsson  <jas@extundo.com>
81215
81216         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81217
81218 2006-06-28  Simon Josefsson  <jas@extundo.com>
81219
81220         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81221         functions there.  It will succeed on Windows XP, but on Windows
81222         2000 and (presumably) earlier, it will fail, and use the internal
81223         re-implementation.
81224         (use_win32_p): New function.
81225         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81226         Support AI_NUMERICSERV to disable getservbyname.
81227         (getnameinfo): New function, only supports
81228         NI_NUMERICHOST|NI_NUMERICSERV for now.
81229
81230         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81231         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81232         getnameinfo.
81233
81234 2006-06-28  Eric Blake  <ebb9@byu.net>
81235
81236         * modules/wcwidth: New file.
81237         * modules/mbchar (Depends-on): Add wcwidth.
81238         * modules/mbswidth (Depends-on): Add wcwidth.
81239         * MODULES.html.sh: Add wcwidth.
81240
81241 2006-06-28  Eric Blake  <ebb9@byu.net>
81242
81243         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81244         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81245
81246 2006-06-28  Eric Blake  <ebb9@byu.net>
81247
81248         * lib/xvasprintf.h: Fix comments.
81249
81250 2006-06-28  Eric Blake  <ebb9@byu.net>
81251
81252         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81253         * lib/mbswidth.c (wcwidth): Move from here...
81254         * lib/wcwidth.h: ...to this new file.
81255
81256 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81257
81258         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81259
81260         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81261         it's obsolete.
81262         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81263
81264 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81265
81266         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81267         Autoconf 2.60 says this stuff was obsolete.
81268
81269 2006-06-28  Bruno Haible  <bruno@clisp.org>
81270
81271         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81272
81273 2006-06-28  Bruno Haible  <bruno@clisp.org>
81274
81275         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81276         gt_TYPE_WCHAR_T.
81277
81278 2006-06-28  Bruno Haible  <bruno@clisp.org>
81279
81280         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81281         declaration for wcwidth.
81282         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81283
81284 2006-06-28  Bruno Haible  <bruno@clisp.org>
81285
81286         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81287         (mkdir): Define using _mkdir.
81288
81289 2006-06-28  Bruno Haible  <bruno@clisp.org>
81290
81291         * lib/getaddrinfo.h: Fix POSIX URL.
81292         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81293         _WIN32.
81294         (use_win32_p): Make static.
81295         (getaddrinfo): Reject service name if it is empty or does not consist
81296         solely of decimal digits, or if its value is > 65535.
81297         (getnameinfo): Remove useless casts.
81298
81299 2006-06-27  Simon Josefsson  <jas@extundo.com>
81300
81301         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81302         Eggert and Martin Lambers.
81303
81304 2006-06-27  Simon Josefsson  <jas@extundo.com>
81305
81306         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81307         Eggert and Martin Lambers.
81308
81309 2006-06-27  Bruno Haible  <bruno@clisp.org>
81310
81311         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81312         result to 0, not to empty.
81313         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81314
81315 2006-06-27  Bruno Haible  <bruno@clisp.org>
81316
81317         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81318
81319 2006-06-26  Simon Josefsson  <jas@extundo.com>
81320
81321         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81322         present.
81323
81324 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81325
81326         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81327         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81328         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81329
81330 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81331
81332         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81333
81334 2006-06-26  Bruno Haible  <bruno@clisp.org>
81335
81336         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81337
81338 2006-06-26  Bruno Haible  <bruno@clisp.org>
81339
81340         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81341
81342 2006-06-26  Bruno Haible  <bruno@clisp.org>
81343
81344         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81345         SGI C compiler in pre-C99 mode.
81346         Suggested by Mark D. Baushke and Larry Jones.
81347
81348 2006-06-26  Bruno Haible  <bruno@clisp.org>
81349
81350         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81351         WCHAR_MAX.
81352         Reported by Mark D. Baushke and Larry Jones.
81353
81354 2006-06-26  Bruno Haible  <bruno@clisp.org>
81355
81356         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81357         in pre-C99 mode.
81358         Suggested by Mark D. Baushke and Larry Jones.
81359
81360 2006-06-23  Simon Josefsson  <jas@extundo.com>
81361             Bruno Haible  <bruno@clisp.org>
81362
81363         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81364         Emit mostlyclean-local rule.
81365         (func_emit_tests_Makefile_am): Likewise.
81366         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81367
81368 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81369
81370         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81371
81372 2006-06-23  Bruno Haible  <bruno@clisp.org>
81373
81374         * tests/test-stdint.c: Update to match ISO C 99 Technical
81375         Corrigendum 1.
81376
81377 2006-06-23  Bruno Haible  <bruno@clisp.org>
81378
81379         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81380
81381 2006-06-23  Bruno Haible  <bruno@clisp.org>
81382
81383         * lib/stdint_.h: Treat IRIX like OpenBSD.
81384
81385 2006-06-23  Bruno Haible  <bruno@clisp.org>
81386
81387         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81388         ISO C 99 Technical Corrigendum 1.
81389
81390 2006-06-22  Simon Josefsson  <jas@extundo.com>
81391
81392         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81393         MinGW.
81394
81395 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81396
81397         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81398         needed.  Some compiler complained about some of them.  Problem reported
81399         by Larry Jones in
81400         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81401
81402 2006-06-21  Simon Josefsson  <jas@extundo.com>
81403
81404         * tests/test-getaddrinfo.c: New file.
81405
81406         * modules/getaddrinfo-tests: New file.
81407
81408         * MODULES.html.sh: Add inet_pton.
81409
81410         * modules/inet_pton: New file.
81411
81412 2006-06-21  Simon Josefsson  <jas@extundo.com>
81413
81414         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81415         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81416         of using the (limited) gnulib implementation on Windows XP.
81417
81418         * m4/inet_pton.m4: New file.
81419
81420 2006-06-21  Simon Josefsson  <jas@extundo.com>
81421
81422         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81423         variable.
81424
81425         * lib/socket_.h: Don't define WINVER.
81426
81427         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81428         slightly modified to work in gnulib.
81429
81430 2006-06-21  Simon Josefsson  <jas@extundo.com>
81431
81432         * doc/gnulib.texi (Windows sockets): Add.
81433
81434 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81435
81436         * lib/read-file.c (fread_file): Start with buffer allocation of
81437         0 bytes rather than 1 byte; this simplifies the code.
81438         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81439         code to free buffer and save/restore errno.
81440         (internal_read_file): Remove unused local.
81441
81442 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81443
81444         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81445         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81446         Problem reported by Denis Excoffier in
81447         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81448
81449 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81450
81451         * modules/sys_socket, modules/socklen: Include sys/types since
81452         FreeBSD 4.x's sys/socket.h needs it.
81453
81454 2006-06-19  Simon Josefsson  <jas@extundo.com>
81455
81456         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81457
81458 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81459
81460         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81461
81462 2006-06-19  Bruno Haible  <bruno@clisp.org>
81463
81464         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81465         and FULL_PATH_INTTYPES_H in angle brackets.
81466         Reported by Mark D. Baushke <mdb@gnu.org>.
81467
81468 2006-06-17  Eric Blake  <ebb9@byu.net>
81469
81470         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81471         errno.
81472
81473 2006-06-17  Bruno Haible  <bruno@clisp.org>
81474
81475         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81476         <sys/inttypes.h>.
81477
81478 2006-06-17  Bruno Haible  <bruno@clisp.org>
81479
81480         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81481         whether errno is declared. Assume <errno.h> declares errno.
81482
81483 2006-06-17  Bruno Haible  <bruno@clisp.org>
81484
81485         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81486
81487 2006-06-17  Bruno Haible  <bruno@clisp.org>
81488
81489         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81490         problem on Solaris 2.5.1.
81491
81492 2006-06-16  Eric Blake  <ebb9@byu.net>
81493
81494         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81495         * lib/unicodeio.c [!defined errno]: Likewise.
81496         * lib/strtol.c [!defined errno]: Likewise.
81497         * lib/strtod.c [!defined errno]: Likewise.
81498
81499 2006-06-15  Eric Blake  <ebb9@byu.net>
81500
81501         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81502
81503 2006-06-15  Eric Blake  <ebb9@byu.net>
81504
81505         * config/srclist.txt (ssize_t.m4): Lose sync.
81506
81507 2006-06-15  Bruno Haible  <bruno@clisp.org>
81508
81509         * modules/stdint (Files): Include m4/full-header-path.m4,
81510         m4/size_max.m4, m4/wchar_t.m4.
81511         (Makefile.am): Many more substitutions.
81512         * modules/stdint-tests: New file.
81513         * tests/test-stdint.c: New file.
81514
81515 2006-06-15  Bruno Haible  <bruno@clisp.org>
81516
81517         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81518         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81519         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81520         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81521         gl_CHECK_TYPE_SAME): New macros.
81522
81523 2006-06-15  Bruno Haible  <bruno@clisp.org>
81524
81525         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81526
81527 2006-06-15  Bruno Haible  <bruno@clisp.org>
81528
81529         * lib/stdint_.h: Rewritten to be fully auto-configured.
81530         Fixes bug on HP-UX/IA64.
81531
81532 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81533
81534         * lib/getdate.y (__attribute__): Don't define if already defined.
81535         Problem reported by Larry Jones.
81536         * lib/utimens.c (__attribute__): Likewise.
81537
81538 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81539
81540         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81541         reported by Andreas Schwab.
81542
81543 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81544             Bruno Haible  <bruno@clisp.org>
81545
81546         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81547         check for the declaration of strnlen and a run test that exposes the
81548         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81549         rpl_strndup.
81550
81551 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81552             Bruno Haible  <bruno@clisp.org>
81553
81554         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81555
81556 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81557
81558         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81559         compile test, for Tru64 4.0D.
81560
81561 2006-05-28  Karl Berry  <karl@gnu.org>
81562
81563         * config/srclist.txt (printf-args.c): lose sync.
81564
81565 2006-05-26  Martin Lambers  <marlam@marlam.de>
81566
81567         * lib/getpass.c: Updates the test for the native W32 API, and adds
81568         missing includes, thus fixing compilation warnings.
81569
81570 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81571
81572         * lib/exclude.c (exclude_fnmatch): New function.
81573         (excluded_file_name): Call exclude_fnmatch.
81574         * lib/exclude.h (excluded_file_name): New prototype
81575
81576 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81577
81578         * lib/tempname.c (small_open, large_open): New macros.
81579         (__open, __open64) [!_LIBC]: Remove.
81580         (__gen_tempname): Use small_open and large_open instead of __open
81581         and __open64.  This fixes a portability bug on HP-UX 11.11i
81582         reported by Simon Wing-Tang in
81583         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81584
81585 2006-05-24  Bruno Haible  <bruno@clisp.org>
81586
81587         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81588         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81589         Reported by Thorsten Maerz <torte@netztorte.de> via
81590         Aaron Stone <aaron@serendipity.cx>.
81591
81592 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81593
81594         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81595         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81596         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81597         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81598         not really conditional on the cache.
81599         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81600
81601 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81602
81603         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81604         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81605         (my_usleep): Don't mishandle maximum value.
81606
81607 2006-05-19  Jim Meyering  <jim@meyering.net>
81608
81609         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81610
81611 2006-05-17  Bruno Haible  <bruno@clisp.org>
81612
81613         Cygwin portability.
81614         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81615
81616 2006-05-17  Bruno Haible  <bruno@clisp.org>
81617
81618         * lib/stdint_.h: Fix recognition of Cygwin.
81619
81620 2006-05-15  Bruno Haible  <bruno@clisp.org>
81621
81622         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81623         on libtool patch by Ralf Wildenhues.
81624
81625 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81626
81627         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81628         test for C99 conformance; (bool) 0.5 is an integer constant
81629         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81630         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81631
81632 2006-05-11  Simon Josefsson  <jas@extundo.com>
81633
81634         * m4/xvasprintf.m4: Fix obvious typo.
81635
81636 2006-05-11  Jim Meyering  <jim@meyering.net>
81637
81638         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81639         James Lemley.
81640
81641 2006-05-10  Simon Josefsson  <jas@extundo.com>
81642
81643         * lib/md4.c: Typo fix, update copyright years.
81644         (K1, K2): Don't use L because it turn computations into 64-bit on
81645         64-bit platforms.
81646
81647 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81648
81649         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81650         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81651         unwanted sign propagation, e.g., on hosts with 64-bit int.
81652         There still are some problems with reeelly weird theoretical hosts
81653         (e.g., 33-bit int) but it's not worth worrying about now.
81654         * lib/sha1.c (rol): Likewise.
81655         (K1, K2, K3, K4): Remove unnecessary L suffix.
81656
81657 2006-05-10  Bruno Haible  <bruno@clisp.org>
81658
81659         * lib/des.c: Cast to avoid warnings.
81660
81661 2006-05-09  Bruno Haible  <bruno@clisp.org>
81662
81663         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81664         (Depends-on): Depend also on xsize, stdarg.
81665         (configure.ac): Add gl_XVASPRINTF.
81666
81667 2006-05-09  Bruno Haible  <bruno@clisp.org>
81668
81669         * m4/xvasprintf.m4: New file.
81670
81671 2006-05-09  Bruno Haible  <bruno@clisp.org>
81672
81673         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81674         (EOVERFLOW): Define fallback value.
81675         (xstrcat): New function.
81676         (xvasprintf): Recognize the special case of a string concatenation.
81677
81678 2006-05-08  Eric Blake  <ebb9@byu.net>
81679
81680         * gnulib-tool (func_version): Base copyright year on CVS date.
81681         (func_emit_copyright_notice): New function.
81682         (func_emit_lib_Makefile_am): Use it.
81683         (func_emit_tests_Makefile_am): Likewise.
81684         (func_import): Likewise.
81685
81686 2006-05-08  Bruno Haible  <bruno@clisp.org>
81687
81688         * modules/stdarg: New file.
81689         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81690
81691 2006-05-08  Bruno Haible  <bruno@clisp.org>
81692
81693         * m4/stdarg.m4: New file, from GNU gettext.
81694
81695 2006-05-08  Bruno Haible  <bruno@clisp.org>
81696
81697         * config/srclist.txt (build-aux/config.rpath): different from latest
81698         release.
81699
81700 2006-05-08  Bruno Haible  <bruno@clisp.org>
81701
81702         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81703
81704 2006-05-05  Jim Meyering  <jim@meyering.net>
81705
81706         * m4/warning.m4: New file, derived from bison's file by the same name.
81707
81708 2006-05-03  Bruno Haible  <bruno@clisp.org>
81709
81710         * lib/stdint_.h: Shorter URL.
81711         * lib/inttypes.h: Likewise.
81712
81713 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81714
81715         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81716
81717 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81718
81719         * lib/verify.h: Document the internals better.  Most of this change
81720         was written by Bruno Haible.
81721
81722 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81723
81724         * doc/verify.texi: New file, partly based on a proposal by
81725         Bruno Haible.
81726
81727 2006-05-02  Bruno Haible  <bruno@clisp.org>
81728
81729         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81730         test from here...
81731         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81732
81733 2006-04-29  Bruno Haible  <bruno@clisp.org>
81734
81735         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81736         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81737
81738 2006-04-29  Bruno Haible  <bruno@clisp.org>
81739
81740         * gnulib-tool: Make --update option actually work.
81741
81742 2006-04-29  Bruno Haible  <bruno@clisp.org>
81743
81744         * doc/gcd.texi: New file.
81745         * doc/gnulib.texi: Include it.
81746
81747 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81748
81749         * lib/getdate.y (get_date): When adding relative date, start with the
81750         initial time, not with the result of the first mktime call.
81751
81752 2006-04-25  Bruno Haible  <bruno@clisp.org>
81753
81754         * gnulib-tool (func_import): Output the include directives in three
81755         blocks, sorted separately.
81756         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81757
81758 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81759
81760         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81761         to define main with arguments, for C++.  Reported by Eric Blake.
81762         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81763         Prefer 'int main ()' to 'int main (void)', for C++.
81764         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81765         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81766         for 'main', for C99 and C++.
81767
81768 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81769
81770         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81771         Don't assume that exit status -1 is valid.
81772         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81773         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81774         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81775         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81776         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81777         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81778         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81779         functions can be used without declaring them, or that you can
81780         exit with status -1.
81781         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81782
81783 2006-04-24  Karl Berry  <karl@gnu.org>
81784
81785         * config/srclist.txt (longdouble.m4): sync lost.
81786
81787 2006-04-24  Eric Blake  <ebb9@byu.net>
81788
81789         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81790
81791 2006-04-24  Bruno Haible  <bruno@clisp.org>
81792
81793         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81794         poll() implementation in AIX.
81795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81796
81797 2006-04-24  Bruno Haible  <bruno@clisp.org>
81798
81799         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81800         assigned exactly once.
81801
81802 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81803             Bruno Haible  <bruno@clisp.org>
81804
81805         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81806         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81807         for AM_CPPFLAGS.
81808
81809 2006-04-23  Bruno Haible  <bruno@clisp.org>
81810
81811         * modules/copy-file: Depend on unistd.
81812         * modules/execute: Likewise.
81813         * modules/fatal-signal: Likewise.
81814         * modules/findprog: Likewise.
81815         * modules/mkdtemp : Likewise.
81816         * modules/pipe: Likewise.
81817         * modules/wait-process: Likewise.
81818
81819 2006-04-23  Bruno Haible  <bruno@clisp.org>
81820
81821         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81822         condition was already detected.
81823         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81824
81825 2006-04-23  Bruno Haible  <bruno@clisp.org>
81826
81827         * lib/copy-file.c: Include <unistd.h> unconditionally.
81828         * lib/execute.c: Likewise.
81829         * lib/fatal-signal.c: Likewise.
81830         * lib/findprog.c: Likewise.
81831         * lib/mkdtemp.c: Likewise.
81832         * lib/pipe.h: Likewise.
81833         * lib/pipe.c: Likewise.
81834         * lib/wait-process.h: Likewise.
81835
81836 2006-04-23  Bruno Haible  <bruno@clisp.org>
81837
81838         * gnulib-tool (func_usage): Fix --import description. Document
81839         --update.
81840         (func_import): Create temporary file in a temporary directory, if
81841         --dry-run is specified. Silence errors from 'grep' when there are no
81842         m4 files in $m4dir.
81843         (func_create_testdir): Silence errors from 'grep' when there are no
81844         m4 files in $m4dir.
81845         Reported by Karl Berry <karl@freefriends.org>.
81846
81847 2006-04-20  Bruno Haible  <bruno@clisp.org>
81848
81849         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81850         one argument, so that the code will be portable to Autoconf 2.60.
81851         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81852         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81853         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81854
81855 2006-04-19  Derek Price  <derek@ximbiot.com>
81856             Eric Blake  <ebb9@byu.net>
81857
81858         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81859         rather than "/full/path.h".  Update comment to match.  Shorten &
81860         generalize m4_translit call via AS_TR_CPP.
81861
81862 2006-04-19  Derek Price  <derek@ximbiot.com>
81863             Eric Blake  <ebb9@byu.net>
81864
81865         * lib/inttypes.h: Correct grammar in comment.
81866
81867 2006-04-18  Derek Price  <derek@ximbiot.com>
81868             Paul Eggert  <eggert@cs.ucla.edu>
81869
81870         * modules/inttypes: New file.
81871         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81872
81873 2006-04-18  Derek Price  <derek@ximbiot.com>
81874             Paul Eggert  <eggert@cs.ucla.edu>
81875
81876         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81877         New files.
81878
81879 2006-04-18  Derek Price  <derek@ximbiot.com>
81880             Paul Eggert  <eggert@cs.ucla.edu>
81881
81882         * lib/inttypes.h: New file.
81883         * lib/strtoimax.c: Assume <inttypes.h>.
81884
81885 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81886
81887         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81888         isn't mounted.  Problem reported by Kir Kolyshkin.
81889
81890 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81891
81892         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81893         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81894         Derek R. Price.
81895         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81896         implementation.
81897
81898 2006-04-12  Eric Blake  <ebb9@byu.net>
81899
81900         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81901         is now done automatically by the corresponding Autoconf macro.
81902
81903 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81904
81905         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81906         time_r.h.
81907
81908 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81909
81910         Merge regex changes from libc, removing some of our
81911         POSIX-conformance changes that were rejected and redoing them in a
81912         less-intrusive way.
81913
81914         * lib/regcomp.c (re_compile_internal, init_dfa):
81915         Length arg is now size_t, not Idx.  All uses changed.
81916         (peek_token): Forward decl now says internal_function.
81917         (__re_error_msgid, __re_error_msgid_idx):
81918         Now static rather than extern with attribute_hidden.
81919         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81920         For some reason libc prefers K&R style defns for external functions.
81921         (regerror) [!defined _LIBC]: Likewise.
81922         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81923         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81924         (build_range_exp, build_collating_symbol):
81925         Use K&R-style defn.
81926         (re_compile_fastmap): Use '\0' to memset, not 0.
81927         (utf8_sb_map): Make the calculations more obvious.
81928         (init_dfa, parse_bracket_exp, build_charclass_op):
81929         Call calloc and cast result, as glibc does.
81930         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81931         (build_range_exp, build_collating_symbol):
81932         Now internal functions.
81933
81934         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81935
81936         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81937         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81938         Don't depend on VMS; depend on __VMS instead, for POSIX
81939         namespace cleanness.
81940         (regoff_t): Define to ssize_t, not long int.
81941
81942         Remove the REG_ macros named below.  Instead, make the old names
81943         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81944         __USE_GNU_REGEX.
81945         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81946         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81947         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81948         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81949         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81950         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81951         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81952         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81953         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81954         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81955         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81956         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81957         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81958         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81959         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81960         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81961         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81962         (REG_NREGS):
81963         Remove.  All uses replaced by the old RE_* names.
81964         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81965         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81966         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81967         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81968         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81969         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81970         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81971         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81972         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81973         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81974         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81975         Don't bother having these macros be independent of each others'
81976         values, since they no longer exist in the POSIX name space.
81977
81978         Rename the following member names back to their old names,
81979         unless !__USE_GNU_REGEX.  All uses changed back.
81980         (buffer): Renamed from re_buffer.
81981         (allocated): Renamed from re_allocated.
81982         (used): Renamed from re_used.
81983         (syntax): Renamed from re_syntax.
81984         (fastmap): Renamed from re_fastmap.
81985         (translate): Renamed from re_translate.
81986         (can_be_null): Renamed from re_can_be_null.
81987         (regs_allocated): Renamed from re_regs_allocated.
81988         (fastmap_accurate): Renamed from re_fastmap_accurate.
81989         (no_sub): Renamed from re_no_sub.
81990         (not_bol): Renamed from re_not_bol.
81991         (not_eol): Renamed from re_not_eol.
81992         (newline_anchor): Renamed from re_newline_anchor.
81993         (num_regs): Renamed from rm_num_regs.
81994         (start): Renamed from rm_start.
81995         (end): Renamed from rm_end.
81996
81997         (free_state): Move up a bit.
81998
81999         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82000         #define to be empty.
82001         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82002         when that is what is intended.
82003         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82004         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82005         (MAX): New macro.
82006         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82007         All uses changed back to re_malloc, etc.  It's now the caller's
82008         responsibility to check for overflow; all callers changed.
82009         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82010         (re_x2nrealloc): Remove.
82011         (free_state): Remove decl.
82012
82013         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82014         (re_set_registers, re_exec):
82015         Use K&R-style defn.
82016
82017         2006-01-31  Roland McGrath  <roland@redhat.com>
82018
82019         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82020         Reported by Mike Frysinger <vapier@gentoo.org>.
82021
82022         2006-01-15  Andreas Jaeger  <aj@suse.de>
82023
82024         [BZ #1950]
82025         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82026         build_wcs_upper_buffer change.
82027         (build_wcs_upper_buffer): Change return type.
82028
82029         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82030
82031         * lib/regex_internal.h: Include <stdint.h> if available.
82032
82033         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82034
82035         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82036
82037         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82038
82039         * lib/regcomp.c: Adjust for changed secondary hash function.
82040
82041         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82042
82043         * lib/regex.h: Pretty printing.
82044         Clean up namespace a bit.
82045
82046         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82047
82048         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82049         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82050
82051         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82052                     Ulrich Drepper  <drepper@redhat.com>
82053
82054         [BZ #1302]
82055         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82056         changed.
82057         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82058
82059         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82060
82061         [BZ #281]
82062         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82063         * lib/regcomp.c: Remove unnecessary uses of
82064         unsigned RE_TRANSLATE_TYPE.
82065         * lib/regex_internal.h: Likewise.
82066         * lib/regex_internal.c: Likewise.
82067         * lib/regexec.c: Likewise.
82068         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82069
82070         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82071
82072         * lib/regexec.c (find_recover_state): Remove unnecessary
82073         initialization.
82074         (transit_state_bkref): Make DFA a const pointer.
82075         (get_subexp): Likewise.
82076         (check_arrival): Likewise.
82077         (update_cur_sifted_state): Likewise.
82078         (re_search_internal): Likewise.
82079         (prune_impossible_nodes): Likewise.
82080         (acquire_init_state_context): Likewise.
82081         (proceed_next_node): Likewise.
82082         (set_regs): Likewise.
82083         (free_fail_stack_return): Likewise.
82084         (check_arrival_expand_ecl): Mark DFA parameter as const.
82085         (check_arrival_expand_ecl_sub): Likewise.
82086         (check_subexp_limits): Likewise.
82087         (sub_epsilon_src_nodes):  Likewise.
82088         (add_epsilon_src_nodes):  Likewise.
82089         (merge_state_array): Likewise.
82090         (update_regs): Likewise.
82091         (build_trtable): Likewise.
82092         (sift_states_backward): Mark MCTX parameter as const.
82093         (build_sifted_states): Likewise.
82094         (update_cur_sifted_state): Likewise.
82095         (sift_states_mkref): Likewise.
82096         (check_arrival_expand_ecl): Mark eclosure as const.
82097         (check_dst_limits_calc_pos_1): Likewise.
82098         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82099         pointer.
82100
82101         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82102
82103         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82104         (transit_state_sb): Likewise.
82105         (transit_state_mb): Likewise.
82106         (sift_states_iter_mb): Likewise.
82107         (check_arrival_add_next_nodes): Likewise.
82108         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82109         [_LIBC] (re_search_2_stub): Use mempcpy.
82110
82111         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82112         mbrtowc for very simple UTF-8 case.
82113
82114         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82115         a pointer-to-const.
82116         (re_acquire_state_context): Likewise.
82117         * lib/regex_internal.h: Adjust prototypes.
82118
82119         * lib/regex.c: Prevent using C++ compilers.
82120
82121         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82122         (re_acquire_state_context): Likewise.
82123
82124 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82125
82126         * modules/regex (Depends-on): Add ssize_t.
82127
82128 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82129
82130         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82131         translation table.
82132
82133 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82134
82135         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82136
82137 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82138             Bruno Haible  <bruno@clisp.org>
82139
82140         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82141         <sys/types.h> and <inttypes.h>.
82142
82143 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82144
82145         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82146         `__error_t_defined', so argp.h will not typedef the former.
82147
82148 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82149
82150         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82151         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82152         glibc names.  Even if glibc is changed to conform to POSIX, the
82153         traditional names will be available anyway, since regex depends on
82154         the extensions module.  Also, fix a longstanding typo in the
82155         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82156         reported by Emanuele Giaquinta.  Also, change sense of cached
82157         variable, so that the message makes sense.
82158
82159 2006-03-24  Simon Josefsson  <jas@extundo.com>
82160
82161         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82162         including some doc fixes.
82163         (base64_encode_alloc): Fix +1 bug on allocation failures.
82164
82165 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82166
82167         * lib/base64.c (base64_encode): Do not read past end of array with
82168         unsanitized input on systems with CHAR_BIT > 8.
82169
82170 2006-03-24  Eric Blake  <ebb9@byu.net>
82171
82172         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82173
82174 2006-03-22  Karl Berry  <karl@gnu.org>
82175
82176         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82177         * config/srclistvars.sh (COREUTILS): new var.
82178
82179 2006-03-17  Jim Meyering  <jim@meyering.net>
82180
82181         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82182         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82183
82184 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82185
82186         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82187         no longer needs it.  Instead, check that regoff_t is as least
82188         as wide as ptrdiff_t.
82189
82190         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82191         so that our regex.h stays compatible with the installed regex.
82192         This is helpful for installers who configure --without-included-regex.
82193         Problem reported by Emanuele Giaquinta.
82194
82195 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82196
82197         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82198         Typedef to long int, not to off_, as POSIX will likely change
82199         in that direction.
82200
82201 2006-03-15  Eric Blake  <ebb9@byu.net>
82202
82203         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82204
82205 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82206
82207         * lib/argp-help.c (validate_uparams): Fix typo
82208         * lib/argp-parse.c (argp_default_options): Consistently begin help
82209         messages with a lowercase letter.
82210
82211 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82212
82213         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82214         overrun buffers and shouldn't be used (much as gets shouldn't be
82215         used).
82216         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82217
82218 2006-03-08  Simon Josefsson  <jas@extundo.com>
82219
82220         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82221         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82222
82223 2006-03-08  Simon Josefsson  <jas@extundo.com>
82224
82225         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82226         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82227
82228 2006-03-08  Simon Josefsson  <jas@extundo.com>
82229
82230         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82231         signal that configure disabled the device.
82232
82233 2006-03-08  Simon Josefsson  <jas@extundo.com>
82234
82235         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82236         languages.
82237
82238 2006-03-07  Simon Josefsson  <jas@extundo.com>
82239
82240         * modules/getopt (Depends-on): Add unistd.
82241
82242         * modules/unistd: New file.
82243
82244 2006-03-07  Simon Josefsson  <jas@extundo.com>
82245
82246         * modules/gc-random: New file.
82247
82248 2006-03-07  Simon Josefsson  <jas@extundo.com>
82249
82250         * m4/unistd_h.m4: New file.
82251
82252 2006-03-07  Simon Josefsson  <jas@extundo.com>
82253
82254         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82255         test to be side-effect free by storing the result in the cache
82256         variable gl_cv_lib_readline, and moving the assignment of
82257         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82258         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82259
82260 2006-03-07  Simon Josefsson  <jas@extundo.com>
82261
82262         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82263         error on missing devices (the functions will return an error).
82264
82265         * m4/gc.m4: Move random stuff to gc-random.m4
82266
82267 2006-03-07  Simon Josefsson  <jas@extundo.com>
82268
82269         * lib/unistd_.h: New file.
82270
82271 2006-03-07  Simon Josefsson  <jas@extundo.com>
82272
82273         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82274
82275 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82276
82277         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82278         Problem reported by Juan Manuel Guerrero.
82279
82280 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82281
82282         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82283         the unistd module.
82284         * lib/getlogin_r.c: Likewise.
82285         * lib/getlogin_r.h: Likewise.
82286         * lib/glob.c: Likewise.
82287         * lib/pagealign_alloc.c: Likewise.
82288         * lib/unistd_.h: Remove; no longer needed.
82289
82290 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82291
82292         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82293         Add unistd.
82294         * modules/c-stack (Depends-on): Add unistd.
82295         * modules/getlogin_r: Likewise.
82296         * modules/glob: Likewise.
82297         * modules/pagealign_alloc: Likewise.
82298         * modules/unistd (Files): Remove lib/unistd_.h.
82299         (EXTRA_DIST): Remove.
82300         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82301         need unistd_.h.
82302         (MOSTLYCLEANFILES): Remove unistd.h-t.
82303
82304 2006-03-03  Simon Josefsson  <jas@extundo.com>
82305
82306         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82307
82308 2006-03-03  Simon Josefsson  <jas@extundo.com>
82309
82310         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82311         libidn and bison.
82312
82313 2006-03-03  Simon Josefsson  <jas@extundo.com>
82314
82315         * build-aux/maint.mk: Add indent target.
82316
82317 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82318
82319         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82320         our replacement poll.h in any case, to avoid a differing
82321         declaration from a system header.  Seen on AIX.
82322
82323 2006-03-01  Simon Josefsson  <jas@extundo.com>
82324
82325         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82326         <kasal@ucw.cz>.
82327
82328 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82329
82330         * modules/gettime (Depends-on): Add extensions module.
82331         * modules/nanosleep (Depends-on): Likewise.
82332         * modules/settime (Depends-on): Likewise.
82333
82334 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82335
82336         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82337         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82338         pedantically.
82339         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82340         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82341
82342         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82343         not "==".  Reported by Ralf Wildenhues.
82344
82345 2006-03-01  Karl Berry  <karl@gnu.org>
82346
82347         * doc/Copyright/request-*: new files, synced from gnuorg.
82348
82349 2006-03-01  Karl Berry  <karl@gnu.org>
82350
82351         * config/srclist.txt (Copyright/*): new entries.
82352
82353 2006-02-28  Simon Josefsson  <jas@extundo.com>
82354
82355         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82356
82357 2006-02-27  Simon Josefsson  <jas@extundo.com>
82358
82359         * lib/base64.h: Indent #define's.  From Jim Meyering
82360         <jim@meyering.net>.
82361
82362 2006-02-27  Jim Meyering  <jim@meyering.net>
82363
82364         Revert the change of 2006-02-24, so these files can continue
82365         to be sync'd from gettext.
82366         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82367         of `config.h'.
82368
82369 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82370
82371         * modules/intprops: New file.
82372         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82373         Add intprops.
82374         * modules/getloadavg (Files): Remove lib/intprops.h.
82375         (Depends-on): Add intprops.
82376         * modules/human: Likewise.
82377         * modules/inttostr: Likewise.
82378         * modules/openat: Likewise.
82379         * modules/sig2str: Likewise.
82380         * modules/userspec: Likewise.
82381         * modules/utimecmp: Likewise.
82382         * modules/xnanosleep: Likewise.
82383         * modules/xstrtol: Likewise.
82384
82385 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82386
82387         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82388         * modules/lock-tests (TESTS): Use $(EXEEXT).
82389         * modules/tls-tests: Likewise.
82390         * modules/argp-tests: Likewise.
82391         (check_PROGRAMS): New var, replacing...
82392         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82393
82394 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82395
82396         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82397         `config.h'.
82398
82399 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82400
82401         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82402
82403 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82404
82405         Sync from coreutils.
82406         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82407         gl_CHDIR_SAFER.
82408
82409 2006-02-22  Jim Meyering  <jim@meyering.net>
82410
82411         Sync from coreutils.
82412         * m4/chdir-safer.m4: New file.
82413
82414 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82415
82416         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82417         AT_FDCWD exceeds INT_MAX.
82418         * lib/openat.h (AT_FDCWD): Likewise.
82419
82420 2006-02-17  Eric Blake  <address@hidden>
82421
82422         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82423
82424 2006-02-16  Simon Josefsson  <jas@extundo.com>
82425
82426         * modules/getaddrinfo (Depends-on): Add sys_socket.
82427
82428 2006-02-15  Simon Josefsson  <jas@extundo.com>
82429
82430         * build-aux/maint.mk: Add dsyntax-check rule.
82431
82432 2006-02-15  Eric Blake  <ebb9@byu.net>
82433
82434         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82435         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82436         'present but cannot compile' warnings on cygwin.
82437         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82438         use ws2tcpip.h if sys/socket.h works.
82439         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82440         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82441
82442 2006-02-14  Simon Josefsson  <jas@extundo.com>
82443
82444         * modules/maintainer-makefile (Files): Rename.
82445
82446         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82447         and (the local) Makefile.cfg to maint-cfg.mk.
82448
82449         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82450         to the latter.
82451
82452         * modules/maintainer-makefile: New module.
82453
82454         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82455         severaly stripped to make it possible to build it up from scratch
82456         with reliable tests.
82457
82458         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82459         fixes to permit overriding the default actions when configure and
82460         makefile are not available.
82461
82462 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82463
82464         Sync from coreutils.
82465         * modules/lstat (Depends-on): Don't depend on xalloc.
82466         (License): Change from GPL to LGPL, since this is now simply a
82467         replacement for a libc function.
82468
82469 2006-02-14  Jim Meyering  <jim@meyering.net>
82470
82471         Sync from coreutils.
82472
82473         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82474         failure on deficient systems, and simplify gnulib lgpl dependencies.
82475         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82476         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82477
82478         * lib/xalloc-die.c: Remove unused definition of N_.
82479
82480 2006-02-14  Jim Meyering  <jim@meyering.net>
82481
82482         Sync from coreutils.
82483         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82484         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82485         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82486         double-quote uses of that variable, to accommodate the rare case in
82487         which getmntent is available in none of the libraries checked.  This
82488         happens at least on FreeBSD 5.0.
82489
82490 2006-02-13  Simon Josefsson  <jas@extundo.com>
82491
82492         * gnulib-tool (Usage): Fix --import, from
82493         karl@freefriends.org (Karl Berry).
82494
82495 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82496
82497         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82498
82499 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82500
82501         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82502         "autoupdate" on 2005-12-12.
82503
82504 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82505
82506         * modules/closeout (Depends-on): Remove atexit.
82507
82508 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82509
82510         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82511         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82512
82513 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82514
82515         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82516         __EXTENSIONS__ if this causes compilation to fail.  Problem
82517         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82518         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82519
82520 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82521
82522         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82523         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82524         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82525         All uses changed.
82526
82527 2006-01-26  Simon Josefsson  <jas@extundo.com>
82528
82529         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82530         prototype is visible on mingw32.
82531
82532         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82533         for mingw32.
82534
82535         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82536         mingw32).
82537
82538 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82539
82540         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82541         attempt to open for write; this always fails, at least on POSIX
82542         hosts.  This reinstates the 2006-01-09 change, which was
82543         inadvertently removed.
82544
82545 2006-01-26  Bruno Haible  <bruno@clisp.org>
82546
82547         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82548         Reported by Paul Eggert.
82549
82550 2006-01-26  Bruno Haible  <bruno@clisp.org>
82551             Paul Eggert  <eggert@cs.ucla.edu>
82552
82553         * lib/stdbool_.h (_Bool)
82554         [(! (defined __cplusplus || defined __BEOS__)
82555           && !defined __GNUC__
82556           && !(defined __HP_cc || defined __xlc__
82557                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82558                || defined __sgi))]:
82559         #define to signed char in these cases too; this simplifies
82560         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82561         etc., separately) and makes it more conservative.
82562
82563 2006-01-25  Simon Josefsson  <jas@extundo.com>
82564
82565         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82566         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82567         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82568
82569 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82570
82571         * lib/argp-namefrob.h: Bugfix. Remove stray #
82572
82573 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82574
82575         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82576         so that we test the test.
82577         Check for yet another HP-UX cc bug involving *bool |= bool.
82578
82579 2006-01-25  Karl Berry  <karl@gnu.org>
82580
82581         * config/srclist.txt (vasnprintf.c): sync lost.
82582
82583 2006-01-25  Jim Meyering  <jim@meyering.net>
82584
82585         Sync from the stable (b5) branch of coreutils:
82586
82587         * lib/fts.c (fts_children): Don't let close() clobber errno from
82588         failed fchdir().
82589
82590         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82591         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82592         a dangling symlink.  That can also happen at least for ELOOP.
82593         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82594         FYI, this bug predates the inclusion of fts.c in coreutils.
82595
82596         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82597         in their own block, so pre-c99 compilers don't object.
82598
82599         Avoid the double-free (first in fts_read, second in fts_close) that
82600         would occur when an `active' directory is made inaccessible (e.g.,
82601         via chmod a-x) during a traversal.
82602         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82603         before returning.  Reproduce this failure by
82604         mkdir -p a/b; cd a; chmod a-x . b
82605         Reported by Stavros Passas.
82606
82607 2006-01-25  Jim Meyering  <jim@meyering.net>
82608
82609         * lib/fileblocks.c: Remove more useless parentheses.
82610         * lib/readutmp.h: Likewise.
82611
82612 2006-01-25  Bruno Haible  <bruno@clisp.org>
82613
82614         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82615         warnings.
82616         Reported by Paul Eggert.
82617
82618 2006-01-25  Bruno Haible  <bruno@clisp.org>
82619
82620         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82621         rid of a trap command. For Solaris sh.
82622         Reported by Mark D. Baushke <mdb@gnu.org>.
82623
82624 2006-01-24  Simon Josefsson  <jas@extundo.com>
82625
82626         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82627         Bruno.
82628
82629 2006-01-24  Karl Berry  <karl@gnu.org>
82630
82631         * config/srclist.txt (argp-namefrob.h): sync lost.
82632
82633 2006-01-24  Jim Meyering  <jim@meyering.net>
82634
82635         * modules/openat (Files): Add lib/intprops.h.
82636         From Mark D. Baushke.
82637
82638 2006-01-24  Jim Meyering  <jim@meyering.net>
82639
82640         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82641         Reported by Mark D. Baushke.
82642
82643 2006-01-24  Jim Meyering  <jim@meyering.net>
82644
82645         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82646
82647 2006-01-24  Bruno Haible  <bruno@clisp.org>
82648
82649         * modules/strnlen (Maintainer): Change from glibc to all.
82650
82651 2006-01-24  Bruno Haible  <bruno@clisp.org>
82652
82653         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82654         Patch by Paul Eggert.
82655
82656 2006-01-24  Bruno Haible  <bruno@clisp.org>
82657
82658         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82659         already has it.
82660         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82661         2005-11-26.
82662
82663         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82664         'signed char' to avoid problems with the built-in _Bool type.
82665         Reported by Paul Eggert on 2005-11-26.
82666
82667 2006-01-24  Bruno Haible  <bruno@clisp.org>
82668
82669         * gnulib-tool (func_import): Avoid constructing complicated sed
82670         expressions inside backquote.
82671         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82672
82673 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82674
82675         These changes imported from libc.
82676         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82677         test and two separate function calls.
82678         * lib/strndup.c (__strndup): Add libc_hidden_def.
82679
82680 2006-01-23  Simon Josefsson  <jas@extundo.com>
82681
82682         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82683         Remove the test_*_SOURCES variable: automake infers it by default.
82684         * modules/tls-tests: Likewise.
82685
82686 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82687
82688         Work around porting bugs reported by Dieter in
82689         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82690         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82691         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82692         Include "getopt.h" first, to check interface.
82693         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82694         !HAVE_DECL_GETENV.
82695         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82696         (__strndup): Revert to K&R-style function dfns, the glibc style.
82697         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82698         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82699         Include strnlen.h first, to get prototype properly.
82700         (strnlen): Renamed from __strnlen.
82701         Remove weak alias.
82702
82703 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82704
82705         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82706
82707 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82708
82709         * config/srclist.txt: Adjust to reflect glibc reorganization.
82710         This affects only comments.
82711
82712 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82713
82714          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82715          Reported by Bruce Korb <bkorb@gnu.org>.
82716
82717 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82718
82719         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82720         to pacify gcc -Wswitch-default.
82721
82722 2006-01-22  Bruno Haible  <bruno@clisp.org>
82723
82724         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82725         temporary buffer for sprintf, take into account the precision also
82726         for 'd', 'i', 'u', 'o', 'x', 'X'.
82727
82728 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82729
82730         * modules/argp-tests: New module
82731         * tests/test-argp.c: New file
82732         * tests/test-argp-2.sh: New file
82733
82734 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82735
82736         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82737         (__argp_base_name): Removed
82738         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82739         typo.
82740         (__argp_base_name): Provide macro definition or extern declaration
82741         depending on the configuration
82742
82743 2006-01-20  Simon Josefsson  <jas@extundo.com>
82744
82745         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82746
82747 2006-01-20  Simon Josefsson  <jas@extundo.com>
82748
82749         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82750
82751 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82752
82753         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82754         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82755         Suggested by Bruno Haible.
82756
82757 2006-01-20  Karl Berry  <karl@gnu.org>
82758
82759         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82760         until changes propagate, I guess.
82761
82762 2006-01-19  Simon Josefsson  <jas@extundo.com>
82763
82764         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82765
82766 2006-01-19  Simon Josefsson  <jas@extundo.com>
82767
82768         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82769
82770 2006-01-19  Simon Josefsson  <jas@extundo.com>
82771
82772         * gnulib-tool: Set check_PROGRAMS.
82773
82774         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82775         modules/des-tests, modules/gc-arcfour-tests,
82776         modules/gc-arctwo-tests, modules/gc-des-tests,
82777         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82778         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82779         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82780         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82781         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82782         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82783         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82784         test_*_SOURCES.
82785
82786 2006-01-18  Simon Josefsson  <jas@extundo.com>
82787
82788         * modules/socklen (Depends-on): Depend on sys_socket.
82789
82790 2006-01-18  Simon Josefsson  <jas@extundo.com>
82791
82792         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82793         modules/des-tests, modules/gc-arcfour-tests,
82794         modules/gc-arctwo-tests, modules/gc-des-tests,
82795         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82796         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82797         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82798         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82799         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82800         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82801         $(EXEEXT) to automake TESTS variable, for mingw32.
82802
82803 2006-01-17  Simon Josefsson  <jas@extundo.com>
82804
82805         * modules/socklen (Include): Need sys/socket.h.
82806
82807 2006-01-17  Bruno Haible  <bruno@clisp.org>
82808
82809         * modules/ssize_t (Include): Add <sys/types.h>.
82810
82811 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82812
82813         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82814         it's not portable and it doesn't work with cross-compiles.
82815         Problem reported by Bruno Haible.  Fix missing-$ typo in
82816         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82817         -zignore from being used with Sun's C compiler.
82818
82819 2006-01-12  Simon Josefsson  <jas@extundo.com>
82820
82821         * lib/base64.c: Fix warning, reported by Bruno Haible
82822         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82823
82824 2006-01-12  Bruno Haible  <bruno@clisp.org>
82825
82826         * modules/ldd: New file.
82827         * build-aux/ldd.sh.in: New file.
82828         * MODULES.html.sh (Support for building libraries and executables): Add
82829         ldd.
82830
82831 2006-01-12  Bruno Haible  <bruno@clisp.org>
82832
82833         * m4/ldd.m4: New file.
82834
82835 2006-01-12  Bruno Haible  <bruno@clisp.org>
82836
82837         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82838         endless loop while replacing $auxdir with build-aux.
82839
82840 2006-01-11  Simon Josefsson  <jas@extundo.com>
82841
82842         * lib/stdint_.h (SIZE_MAX): Add missing (.
82843
82844 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82845
82846         Sync from coreutils.
82847         * lib/md5.c: Fix commentary typos.
82848         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82849         * lib/md5.h (__attribute__): Remove; unused.
82850         * lib/sha1.c: Fix commentary to match md5 better.
82851         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82852         so that we don't need to worry about alignment.  All uses changed.
82853         This merges the 2005-10-28 md5 change into sha1.
82854
82855 2006-01-11  Jim Meyering  <jim@meyering.net>
82856
82857         Sync from coreutils.
82858         * lib/md5.c (OP): Fix spacing.
82859
82860 2006-01-11  Bruno Haible  <bruno@clisp.org>
82861
82862         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82863         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82864         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82865
82866 2006-01-11  Bruno Haible  <bruno@clisp.org>
82867
82868         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82869         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82870         the "early" section as well.
82871
82872 2006-01-11  Bruno Haible  <bruno@clisp.org>
82873
82874         Avoid "ar: no archive members specified" error on MacOS X.
82875         * gnulib-tool (func_modules_add_dummy): New function.
82876         (func_import, func_create_testdir): Invoke it.
82877
82878 2006-01-11  Bruno Haible  <bruno@clisp.org>
82879
82880         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82881         with $auxdir in AC_CONFIG_FILES statements.
82882
82883 2006-01-11  Bruno Haible  <bruno@clisp.org>
82884
82885         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82886         Initialize also noinst_HEADERS to empty.
82887
82888 2006-01-11  Bruno Haible  <bruno@clisp.org>
82889
82890         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82891         variables.
82892         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82893         autoreconf.
82894
82895 2006-01-11  Bruno Haible  <bruno@clisp.org>
82896
82897         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82898         overridable by the user.
82899         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82900
82901 2006-01-10  Simon Josefsson  <jas@extundo.com>
82902
82903         * modules/sys_socket: New file.
82904
82905 2006-01-10  Simon Josefsson  <jas@extundo.com>
82906
82907         * m4/sys_socket_h.m4: New file.
82908
82909 2006-01-10  Simon Josefsson  <jas@extundo.com>
82910
82911         * lib/socket_.h: New file.
82912
82913 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82914
82915         * modules/readutmp (Maintainer): Add myself.
82916
82917 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82918
82919         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82920         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82921         People who are still concerned with buggy memcmp implementations
82922         can invoke gl_FUNC_MEMCMP themselves.
82923
82924 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82925
82926         * lib/regex_internal.h (BITSET_WORD_BITS):
82927         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82928         preprocessor mishandles large unsigned values as if they were signed.
82929         Problem reported by Claudio Fontana in
82930         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82931
82932 2006-01-10  Jim Meyering  <jim@meyering.net>
82933
82934         Avoid the double-free (first in fts_read, second in fts_close) that
82935         would occur when an `active' directory is made inaccessible (e.g.,
82936         via chmod a-x) during a traversal.
82937         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82938         before returning.  Reproduce this failure by
82939         mkdir -p a/b; cd a; chmod a-x . b
82940         Reported by Stavros Passas.
82941
82942         Sync from coreutils.
82943         * lib/sha1.c: Tweak grammar in a comment.
82944
82945 2006-01-10  Jim Meyering  <jim@meyering.net>
82946
82947         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82948         Patch by Joerg Sonnenberger.
82949
82950 2006-01-10  Bruno Haible  <bruno@clisp.org>
82951
82952         * modules/readutmp: Depend on module free.
82953         * modules/strtok_r: Depend on module restrict.
82954
82955 2006-01-10  Bruno Haible  <bruno@clisp.org>
82956
82957         * modules/gettext (configure.ac): Add an invocation of
82958         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82959
82960 2006-01-10  Bruno Haible  <bruno@clisp.org>
82961
82962         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82963         Reported by Werner Lemberg <wl@gnu.org>.
82964
82965 2006-01-10  Bruno Haible  <bruno@clisp.org>
82966
82967         * lib/localcharset.c: Update from GNU gettext.
82968
82969 2006-01-10  Bruno Haible  <bruno@clisp.org>
82970
82971         * lib/argp.h (__const): Remove macro. Use const instead.
82972         * lib/argp-fmtstream.h (__const): Likewise.
82973         * lib/glob_.h (__const): Remove macro.
82974         * lib/glob-libc.h: Use const instead of __const.
82975
82976 2006-01-10  Bruno Haible  <bruno@clisp.org>
82977
82978         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82979         variable.
82980         Needed to avoid an automake error regarding the 'gettext' module.
82981
82982 2006-01-09  Simon Josefsson  <jas@extundo.com>
82983
82984         * modules/inet_ntop (Depends-on): Add restrict.
82985
82986 2006-01-09  Simon Josefsson  <jas@extundo.com>
82987
82988         * modules/gc-rijndael-tests (License): Put under LGPL.
82989
82990         * modules/gc-des-tests (License): Likewise.
82991
82992         * modules/gc-arcfour-tests (License): Likewise.
82993
82994         * modules/gc-arctwo-tests (License): Likewise.
82995
82996         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82997
82998         * modules/gc-hmac-sha1-tests (Files): Likewise.
82999
83000         * modules/gc-hmac-md5-tests (License): Likewise.
83001
83002         * modules/gc-sha1-tests (License): Likewise.
83003
83004         * modules/gc-md5-tests (License): Likewise.
83005
83006         * modules/gc-md4-tests (License): Likewise.
83007
83008         * modules/gc-md2-tests (License): Likewise.
83009
83010         * modules/gc-tests (License): Likewise.
83011
83012         * modules/des-tests (License): Likewise.
83013
83014         * modules/md4-tests (License): Likewise.
83015
83016         * modules/md2-tests (License): Likewise.
83017
83018 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83019
83020         Sync from coreutils:
83021
83022         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83023         * modules/lib-ignore: New file.
83024         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83025         chdir-safer.m4, lchmod.m4.
83026         * modules/openat: Add mkdirat.c, openat-priv.h.
83027
83028 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83029
83030         Sync from coreutils.
83031         * m4/lib-ignore.m4: New file.
83032         * m4/lchmod.m4: New file.
83033
83034 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83035
83036         Sync from coreutils.
83037         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83038         for write access: POSIX says that must fail.
83039         * lib/fts.c (diropen): Likewise.
83040         * lib/save-cwd.c (save_cwd): Likewise.
83041         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83042         well, for minor improvements on hosts that lack O_DIRECTORY.
83043         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83044         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83045         Fall back on chown if open failed with EACCES.
83046
83047         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83048         Report an error at compile-time if only a 1-second nominal clock
83049         resolution is found.
83050
83051         * lib/lchmod.h: New file.
83052         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83053         (make_dir_parents): Use lchown rather than chown, and
83054         lchmod rather than chmod.
83055
83056         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83057         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83058         "proc" reported by n0dalus.
83059
83060         * lib/mountlist.c: Include <limits.h>.
83061         (dev_from_mount_options)
83062         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83063         New function.  It no longer assumes "dev=" has the System V meaning
83064         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83065         (read_file_system_list)
83066         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83067         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83068         dev= in that case.
83069
83070         * lib/posixtm.h (PDS_PRE_2000): New macro.
83071         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83072         allow_century.  All usages changed.  Reject dates outside the range
83073         1969-1999 if PDS_PRE_2000 is used.
83074
83075 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83076
83077         Sync from coreutils.
83078         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83079         (Time of day items): Mention the possibility of leap seconds.
83080         Problem reported by Dr. David Alan Gilbert.
83081
83082 2006-01-09  Jim Meyering  <jim@meyering.net>
83083
83084         Sync from coreutils.
83085
83086         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83087
83088         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83089
83090         * lib/modechange.c (mode_compile): Reject an invalid mode string
83091         that starts with an octal digit.  From Andreas Gruenbacher.
83092
83093         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83094         and dup to open_safer and dup_safer, respectively.
83095         (openat_permissive): Fix typo in comment.
83096
83097         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83098         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83099         (_): Remove; no longer needed.
83100         (openat): Renamed from rpl_openat; no need for rpl_openat
83101         since openat.h renames openat for us.
83102         Replace most of the body with a call to openat_permissive,
83103         to avoid duplicate code.
83104         Port to (probably hypothetical) environments were mode_t is
83105         wider than int.
83106         (openat_permissive): Require mode arg, so that we can check
83107         types better.  Put it just after flags.  Change cwd failure
83108         indicator from pointer-to-bool to pointer-to-errno-value.
83109         All callers changed.
83110         Invoke openat_save_fail and/or openat_restore_fail if
83111         cwd_errno is null, so that openat can call us.
83112         (openat_permissive, fdopendir, fstatat, unlinkat):
83113         Simplify errno handling to avoid some duplicate code,
83114         as it's OK to set errno on success.
83115         * lib/openat.h: Revamp code so that function macros depend on
83116         __OPENAT_PREFIX only, not also on AT_FDCWD.
83117         (openat_ro): Remove.  Caller changed to use openat_permissive.
83118         (openat_permissive): Now a macro, if not a function.
83119         (openat_restore_fail, openat_save_fail): Now always functions,
83120         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83121
83122         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83123         and openat.c.
83124         * lib/mkdirat.c: Include openat-priv.h.
83125         Remove definitions of macros defined therein.
83126         * lib/openat.c: Likewise.
83127
83128         * lib/mkdirat.c (mkdirat): New file and function.
83129         * lib/openat.h (mkdirat): Declare.
83130
83131         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83132
83133         * lib/openat.h (openat_permissive): Declare.
83134         (openat_ro): Define.
83135
83136         * lib/openat.c (EXPECTED_ERRNO): New macro.
83137         (openat_permissive): New function -- used in remove.c rewrite.
83138         (all functions): Set errno just before returning, only if there
83139         was an actual failure.
83140         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83141
83142         Emulate openat-family functions using Linux's procfs, if possible.
83143         Idea and some code based on Ulrich Drepper's glibc changes.
83144
83145         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83146         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83147         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83148         before falling back on save_cwd and restore_cwd.
83149         (fdopendir, fstatat, unlinkat): Likewise.
83150
83151         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83152         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83153
83154         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83155         as second argument to va_arg.  Otherwise, some versions of gcc
83156         warn that `if this code is reached, the program will abort'.
83157
83158 2006-01-09  Jim Meyering  <jim@meyering.net>
83159
83160         Sync from coreutils.
83161         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83162         Require openat-priv.h.
83163
83164 2006-01-09  Bruno Haible  <bruno@clisp.org>
83165
83166         * modules/strnlen (Include): Use strnlen.h.
83167
83168 2006-01-09  Bruno Haible  <bruno@clisp.org>
83169
83170         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83171
83172 2006-01-09  Bruno Haible  <bruno@clisp.org>
83173
83174         * lib/sysexit_.h (EX_OK): New macro.
83175         Suggested by Martin Lambers <marlam@marlam.de>.
83176
83177 2006-01-09  Bruno Haible  <bruno@clisp.org>
83178
83179         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83180         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83181
83182 2006-01-09  Bruno Haible  <bruno@clisp.org>
83183
83184         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83185         numbers.
83186
83187 2006-01-09  Bruno Haible  <bruno@clisp.org>
83188
83189         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83190         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83191         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83192         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83193
83194 2006-01-09  Bruno Haible  <bruno@clisp.org>
83195
83196         * build-aux/javacomp.sh.in: New file, moved from lib/.
83197         * modules/javacomp-script (Files): Update.
83198         (configure.ac): Add AC_CONFIG_FILES invocation.
83199         (EXTRA_DIST): Remove variable.
83200
83201         * build-aux/javaexec.sh.in: New file, moved from lib/.
83202         * modules/javaexec (Files): Update.
83203         (configure.ac): Add AC_CONFIG_FILES invocation.
83204         (EXTRA_DIST): Remove javaexec.sh.in.
83205
83206         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83207         * modules/csharpcomp-script (Files): Update.
83208         (configure.ac): Add AC_CONFIG_FILES invocation.
83209         (EXTRA_DIST): Remove variable.
83210
83211         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83212         * modules/csharpexec (Files): Update.
83213         (configure.ac): Add AC_CONFIG_FILES invocation.
83214         (EXTRA_DIST): Remove csharpexec.sh.in.
83215
83216 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83217
83218         Sync from coreutils.
83219
83220         Add POSIX ACL support
83221         * lib/acl.h (copy_acl, set_acl): Add declarations.
83222         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83223         systems other than Linux.
83224         (chmod_or_fchmod): New function: use fchmod when possible,
83225         and chmod otherwise.
83226         (file_has_acl): Add a POSIX ACL implementation, with a
83227         Linux-specific subcase.
83228         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83229         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83230         acls are unsupported.
83231         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83232         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83233         are unsupported.
83234
83235 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83236
83237         Sync from coreutils.
83238         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83239
83240 2006-01-07  Bruno Haible  <bruno@clisp.org>
83241
83242         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83243         gl_EARLY.
83244
83245 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83246
83247         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83248         Problem reported for Mingw by Mark Junker.
83249
83250 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83251
83252         * README: Gnulib normally doesn't generate a tarball.
83253
83254 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83255
83256         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83257         long int, not int, for nanosecond counts, so that people who are
83258         used to POSIX struct timespec won't be surprised.  Reported by Jim
83259         Meyering.
83260
83261 2005-12-28  Bruno Haible  <bruno@clisp.org>
83262
83263         * build-aux/config.rpath: Update from GNU gettext.
83264
83265 2005-12-16  Jim Meyering  <jim@meyering.net>
83266
83267         * modules/fprintftime: New module.
83268         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83269
83270 2005-12-16  Jim Meyering  <jim@meyering.net>
83271
83272         * m4/fprintftime.m4: New file.
83273
83274 2005-12-16  Jim Meyering  <jim@meyering.net>
83275
83276         * lib/fprintftime.c, lib/fprintftime.h: New files.
83277
83278 2005-12-15  Simon Josefsson  <jas@extundo.com>
83279
83280         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83281         new m4/socklen.m4.
83282
83283 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83284
83285         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83286         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83287
83288 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83289
83290         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83291         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83292         struct uparams is valid. Fall back to the default values if it is
83293         not.
83294
83295 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83296
83297         * modules/argp (Files): Add argp-pin.c
83298         (Depends-on): dirname
83299         (lib_SOURCES): Add argp-pin.c
83300
83301 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83302
83303         * m4/argp.m4:  Check if program_invocation_name and
83304         program_invocation_short_name are declared and define appropriate
83305         macros if they are not.
83306
83307 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83308
83309         * lib/argp-help.c (__argp_base_name): New function
83310         (__argp_short_program_name): Rewrite using __argp_base_name
83311         * lib/argp-namefrob.h: Define program_invocation_name and
83312         program_invocation_short_name if requested
83313         (__argp_base_name): Add prototype
83314         * lib/argp-parse.c (argp_def): Use gettext wrappers
83315         (argp_default_parser): Use __argp_base_name
83316         * lib/argp-pin.c: New file. Defines program_invocation_name and
83317         program_invocation_short_name on systems that lack them.
83318
83319 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83320
83321         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83322         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83323         porting problem reported by Georg Schwarz in
83324         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83325
83326 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83327
83328         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83329         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83330         porting problem reported by Georg Schwarz in
83331         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83332
83333 2005-12-05  Bruno Haible  <bruno@clisp.org>
83334
83335         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83336         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83337         Reported by Mark Junker <mjscod@gmx.de>.
83338
83339 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83340
83341         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83342         Use implementation from Albert Chin, with some
83343         comments/corrections by Stepan Kasal and myself.
83344
83345 2005-12-02  Bruno Haible  <bruno@clisp.org>
83346
83347         * gnulib-tool (func_import): Accept GPLed build tool modules when
83348         --lgpl is given.
83349         * modules/csharpcomp-script: New file.
83350         * modules/csharpcomp: Depend on it.
83351         * modules/javacomp-script: New file.
83352         * modules/javacomp: Depend on it.
83353         Suggested by Simon Josefsson.
83354
83355 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83356
83357         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83358         statement, to work around an HP-UX 10.20 compiler bug reported by
83359         Peter O'Gorman.
83360
83361 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83362
83363         * modules/savedir (Depends-on): Add openat.
83364
83365 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83366
83367         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83368         (uintmax_t) [defined uintmax_t]: Do not declare.
83369         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83370         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83371         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83372         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83373         sake of portability to weird hosts that C allows (though we don't
83374         know of any practical examples).
83375
83376         * lib/savedir.h (fdsavedir): New decl.
83377         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83378         contains most of the former guts of savedir.
83379         (savedir): Use savedirstream.
83380         Include "openat.h".
83381
83382 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83383
83384         * modules/obstack (Files): Add m4/ulonglong.m4.
83385         Problem reported by Davide Angelocola.
83386
83387 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83388
83389         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83390         coreutils no longer futzes with rounding modes.
83391
83392 2005-11-14  Jim Meyering  <jim@meyering.net>
83393
83394         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83395         replacement of mkstemp.
83396
83397 2005-11-10  Simon Josefsson  <jas@extundo.com>
83398
83399         * lib/readline.c: Remove EOL.
83400
83401 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83402
83403         * modules/gethrxtime (Depends-on): Add gettime.
83404
83405 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83406
83407         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83408         or gettimeofday; no longer needed.
83409
83410 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83411
83412         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83413         time business.
83414         (gethrxtime) [! (HAVE_NANOUPTIME
83415         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83416         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83417         our own approximation.
83418
83419 2005-11-08  Eric Blake  <ebb9@byu.net>
83420
83421         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83422
83423 2005-11-08  Eric Blake  <ebb9@byu.net>
83424
83425         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83426
83427 2005-11-04  Bruno Haible  <bruno@clisp.org>
83428
83429         * gnulib-tool: Implement --update mode.
83430
83431 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83432
83433         Fix porting problem reported by Theodoros V. Kalamatianos.
83434         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83435         Don't assume that futimes failing means we must fail.
83436
83437 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83438
83439         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83440         variables to suggest the intended function of the PATH_MAX check.
83441
83442 2005-10-30  Kean Johnston  <jkj@sco.com>
83443
83444         Trivial changes to support SCO systems.
83445         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83446         as PATH_MAX.
83447         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83448         where __ptr is null when no I/O is pending.
83449
83450 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83451
83452         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83453         leave errno alone.  Problem reported by Dmitry V. Levin.
83454
83455 2005-10-28  Simon Josefsson  <jas@extundo.com>
83456
83457         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83458         Test more.
83459
83460         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83461
83462         * modules/md2, modules/md2-tests: New files.
83463
83464 2005-10-28  Simon Josefsson  <jas@extundo.com>
83465
83466         * m4/inet_ntop.m4: More tests.
83467
83468         * m4/gc-md2.m4, md2.m4: New file.
83469
83470 2005-10-28  Simon Josefsson  <jas@extundo.com>
83471
83472         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83473         "restrict" keywords, as per POSIX.  Protect the function
83474         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83475         Don't use K&R prototypes.  Check the sprintf return values.
83476         Re-define EAFNOSUPPORT if not present.  Indent.
83477
83478         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83479         suggested by Bruno Haible <bruno@clisp.org>.
83480
83481         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83482
83483         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83484
83485         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83486         libgcrypt).
83487
83488         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83489
83490         * lib/md2.h, lib/md2.c: New files.
83491
83492 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83493
83494         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83495         errno alone.  Problem reported by Frederic Jolliton.
83496
83497 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83498
83499         * modules/verify (License): Change from GPL to LGPL.  This is a
83500         tiny module and there are apparently near-equivalents that are
83501         under the BSD license.
83502
83503 2005-10-24  Simon Josefsson  <jas@extundo.com>
83504
83505         * modules/sha1: Relicense to LGPL.
83506
83507 2005-10-24  Simon Josefsson  <jas@extundo.com>
83508
83509         * lib/md4.h: Shrink buffer size, now that we changed the type.
83510
83511 2005-10-23  Simon Josefsson  <jas@extundo.com>
83512
83513         * gnulib-tool (func_import): Fix --tests-base.
83514
83515 2005-10-22  Simon Josefsson  <jas@extundo.com>
83516
83517         * modules/arcfour (Depends-on): Need stdint.
83518
83519 2005-10-22  Simon Josefsson  <jas@extundo.com>
83520
83521         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83522         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83523
83524 2005-10-22  Simon Josefsson  <jas@extundo.com>
83525
83526         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83527         suggested by Bruno Haible <bruno@clisp.org>.
83528
83529 2005-10-22  Simon Josefsson  <jas@extundo.com>
83530
83531         * lib/crc.h: Include stddef.h, for size_t.
83532
83533 2005-10-22  Simon Josefsson  <jas@extundo.com>
83534
83535         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83536         arcfour_context struct (simplify test vector testing in GNU
83537         Shishi).
83538
83539 2005-10-21  Simon Josefsson  <jas@extundo.com>
83540
83541         * modules/des, modules/des-tests: New files.
83542
83543         * modules/gc-des, modules/gc-des-tests: New files.
83544
83545         * tests/test-des.c, tests/test-gc-des.c: New file.
83546
83547 2005-10-21  Simon Josefsson  <jas@extundo.com>
83548
83549         * modules/arctwo, modules/arctwo-tests: New files.
83550
83551         * tests/test-arctwo.c: New file.
83552
83553         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83554
83555         * tests/test-gc-arctwo.c: New file.
83556
83557 2005-10-21  Simon Josefsson  <jas@extundo.com>
83558
83559         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83560         Bruno Haible <bruno@clisp.org>.
83561
83562         * m4/gc-des.m4: New file.
83563
83564 2005-10-21  Simon Josefsson  <jas@extundo.com>
83565
83566         * m4/arctwo.m4: New file.
83567
83568         * m4/gc-arctwo.m4: New file.
83569
83570 2005-10-21  Simon Josefsson  <jas@extundo.com>
83571
83572         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83573         block.
83574
83575 2005-10-21  Simon Josefsson  <jas@extundo.com>
83576
83577         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83578         <bruno@clisp.org>.
83579
83580         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83581
83582         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83583         Bruno Haible <bruno@clisp.org>.
83584
83585         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83586         <bruno@clisp.org>.
83587
83588 2005-10-21  Simon Josefsson  <jas@extundo.com>
83589
83590         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83591
83592 2005-10-21  Simon Josefsson  <jas@extundo.com>
83593
83594         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83595
83596 2005-10-21  Simon Josefsson  <jas@extundo.com>
83597
83598         * lib/des.h, lib/des.c: New files.
83599
83600         * lib/gc-gnulib.c: Support DES.c
83601
83602 2005-10-21  Simon Josefsson  <jas@extundo.com>
83603
83604         * lib/arctwo.h, lib/arctwo.c: New files.
83605
83606         * lib/gc-gnulib.c: Support ARCTWO.
83607
83608 2005-10-21  Simon Josefsson  <jas@extundo.com>
83609
83610         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83611         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83612
83613 2005-10-21  Simon Josefsson  <jas@extundo.com>
83614
83615         * gnulib-tool (func_import, func_create_testdir): Define automake
83616         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83617         Makefile.am snippet),
83618         suggested by Bruno Haible <bruno@clisp.org>.
83619
83620         * modules/gc (Makefile.am): Use it.
83621
83622 2005-10-21  Bruno Haible  <bruno@clisp.org>
83623
83624         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83625         patch.
83626
83627 2005-10-19  Simon Josefsson  <jas@extundo.com>
83628
83629         * tests/test-gc-rijndael.c: New file.
83630
83631         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83632
83633 2005-10-19  Simon Josefsson  <jas@extundo.com>
83634
83635         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83636         interface too.
83637
83638 2005-10-19  Simon Josefsson  <jas@extundo.com>
83639
83640         * tests/test-gc-arcfour.c: New file.
83641
83642         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83643
83644 2005-10-19  Simon Josefsson  <jas@extundo.com>
83645
83646         * modules/gc-md4, modules/gc-md4-tests: New file.
83647
83648         * tests/test-gc-md4.c: New file.
83649
83650 2005-10-19  Simon Josefsson  <jas@extundo.com>
83651
83652         * m4/gc-md4.m4: New file.
83653
83654 2005-10-19  Simon Josefsson  <jas@extundo.com>
83655
83656         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83657         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83658         <kasal@ucw.cz>.
83659
83660 2005-10-19  Simon Josefsson  <jas@extundo.com>
83661
83662         * m4/gc-arcfour.m4: New file.
83663
83664         * m4/gc-rijndael.m4: New file.
83665
83666 2005-10-19  Simon Josefsson  <jas@extundo.com>
83667
83668         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83669
83670 2005-10-19  Simon Josefsson  <jas@extundo.com>
83671
83672         * lib/gc-gnulib.c: Support ARCFOUR.
83673
83674 2005-10-19  Simon Josefsson  <jas@extundo.com>
83675
83676         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83677         support.
83678
83679         * lib/gc.h: Add ECB enum type.
83680
83681         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83682
83683 2005-10-18  Simon Josefsson  <jas@extundo.com>
83684
83685         * tests/test-md5.c: New file.
83686
83687         * modules/md5-tests: New file.
83688
83689 2005-10-18  Simon Josefsson  <jas@extundo.com>
83690
83691         * tests/test-md4.c: New file.
83692
83693         * modules/md4, modules/md4-tests: New files.
83694
83695 2005-10-18  Simon Josefsson  <jas@extundo.com>
83696
83697         * m4/md4.m4: New file.
83698
83699 2005-10-18  Simon Josefsson  <jas@extundo.com>
83700
83701         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83702
83703 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83704
83705         * gnulib-tool (func_create_testdir): Omit the second check whether
83706         BUILT_SOURCES in nonempty.
83707
83708 2005-10-17  Simon Josefsson  <jas@extundo.com>
83709
83710         * tests/test-rijndael.c: New file.
83711
83712 2005-10-17  Simon Josefsson  <jas@extundo.com>
83713
83714         * modules/sha1: Depend on stdint instead of md5.
83715
83716         * modules/md5: Depend on stdint, remove uint32_t.
83717
83718 2005-10-17  Simon Josefsson  <jas@extundo.com>
83719
83720         * modules/gc-sha1-tests: New file.
83721
83722         * tests/test-gc-sha1.c: New file.
83723
83724 2005-10-17  Simon Josefsson  <jas@extundo.com>
83725
83726         * m4/md5.m4: Remove call to uint32_t.m4.
83727
83728 2005-10-17  Simon Josefsson  <jas@extundo.com>
83729
83730         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83731
83732         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83733         md5.h.
83734
83735         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83736
83737         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83738
83739 2005-10-17  Simon Josefsson  <jas@extundo.com>
83740
83741         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83742
83743 2005-10-17  Simon Josefsson  <jas@extundo.com>
83744
83745         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83746
83747 2005-10-17  Simon Josefsson  <jas@extundo.com>
83748
83749         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83750
83751         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83752
83753 2005-10-17  Bruno Haible  <bruno@clisp.org>
83754
83755         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83756         that it can also be used in a test.
83757
83758 2005-10-16  Bruno Haible  <bruno@clisp.org>
83759
83760         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83761         TESTS_ENVIRONMENT, so that individual tests can augment it.
83762
83763         * gnulib-tool (func_create_testdir): Use an intermediate target for
83764         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83765         macros, like $(ALLOCA_H), which cannot be passed through the command
83766         line.
83767
83768 2005-10-15  Simon Josefsson  <jas@extundo.com>
83769
83770         * modules/rijndael-tests: New file.
83771
83772         * modules/rijndael: New file.
83773
83774 2005-10-15  Simon Josefsson  <jas@extundo.com>
83775
83776         * m4/rijndael.m4: New file.
83777
83778 2005-10-15  Simon Josefsson  <jas@extundo.com>
83779
83780         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83781
83782         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83783
83784 2005-10-14  Simon Josefsson  <jas@extundo.com>
83785
83786         * tests/test-arcfour.c: New file.
83787
83788         * modules/arcfour, modules/arcfour-tests: New files.
83789
83790 2005-10-14  Simon Josefsson  <jas@extundo.com>
83791
83792         * m4/arcfour.m4: New file.
83793
83794 2005-10-14  Simon Josefsson  <jas@extundo.com>
83795
83796         * lib/arcfour.h, lib/arcfour.c: New files.
83797
83798 2005-10-14  Roland McGrath  <roland@redhat.com>
83799
83800         Import from libc.  [BZ #1331]
83801         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83802         macro argument.
83803         Reported by Matej Vela <vela@debian.org>.
83804
83805 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83806
83807         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83808         include <wchar.h>; no longer needed.
83809
83810 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83811
83812         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83813
83814 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83815         and  Ulrich Drepper  <drepper@redhat.com>
83816
83817         Import from libc.
83818         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83819         instead of inline stream orientation test and two separate
83820         function calls.  Pay no attention to USE_IN_LIBIO.
83821
83822 2005-10-13  Simon Josefsson  <jas@extundo.com>
83823
83824         * modules/gc-hmac-md5-tests: New file.
83825
83826         * tests/test-gc-hmac-sha1.c: New file.
83827
83828         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83829
83830         * modules/gc-hmac-md5-tests: New file.
83831
83832         * tests/test-gc-md5.c: New file.
83833
83834         * modules/gc-md5-tests: New file.
83835
83836 2005-10-13  Simon Josefsson  <jas@extundo.com>
83837
83838         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83839         Move memory allocation outside of loop.
83840
83841 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83842
83843         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83844         intermediate directory is in a read-only file system.  Problem
83845         reported by Eric Blake.
83846
83847 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83848
83849         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83850
83851 2005-10-12  Simon Josefsson  <jas@extundo.com>
83852
83853         * tests/test-hmac-sha1.c: New file.
83854
83855         * modules/hmac-sha1-tests: New file.
83856
83857         * modules/hmac-sha1: New file.
83858
83859 2005-10-12  Simon Josefsson  <jas@extundo.com>
83860
83861         * modules/gc-sha1: New file.
83862
83863 2005-10-12  Simon Josefsson  <jas@extundo.com>
83864
83865         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83866
83867         * tests/test-gc-pbkdf2-sha1.c: New file.
83868
83869 2005-10-12  Simon Josefsson  <jas@extundo.com>
83870
83871         * modules/gc-md5, modules/gc-hmac-md5: New files.
83872
83873         * modules/gc (Files): Remove md5, memxor and hmac files.
83874
83875 2005-10-12  Simon Josefsson  <jas@extundo.com>
83876
83877         * m4/gc-pbkdf2-sha1.m4: New file.
83878
83879         * m4/gc-hmac-sha1.m4: New file.
83880
83881         * m4/gc-sha1: New file.
83882
83883         * m4/hmac-sha1.m4: New file.
83884
83885 2005-10-12  Simon Josefsson  <jas@extundo.com>
83886
83887         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83888
83889         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83890
83891 2005-10-12  Simon Josefsson  <jas@extundo.com>
83892
83893         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83894         suggested by Bruno Haible <bruno@clisp.org>.
83895
83896 2005-10-12  Simon Josefsson  <jas@extundo.com>
83897
83898         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83899
83900 2005-10-12  Simon Josefsson  <jas@extundo.com>
83901
83902         * lib/gc-pbkdf2-sha1.c: New file.
83903
83904         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83905
83906 2005-10-12  Simon Josefsson  <jas@extundo.com>
83907
83908         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83909
83910         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83911
83912 2005-10-12  Simon Josefsson  <jas@extundo.com>
83913
83914         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83915         GC_USE_HMAC_MD5, respectively.
83916
83917         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83918         (gc_md5): Fix typo.
83919
83920         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83921
83922         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83923
83924         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83925
83926 2005-10-12  Bruno Haible  <bruno@clisp.org>
83927
83928         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83929         Reported by Stepan Kasal <kasal@ucw.cz>.
83930
83931 2005-10-11  Simon Josefsson  <jas@extundo.com>
83932
83933         * tests/test-crc.c: New file.
83934
83935         * modules/crc, modules/crc-tests: New files.
83936
83937 2005-10-11  Simon Josefsson  <jas@extundo.com>
83938
83939         * m4/crc.m4: New file.
83940
83941 2005-10-11  Simon Josefsson  <jas@extundo.com>
83942
83943         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83944
83945         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83946
83947         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83948
83949 2005-10-11  Simon Josefsson  <jas@extundo.com>
83950
83951         * lib/crc.h, lib/crc.c: New files.
83952
83953         * lib/gc.h (gc_hash_buffer): Add doc.
83954
83955 2005-10-11  Bruno Haible  <bruno@clisp.org>
83956
83957         * modules/c-strcasestr: New file.
83958         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83959
83960 2005-10-11  Bruno Haible  <bruno@clisp.org>
83961
83962         * modules/c-strcase: New file.
83963         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83964
83965 2005-10-11  Bruno Haible  <bruno@clisp.org>
83966
83967         * lib/strcasecmp.c: Include limits.h.
83968         (strcasecmp): Avoid integer overflow on exotic platforms.
83969         * lib/strncasecmp.c: Include limits.h.
83970         (strncasecmp): Avoid integer overflow on exotic platforms.
83971         Reported by Paul Eggert.
83972
83973 2005-10-11  Bruno Haible  <bruno@clisp.org>
83974
83975         * lib/c-strcasestr.h: New file, from GNU gettext.
83976         * lib/c-strcasestr.c: New file, from GNU gettext.
83977
83978 2005-10-11  Bruno Haible  <bruno@clisp.org>
83979
83980         * lib/c-strcase.h: New file, from GNU gettext.
83981         * lib/c-strcasecmp.c: New file, from GNU gettext.
83982         * lib/c-strncasecmp.c: New file, from GNU gettext.
83983
83984 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83985
83986         * modules/mempcpy (License): GPL -> LGPL.
83987         * modules/strchrnul (License): Likewise.
83988         * modules/sysexits (License): Likewise.
83989
83990 2005-10-08  Simon Josefsson  <jas@extundo.com>
83991
83992         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83993
83994 2005-10-07  Simon Josefsson  <jas@extundo.com>
83995
83996         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83997
83998 2005-10-06  Simon Josefsson  <jas@extundo.com>
83999
84000         * tests/test-hmac-md5.c: New file.
84001
84002         * modules/hmac-md5-tests: New file.
84003
84004         * modules/hmac-md5: New file.
84005
84006 2005-10-06  Simon Josefsson  <jas@extundo.com>
84007
84008         * m4/hmac-md5.m4: New file.
84009
84010         * m4/memxor.m4: Require gl_C_RESTRICT.
84011
84012 2005-10-06  Simon Josefsson  <jas@extundo.com>
84013
84014         * lib/memxor.c (memxor): Avoid casts and warnings.
84015
84016 2005-10-06  Simon Josefsson  <jas@extundo.com>
84017
84018         * lib/hmac-md5.c: New file.
84019
84020         * lib/hmac.h: New file.
84021
84022 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84023
84024         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84025         promotes to int, not unsigned int, to catch the AIX 5.3
84026         compiler bug.
84027
84028 2005-10-05  Simon Josefsson  <jas@extundo.com>
84029
84030         * modules/memxor: New file.
84031
84032         * modules/iconv (Files): Move config.rpath to havelib, it is used
84033         there.
84034
84035         * modules/havelib (Files): Add config.rpath.
84036
84037 2005-10-05  Simon Josefsson  <jas@extundo.com>
84038
84039         * m4/memxor.m4: New file.
84040
84041 2005-10-05  Simon Josefsson  <jas@extundo.com>
84042
84043         * lib/memxor.c (memxor): Fix compiler error.
84044
84045         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84046         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84047
84048         * lib/memxor.h, lib/memxor.c: New files.
84049
84050         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84051         we assume all systems have it, suggested by Jim Meyering
84052         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84053         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84054         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84055         same reasons.
84056
84057 2005-10-05  Simon Josefsson  <jas@extundo.com>
84058
84059         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84060
84061 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84062
84063         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84064         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84065         needed, since the source code now assumes these .h files.
84066
84067 2005-10-05  Derek Price  <derek@ximbiot.com>
84068
84069         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84070
84071 2005-10-05  Bruno Haible  <bruno@clisp.org>
84072
84073         * modules/stdint (License): Change to LGPL.
84074
84075 2005-10-04  Simon Josefsson  <jas@extundo.com>
84076
84077         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84078         D. Baushke" <mdb@gnu.org>.
84079
84080 2005-10-04  Bruno Haible  <bruno@clisp.org>
84081
84082         * lib/verify.h (verify_true): Provide alternative definition for C++.
84083
84084 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84087         (SSIZE_MAX): New macro, if not already defined.
84088         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84089         than 2 GiB.
84090
84091 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84092
84093         Sync from coreutils.
84094         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84095         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84096         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84097         ULLONG_MAX doesn't work with 2.7.2.1.
84098
84099 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84100
84101         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84102         From Ben Pfaff.
84103
84104         * modules/exclude (Depends-on): Depend on verify.
84105         * modules/strtoimax (Depends-on): Likewise.
84106         * modules/utimecmp (Depends-on): Likewise.
84107
84108 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84109
84110         * lib/exclude.c: Include verify.h.
84111         (verify): Remove.  All callers changed to use verify.h's version.
84112         * lib/strtoimax.c: Likewise.
84113         * lib/utimecmp.c: Likewis.e
84114
84115         Sync from coreutils.
84116         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84117         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84118         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84119         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84120         bother returning ENOSYS if settimeofday or stime fails; just let
84121         them return whatever errno they want to return.
84122         * lib/utimens.c: Include unistd.h, for dup2.
84123         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84124         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84125
84126 2005-10-02  Jim Meyering  <jim@meyering.net>
84127
84128         Sync from coreutils.
84129         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84130         from glibc-2.2.5 that fails for read-only files.
84131
84132 2005-10-02  Jim Meyering  <jim@meyering.net>
84133
84134         Sync from coreutils.
84135         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84136         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84137         `#if HAVE_CONFIG_H'.
84138         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84139         Remove AT_FDCWD test.
84140         Do not consume the fd unless successful.
84141         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84142         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84143         block, so that we don't even try to compile it if settimeofday is
84144         available.  This works around a compilation failure on OSF1 V5.1,
84145         due to stime requiring a `long int*' while tv_sec is `int'.
84146
84147 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84148
84149         Sync from coreutils.
84150         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84151         against `yes', rather than just testing for nonempty.
84152
84153 2005-10-01  Simon Josefsson  <jas@extundo.com>
84154
84155         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84156         and Darwin.
84157
84158         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84159         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84160         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84161         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84162         Check if struct addrinfo is declared.
84163
84164 2005-10-01  Simon Josefsson  <jas@extundo.com>
84165
84166         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84167         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84168         AI_* and EAI_* definitions.  Protect function declarations.
84169
84170 2005-10-01  Jim Meyering  <jim@meyering.net>
84171
84172         Sync from coreutils.
84173
84174         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84175         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84176         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84177         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84178         in the inet and nsl libraries.  Required on Solaris 5.7.
84179
84180 2005-10-01  Jim Meyering  <jim@meyering.net>
84181
84182         Sync from coreutils.
84183         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84184         in the inet and nsl libraries.  Required on Solaris 5.7.
84185
84186 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84187
84188         * lib/getdelim.c (getdelim): Remove unused variables.
84189
84190 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84191
84192         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84193         so that the code works even with ancient cpp.  Portability problem
84194         with GCC 2.7.2.1 reported by Thomas M.Ott.
84195
84196 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84197
84198         * modules/regex (Depends-on): Add strcase.
84199
84200         * modules/gethostname (Licence): Change from GPL to LGPL, since
84201         gethostname.c is a trivial implementation of a standard library
84202         function.
84203         * modules/poll (License): Change from GPL to LGPL, since it's
84204         derived from LGPL code.
84205
84206 2005-09-27  Jim Meyering  <jim@meyering.net>
84207
84208         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84209         HAVE_CONFIG_H.
84210
84211         * lib/intprops.h (signed_type_or_expr__): Define.
84212         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84213         for unsigned types.
84214
84215 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84216
84217         * lib/verify.h (verify_expr): Remove, replacing with:
84218         (verify_true): New macro that returns true instead of void.
84219         (verify_type__): Remove.
84220         (verify): Use verify_true rather than verify_type__.
84221
84222 2005-09-26  Bruno Haible  <bruno@clisp.org>
84223
84224         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84225         is necessary.
84226         (lib_SOURCES): Remove mbchar.c.
84227         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84228         (Files): Add m4/mbrtowc.m4.
84229         * modules/mbiter: Likewise.
84230         * modules/mbuiter: Likewise.
84231
84232 2005-09-26  Bruno Haible  <bruno@clisp.org>
84233
84234         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84235         compile mbchar.c if they are not both present.
84236         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84237         * m4/mbiter.m4 (gl_MBITER): Likewise.
84238         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84239         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84240         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84241
84242 2005-09-25  Jim Meyering  <jim@meyering.net>
84243
84244         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84245         also uses socklen_t.
84246
84247 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84248
84249         * lib/utimens.c (ENOSYS): Define if not already defined.
84250         (futimens): Support having a null PATH if the file descriptor
84251         is nonnegative.
84252
84253         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84254         Remove.
84255         (__attribute): Define to empty unless GCC 3.1 or later.
84256         This works around a core dump on OpenBSD 3.4, which has GCC
84257         2.95.3, which dumps core when given __attribute__(()).  It also
84258         simplifies other tests, since we really don't want to bother with
84259         worrying about which ancient version of GCC supported what.
84260         Original problem reported by Yoann Vandoorselaere, with part of
84261         the fix suggested by Derek Price.
84262
84263 2005-09-24  Jim Meyering  <jim@meyering.net>
84264
84265         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84266         so we can once again use a positive bitfield width of 1 -- now we
84267         don't have to explain why we were using a bitfield width of 2.
84268
84269 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84270
84271         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84272         and similarly for the other external symbols.  Problem reported
84273         by James Gallager.
84274
84275         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84276         bug reported by Jim Meyering.
84277
84278         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84279         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84280         not needed, since socklen is a prerequisite module.
84281
84282 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84283
84284         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84285         Problem reported by Eric Blake.
84286         (getaddrinfo): Initialize se so that it's not garbage.
84287         Redo internal storage allocation so that it doesn't make unportable
84288         assumptions about alignment.
84289         Fix a memory leak.
84290
84291         * lib/utimens.c (futimens): Use futimesat if available.
84292         Prefer it to futimes since it doesn't have the futimes bug.
84293
84294         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84295         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84296         Instead, declare a function that returns a pointer to an array,
84297         and use verify_type__ to declare the size of the array.
84298         Problem and germ of a solution reported by Bruno Haible.
84299         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84300         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84301
84302 2005-09-23  Jim Meyering  <jim@meyering.net>
84303
84304         Sync from coreutils.
84305         Correct build failure (socklen_t not defined) on at least
84306         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84307         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84308
84309 2005-09-23  Jim Meyering  <jim@meyering.net>
84310
84311         * modules/getaddrinfo (Depends-on): Add socklen.
84312
84313 2005-09-23  Bruno Haible  <bruno@clisp.org>
84314
84315         * tests/test-verify.c: New file.
84316
84317 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84318
84319         Sync from coreutils.
84320
84321         * modules/argmatch (Depends-on): Add verify.
84322         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84323         unistd-safer.
84324         * modules/save-cwd (Depends-on): Likewise.
84325
84326         * modules/openat (Files): Add lib/openat-die.c.
84327         (Depends-on): Remove error, exitfail.
84328         Add dirname.
84329
84330         * modules/verify: New file.
84331         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84332         with "verify" module.
84333
84334 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84335
84336         Sync from coreutils.
84337
84338         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84339         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84340         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84341         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84342         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84343         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84344         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84345         Don't bother checking for string.h, stdlib.h, unistd.h.
84346         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84347         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84348         module's job.
84349         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84350         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84351
84352         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84353         (gl_GETDATE): Use it.
84354
84355         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84356
84357 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84358
84359         Sync from coreutils.
84360
84361         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84362         stat-time.h.
84363         * lib/argmatch.h: Include verify.h
84364         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84365         (ARGMATCH_ASSERT): Remove; unused.
84366         * lib/canonicalize.c: Assume STDC_HEADERS.
84367         * lib/exclude.c: Include "strcase.h".
84368         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84369         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84370         and stdio-safer.h.
84371         (getusershell): Call fopen, not fopen_safer.
84372         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84373         Do not include unistd-safer.h.
84374         (save_cwd): Don't call fd_safer; no longer needed
84375         now that we include fcntl--.h.
84376
84377         * lib/getdate.y (relative_time): New type.
84378         (RELATIVE_TIME_0): New constant.
84379         (parser_control): Use relative_time instead of doing it ourselves.
84380         (%union): Add new relative_time rel member.
84381         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84382         Now typeless.
84383         (relunit, relunit_snumber): Now of type rel.
84384         (zone, rel, relunit, get_date): Adjust to above changes.
84385
84386         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84387         Do not include unistd-safer.h.
84388         (getloadavg): Don't call fd_safer; no longer needed
84389         now that we include fcntl--.h.
84390
84391         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84392         (make_dir_parents): Treat ENOSYS like EEXIST.
84393
84394         Improve quality of diagnostics on restore_cwd failure.
84395         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84396         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84397         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84398         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84399         each time through the loop.  Do not diagnose restore_cwd failure;
84400         that is the caller's job (and perhaps the caller does not care).
84401
84402         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84403         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84404         If the file already exists but is not a directory, don't bother
84405         to try to make its parents.
84406         Close potential file descriptor leak if we can't chdir("/") (!).
84407         Don't always return true if chdir($PWD) fails; return true only
84408         if the requested action was done successfully (except for the
84409         chdir($PWD)).
84410         Don't log final directory unless we actually made it.
84411         Refactor to avoid duplicate code to fix up permissions.
84412         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84413
84414         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84415         to make it a bit faster and (I hope) clearer.
84416         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84417         Fix bug in formats like %2N.
84418
84419         * lib/verify.h: New file.
84420
84421 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84422
84423         Sync from coreutils.
84424         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84425
84426 2005-09-22  Jim Meyering  <jim@meyering.net>
84427
84428         Sync from coreutils.
84429
84430         * m4/lstat.m4 (gl_FUNC_LSTAT):
84431         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84432         Remove obsolete comment.
84433         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84434         * m4/xstrtod.m4: Likewise.
84435
84436         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84437
84438 2005-09-22  Jim Meyering  <jim@meyering.net>
84439
84440         Sync from coreutils.
84441
84442         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84443
84444         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84445         the .tm_year member, since otherwise gcc-4.0 would now warn about
84446         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84447
84448         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84449         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84450
84451         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84452         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84453         when run in a time zone for which daylight savings time is in effect
84454         for the starting date.
84455
84456         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84457         stop us from restricting permissions of just-created absolute-named
84458         directories.
84459         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84460         to restore initial working directory.
84461         * lib/mkdir-p.c (make_dir_parents): New parameter:
84462         different_working_dir, to tell caller if/when we change the working
84463         directory and are unable to return to the initial one.
84464         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84465         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84466         `return false'.  This fixes a bug introduced on 2004-07-30.
84467
84468         * lib/openat.c (fdopendir): Be sure to close the supplied
84469         file descriptor before returning.  This makes our replacement
84470         implementation a little closer to Solaris's, where fdopendir
84471         ties the file descriptor to the returned DIR* pointer.
84472         * lib/openat.c (unlinkat): New function.
84473         * lib/openat.h (unlinkat): Add prototype.
84474         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84475         (openat_restore_fail): Rename from openat_restore_die.
84476         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84477
84478         Provide an alternative to exiting immediately upon save_cwd or
84479         restore_cwd failure.  Now, an application can arrange e.g.,
84480         to perform a longjump in that case.
84481         * lib/openat.c: Include dirname.h.
84482         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84483         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84484         and openat_restore_die rather than calling error directly.
84485         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84486
84487         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84488         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84489         define.
84490
84491         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84492         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84493                             int utc, int nanoseconds);
84494         Background:
84495         date should not have to allocate a megabyte of virtual memory to
84496         handle a format argument like +%1048575T.  When implemented with
84497         strftime, it must allocate such a buffer, use strftime to fill it
84498         in, print it, then free it.
84499         With fprintftime, it simply prints everything and exits.
84500         With no need for memory allocation, that's one fewer way to fail.
84501         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84502         optional field width, not before, so we accept %9:z, not %:9z.
84503         (my_strftime): Be sure to use L_('x') for literals.
84504
84505         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84506         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84507         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84508         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84509         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84510         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84511         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84512         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84513         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84514         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84515         * lib/xgethostname.c, lib/xreadlink.c:
84516         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84517
84518         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84519         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84520         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84521         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84522         and don't include <sys/file.h>).
84523
84524 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84525
84526         Sync from coreutils.
84527
84528         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84529         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84530         [!LDAV_DONE]: Avoid unused variable warning.
84531
84532 2005-09-21  Bruno Haible  <bruno@clisp.org>
84533
84534         * lib/unicodeio.h (unicode_to_mb): New declaration.
84535
84536 2005-09-20  Derek Price  <derek@ximbiot.com>
84537
84538         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84539         getaddrinfo.h.
84540
84541 2005-09-20  Bruno Haible  <bruno@clisp.org>
84542
84543         * gnulib-tool: Remove trailing slashes from the values specified for
84544         --source-base, --m4-base, --tests-base, --aux-dir.
84545         Suggested by Simon Josefsson <jas@extundo.com>.
84546
84547 2005-09-20  Bruno Haible  <bruno@clisp.org>
84548
84549         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84550         func_modules_to_filelist, func_import, func_create_testdir): Make all
84551         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84552         change when gnulib-tool is invoked in a different locale.
84553
84554 2005-09-19  Simon Josefsson  <jas@extundo.com>
84555
84556         * m4/socklen.m4: Fix typo.
84557
84558 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84559
84560         Use a consistent style for including <config.h>.
84561         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84562         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84563         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84564         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84565         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84566         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84567         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84568         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84569         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84570         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84571         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84572         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84573         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84574         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84575         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84576         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84577         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84578         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84579         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84580         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84581         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84582         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84583         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84584         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84585         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84586         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84587         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84588         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84589         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84590         lib/xstrtoumax.c, lib/yesno.c:
84591         Standardize inclusion of config.h.
84592         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84593         lib/inttostr.h:  Removed inclusion of config.h from header files.
84594         * lib/inttostr.c:  Adjusted in-tree users.
84595         * lib/timespec.h: Remove superfluous warning to include config.h.
84596         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84597         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84598         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84599         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84600         config.h with HAVE_CONFIG_H.
84601
84602 2005-09-19  Jim Meyering  <jim@meyering.net>
84603
84604         * modules/pathmax (License): Change to LGPL.
84605
84606 2005-09-19  Derek Price  <derek@ximbiot.com>
84607
84608         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84609
84610 2005-09-19  Bruno Haible  <bruno@clisp.org>
84611
84612         * gnulib-tool (import): Provide default for --tests-base.
84613
84614 2005-09-19  Bruno Haible  <bruno@clisp.org>
84615
84616         * doc/quote.texi: New file, extracted from gnulib.texi.
84617         * doc/ctime.texi: New file, extracted from gnulib.texi.
84618         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84619         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84620         * doc/gnulib.texi: Include them.
84621
84622 2005-09-18  Bruno Haible  <bruno@clisp.org>
84623
84624         Portability fix.
84625         * gnulib-tool (func_readlink): New function.
84626         (func_ln_if_changed): Use it.
84627
84628 2005-09-18  Bruno Haible  <bruno@clisp.org>
84629
84630         * gnulib-tool: Support --with-tests also with --import.
84631         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84632         (func_import): Use variables $testsbase and $inctests. Emit a
84633         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84634         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84635         SUBDIRS += $testsdir.
84636         (func_create_testdir): Update.
84637
84638 2005-09-18  Bruno Haible  <bruno@clisp.org>
84639
84640         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84641         instead of $dry_run.
84642         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84643         (func_ln_if_changed): Don't handle dry-run here.
84644         (func_import): In dry-run mode, detect more precisely which actions
84645         would be performed, and don't use "...ing" verbs.
84646
84647 2005-09-18  Bruno Haible  <bruno@clisp.org>
84648
84649         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84650         (func_import): Use join on two temporary files instead of three nested
84651         loops, in order to determine which files are new or old.
84652
84653 2005-09-18  Bruno Haible  <bruno@clisp.org>
84654
84655         * gnulib-tool (func_import): Comment out code that spits out the
84656         new files with --dry-run.
84657
84658 2005-09-18  Bruno Haible  <bruno@clisp.org>
84659
84660         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84661
84662 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84663
84664         * lib/stat-time.h: New file.
84665         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84666         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84667         in a different way.
84668         (timespec_cmp): New function.
84669         * lib/utimecmp.c: Include stat-time.h.
84670         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84671         members exist, not on the obsolescent ST_MTIM_NSEC.
84672         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84673
84674 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84675
84676         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84677
84678 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84679
84680         * MODULES.html.sh (File system functions): Add stat-time.
84681         * modules/stat-time: New file.
84682         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84683         is now done in a different way, by the stat-time module.
84684         * modules/utimecmp (Depends-on): Add stat-time.
84685
84686 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84687
84688         * m4/st_mtim.m4: Remove.  Superseded by...
84689         * m4/stat-time.m4: New file.
84690         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84691         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84692
84693 2005-09-15  Derek Price  <derek@ximbiot.com>
84694
84695         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84696
84697 2005-09-15  Derek Price  <derek@ximbiot.com>
84698
84699         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84700         * lib/regex_internal.c: Ditto, using this...
84701         (__GNUC_PREREQ): ...new macro.
84702         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84703         using...
84704         (__GNUC_PREREQ): ...this new macro.
84705
84706         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84707
84708 2005-09-15  Derek Price  <derek@ximbiot.com>
84709             Paul Eggert  <eggert@cs.ucla.edu>
84710
84711         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84712         changes, consolidating in...
84713         * lib/regex_internal.h: ...this file.
84714
84715 2005-09-13  Jim Meyering  <jim@meyering.net>
84716
84717         * lib/canon-host.c: Filter through gnu indent and reword comments
84718         slightly.
84719         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84720
84721 2005-09-13  Derek Price  <derek@ximbiot.com>
84722
84723         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84724         failure.
84725         Reported by Jim Meyering  <jim@meyering.net>.
84726
84727 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84728
84729         * lib/base64.c: Typo.
84730         (base64_encode): Put b64str in initialized data section.
84731
84732 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84733
84734         Merge glibc and coreutils changes into gnulib, plus a few
84735         extra fixes.
84736         * lib/md5.c: Use #error rather than a string.
84737         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84738         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84739         (__attribute__): Define to empty for non recent-GCC.
84740         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84741         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84742         Renamed from their non-__ counterparts, with new macros replacing
84743         them if not _LIBC.  Add __THROW attribute.
84744         (rol): Remove.
84745         (struct md5_ctx): Align buffer if using GCC.
84746         * lib/sha1.h (struct sha1_ctx): Likewise.
84747         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84748         The old name was backwards.
84749         (NOTSWAP): Remove; not used.
84750         (rol): New macro, moved here from md5.h.
84751         (sha1_process_block): Remove a FIXME that doesn't make sense.
84752
84753 2005-09-12  Derek Price  <derek@ximbiot.com>
84754
84755         Return usable errors from canon-host.
84756         * lib/canon-host.h: New file.
84757         * lib/canon-host.c (canon_host): Wrap...
84758         (canon_host_r): ...this new function, which now relies exclusively on
84759         getaddrinfo.
84760         (ch_strerror): New function.
84761         (last_cherror): New global.
84762         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84763         interface.
84764         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84765         void *.
84766         (freeaddrinfo): Free ai->ai_canonname when set.
84767
84768 2005-09-12  Derek Price  <derek@ximbiot.com>
84769
84770         Make canon-host require getaddrinfo.
84771         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84772         AC_LIBSOURCE canon-host.h.  Call...
84773         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84774         gl_GETADDRINFO.
84775         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84776
84777 2005-09-12  Derek Price  <derek@ximbiot.com>
84778
84779         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84780         LGPL.
84781         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84782
84783 2005-09-12  Derek Price  <derek@ximbiot.com>
84784
84785         * lib/gai_strerror.c: Include config.h when available.  Include
84786         getaddrinfo.h before other headers to test interface.
84787         Reported by Larry Jones <lawrence.jones@ugs.com>.
84788
84789 2005-09-12  Derek Price  <derek@ximbiot.com>
84790             Paul Eggert  <eggert@cs.ucla.edu>
84791
84792         * modules/glob (Files): Add glob-libc.h.
84793
84794 2005-09-12  Derek Price  <derek@ximbiot.com>
84795             Paul Eggert  <eggert@cs.ucla.edu>
84796
84797         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84798         glob_.h, glob-libc.h.
84799         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84800
84801 2005-09-12  Derek Price  <derek@ximbiot.com>
84802             Paul Eggert  <eggert@cs.ucla.edu>
84803
84804         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84805         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84806         protecting things that should be done only in gnulib contexts.
84807         * lib/glob_.h: New file, containing only the glob things needed for
84808         gnulib.
84809         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84810         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84811         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84812         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84813         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84814         and to respect the namespace rules better.
84815
84816 2005-09-08  Simon Josefsson  <jas@extundo.com>
84817
84818         * modules/socklen: New file.
84819
84820 2005-09-08  Simon Josefsson  <jas@extundo.com>
84821
84822         * m4/socklen.m4: New file.
84823
84824 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84825
84826         * modules/utimens (Files): Add m4/utimbuf.m4, since
84827         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84828         Reported by Sergey Poznyakoff.
84829
84830 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84831
84832         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84833         definitions, since that's the preferred style in glibc.
84834         Fix a minor spacing issue, and update copyright notice to match
84835         glibc's.
84836
84837 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84838
84839         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84840
84841 2005-09-06  Simon Josefsson  <jas@extundo.com>
84842
84843         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84844         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84845
84846 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84847
84848         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84849         warning.
84850
84851 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84852
84853         * config/srclist.txt: Add glibc bug 1302.
84854
84855 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84856
84857         Change bitset word type from unsigned int to unsigned long int,
84858         as this has better performance on typical 64-bit hosts.
84859         Port bitset code to hosts with unusual word sizes.
84860         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84861         (build_collating_symbol):
84862         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84863         argument is a bitset.  This is merely a style issue, but it makes
84864         it clearer that an entire array is expected.
84865         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84866         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84867         Port to the case where bitset_word is not the same as unsigned int.
84868         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84869         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84870         Likewise.
84871         * lib/regexec.c (check_dst_limits_calc_pos_1,
84872         check_subexp_matching_top):
84873         (build_trtable, group_nodes_into_DFAstates):
84874         Likewise.
84875         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84876         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84877         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84878         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84879         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84880         * lib/regcomp.c (optimize_subexps, lower_subexp):
84881         Work even if bitset_word has holes in its bitwise representation.
84882         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84883         * lib/regexec.c (check_dst_limits_calc_pos_1,
84884         check_subexp_matching_top):
84885         Likewise.
84886         * lib/regex_internal.c (re_string_reconstruct):
84887         Don't assume UCHAR_MAX == 255.
84888         * lib/regex_internal.h (bitset_set_all): Likewise.
84889         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84890         All uses changed.
84891         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84892         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84893         All uses changed.
84894         (BITSET_WORD_MAX): New macro.
84895         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84896         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84897         (bitset_empty, bitset_copy):
84898         Prefer sizeof (bitset) to multiplying it out ourselves.
84899         (bitset_not_merge): Remove; unused.
84900         (bitset_contain): Return bool, not unsigned int with one bit on.
84901         All callers changed.
84902         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84903         alignment than re_node_set; do this by defining a new internal
84904         type struct dests_alloc and using it to allocate memory.
84905
84906 2005-09-05  Bruno Haible  <bruno@clisp.org>
84907
84908         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84909         links.
84910
84911 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84912
84913         * modules/size_max (Makefile.am): Add size_max.h
84914
84915 2005-09-04  Derek Price  <derek@ximbiot.com>
84916
84917         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84918
84919 2005-09-03  Simon Josefsson  <jas@extundo.com>
84920
84921         * gnulib-tool: Fix typo.
84922
84923 2005-09-03  Simon Josefsson  <jas@extundo.com>
84924
84925         * config/srclist.txt: Add glibc bug 1293.
84926
84927 2005-09-03  Derek Price  <derek@ximbiot.com>
84928
84929         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84930         From Larry Jones <lawrence.jones@ugs.com>.
84931
84932 2005-09-02  Simon Josefsson  <jas@extundo.com>
84933
84934         * modules/socklen: New file.
84935
84936 2005-09-02  Simon Josefsson  <jas@extundo.com>
84937
84938         * modules/havelib: New module.
84939
84940         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84941         Use havelib.
84942
84943 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84944
84945         Check for arithmetic overflow when calculating sizes, to prevent
84946         some buffer-overflow issues.  These patches are conservative, in the
84947         sense that when I couldn't determine whether an overflow was possible,
84948         I inserted a run-time check.
84949         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84950         macros.
84951         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84952         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84953         (re_xnrealloc, re_x2nrealloc): New inline functions.
84954         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84955         parse_bracket_exp):
84956         (build_equiv_class, build_charclass): Check for arithmetic overflow
84957         in size expression calculations.
84958         * lib/regex_internal.c (re_string_realloc_buffers):
84959         (build_wcs_upper_buffer, re_node_set_add_intersect):
84960         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84961         (re_dfa_add_node, register_state): Likewise.
84962         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84963         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84964         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84965         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84966
84967 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84968
84969         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84970         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84971
84972 2005-09-02  Bruno Haible  <bruno@clisp.org>
84973
84974         Support for lib vs. lib64 distinction on biarch platforms.
84975         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84976         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84977         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84978
84979 2005-09-02  Bruno Haible  <bruno@clisp.org>
84980
84981         * gnulib-tool (import): In the other first-use case, provide defaults
84982         as well.
84983
84984 2005-09-02  Bruno Haible  <bruno@clisp.org>
84985
84986         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84987         patches not yet found in the latest gettext release.
84988
84989 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84990
84991         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84992         to avoid a collision with bits/local_lim.h in glibc.
84993         All uses changed.  Problem reported by Dmitry V. Levin in
84994         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84995
84996         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84997         bugs in int versus size_t comparisons.
84998         (re_string_context_at): Fix bug where the code assumed that
84999         Idx is signed.
85000
85001         Use bool where appropriate.
85002         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85003         All callers changed.
85004         (calc_eclosure_iter): Likewise, for ROOT arg.
85005         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85006         (build_charclass_op): Likewise, for NON_MATCH arg.
85007         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85008         (re_string_construct_common): Likewise, for ICASE arg.
85009         * lib/regexec.c (re_search_2_stub, re_search_stub):
85010         Likewise, for RET_LEN arg.
85011         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85012         (set_regs): Likewise, for FL_BACKTRACK arg.
85013         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85014         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85015         (calc_eclosure_iter, parse_bracket_exp):
85016         Use bool for internal variables that are booleans.
85017         * lib/regexec.c (re_search_internal, check_matching,
85018         proceed_next_node):
85019         (set_regs, build_sifted_states, sift_states_bkref):
85020         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85021         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85022         (find_collation_sequence_value):
85023         Likewise.
85024         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85025         (re_node_set_compare):
85026         Return bool, not int. All callers changed.
85027         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85028         (build_trtable, check_node_accept): Likewise.
85029         * lib/regex_internal.h: Include stdbool.h.
85030
85031         Fix bugs uncovered when converting to bool.
85032         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85033         failure instead of charging ahead blindly.
85034         * lib/regex_internal.c (register_state): Likewise.
85035         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85036         for freeing internal storage.
85037         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85038         bitset pieces used as boolean, to avoid undefined behavior
85039         on hosts that do int overflow checking.
85040
85041 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85042
85043         * config/srclist.txt: Add glibc bugs 1285-1287.
85044
85045 2005-09-01  Jim Meyering  <jim@meyering.net>
85046
85047         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85048         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85049         Require gl_STAT_MACROS, too.
85050
85051 2005-09-01  Bruno Haible  <bruno@clisp.org>
85052
85053         * gnulib-tool (import): In the first-use case, provide defaults.
85054
85055 2005-09-01  Bruno Haible  <bruno@clisp.org>
85056
85057         * gnulib-tool (func_import): Remove the .tmp files.
85058
85059 2005-09-01  Bruno Haible  <bruno@clisp.org>
85060
85061         * gnulib-tool (func_import): Fix handling of symbolic links.
85062
85063 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85064
85065         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85066         old glibc regex code mishandles strings longer than 2**31 bytes.
85067         This patch fixes this when the regex code is used in gnulib
85068         (i.e., outside glibc).
85069
85070         This patch should not affect the use of the regex code inside
85071         glibc.  No doubt this problem also needs to be handled for glibc
85072         as well, but the result will be an incompatible change to the
85073         glibc ABI, and the old ABI will have to be supported too.  That
85074         can be the the subject for another patch.
85075
85076         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85077         governing whether the rest of this patch is active.  By default,
85078         the macro is disabled and the patch has no effect.
85079         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85080         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85081         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85082         (re_match_2, re_set_registers): Use the new types.
85083         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85084         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85085         New macros.
85086         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85087         (re_string_context_at, bin_tree_t, re_dfastate_t):
85088         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85089         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85090         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85091         (re_string_char_size_at, re_string_wchar_at):
85092         (re_string_elem_size_at):
85093         Use the new types and macros to port to 64-bit hosts.
85094         Use unsigned types for internal values, so that the code
85095         mostly works even for arrays larger than SSIZE_MAX.
85096         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85097         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85098         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85099         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85100         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85101         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85102         (calc_inveclosure, parse_dup_op, build_range_exp):
85103         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85104         (fetch_number, create_token_tree, mark_opt_subexp):
85105         Likewise.
85106         * lib/regex_internal.c (re_string_construct_common,
85107         create_ci_newstate):
85108         (create_cd_newstate, re_string_allocate, re_string_construct):
85109         (re_string_realloc_buffers, build_wcs_upper_buffer):
85110         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85111         (re_string_reconstruct, re_string_peek_byte_case):
85112         (re_string_fetch_byte_case, re_string_context_at):
85113         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85114         (re_node_set_init_copy, re_node_set_add_intersect):
85115         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85116         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85117         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85118         (re_acquire_state, re_acquire_state_context, register_state):
85119         Likewise.
85120         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85121         search_cur_bkref_entry):
85122         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85123         (re_search_internal, re_search_2_stub, re_search_stub)
85124         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85125         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85126         (update_cur_sifted_state, check_dst_limits):
85127         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85128         (check_subexp_limits, sift_states_bkref, merge_state_array):
85129         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85130         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85131         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85132         (expand_bkref_cache, check_node_accept_bytes):
85133         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85134         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85135         (acquire_init_state_context, check_halt_node_context):
85136         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85137         (sift_states_backward, clean_state_log_if_needed):
85138         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85139         (find_recover_state, transit_state_sb, transit_state_mb):
85140         (transit_state_bkref, build_trtable, match_ctx_clean):
85141         Likewise.
85142         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85143         to work around an assumption that REG_MISSING is negative.
85144
85145         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85146         (seek_collating_symbol_entry) [defined _LIBC]:
85147         (lookup_collation_sequence_value) [defined _LIBC]:
85148         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85149         Use prototypes rather than old-style function definitions.
85150         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85151         (transit_state_sb) [0]:
85152         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85153
85154         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85155         rm_eo.
85156
85157         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85158         (optimize_subexps, lower_subexp):
85159         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85160         since the signed shift might overflow.  Use 1u<<31 instead.
85161         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85162         Likewise.
85163         * lib/regexec.c (check_dst_limits_calc_pos_1,
85164         check_subexp_matching_top): Likewise.
85165
85166         * lib/regcomp.c (optimize_subexps, lower_subexp):
85167         Use CHAR_BIT rather than 8, for clarity.
85168         * lib/regexec.c (check_dst_limits_calc_pos_1):
85169         (check_subexp_matching_top): Likewise.
85170         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85171         have to worry about portability issues when shifting it left.
85172         Remove no-longer-needed test for table_size > 0.
85173         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85174         in a word, as the resulting behavior is undefined.
85175         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85176         in one case, a <= should have been an <, and in another case the
85177         whole test was missing.
85178         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85179         the standard name CHAR_BIT.
85180         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85181         this is not true on one's complement and signed-magnitude hosts.
85182
85183         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85184         next_last_offset.
85185         (struct re_dfa_t): Remove unused member states_alloc.
85186         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85187
85188 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85189
85190         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85191         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85192         and large-file glibc and in 32-bit large-file Solaris.
85193
85194 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85195
85196         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85197         lengths fit in regoff_t; this isn't true if regoff_t is the same
85198         width as size_t.
85199         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85200         (= START + RANGE) instead of RANGE.  This avoids overflow
85201         problems when regoff_t is the same width as size_t.
85202         All callers changed.
85203         (re_search_2_stub): Check for overflow when adding the
85204         sizes of the two strings.
85205         (re_search_stub): Check for overflow when adding START
85206         to RANGE; if it occurs, substitute the extreme value.
85207
85208 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85209
85210         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85211
85212 2005-08-31  Jim Meyering  <jim@meyering.net>
85213
85214         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85215         a pointer-to-const.
85216         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85217         (register_state): Likewise.
85218         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85219         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85220         (group_nodes_into_DFAstates): Likewise.
85221
85222 2005-08-31  Jim Meyering  <jim@meyering.net>
85223
85224         * check-module: Add a FIXME comment.
85225
85226 2005-08-31  Eric Blake  <ebb9@byu.net>
85227
85228         * modules/unistd-safer (Files): Add unistd--.h.
85229         * modules/stdio-safer (Files): Add stdio--.h.
85230
85231 2005-08-31  Derek Price  <derek@ximbiot.com>
85232
85233         * lib/getdelim.c (getdelim): Return EOF on EOF.
85234         Reported by Larry Jones <lawrence.jones@ugs.com>.
85235
85236 2005-08-31  Bruno Haible  <bruno@clisp.org>
85237
85238         Avoid unnecessary diffs in the generated lib/Makefile.am.
85239         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85240         the generated files.
85241         (func_import): Don't set cmd.
85242
85243 2005-08-31  Bruno Haible  <bruno@clisp.org>
85244
85245         * lib/strstr.c: Include <stddef.h>, for NULL.
85246         * lib/strcasestr.c: Likewise.
85247         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85248
85249 2005-08-31  Bruno Haible  <bruno@clisp.org>
85250
85251         * gnulib-tool: New option --macro-prefix.
85252         (func_import): Use macro_prefix.
85253         (import): Handle option --macro-prefix.
85254
85255 2005-08-31  Bruno Haible  <bruno@clisp.org>
85256
85257         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85258         Also use new variables cached_lgpl, cached_libtool.
85259
85260 2005-08-31  Bruno Haible  <bruno@clisp.org>
85261
85262         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85263         always instantiating them.
85264
85265 2005-08-31  Bruno Haible  <bruno@clisp.org>
85266
85267         * gnulib-tool (func_import): Read the previous cached settings
85268         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85269         earlier added by gnulib but are now dropped. Warn when a gnulib file
85270         overwrites a non-gnulib file.
85271
85272 2005-08-31  Bruno Haible  <bruno@clisp.org>
85273
85274         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85275         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85276         projects that don't keep autogenerated files in CVS. Put into
85277         actioncmd only the specified modules, not the transitive closure.
85278
85279 2005-08-31  Bruno Haible  <bruno@clisp.org>
85280
85281         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85282         Create directories that shall be filled.
85283         (import): Don't look for gl_* macros in configure.ac. Recurse across
85284         all directories containing a gnulib-cache.m4 files, if meaningful.
85285
85286 2005-08-31  Bruno Haible  <bruno@clisp.org>
85287
85288         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85289         (import): Set seen_libtool when we see gl_LIBTOOL.
85290
85291 2005-08-31  Bruno Haible  <bruno@clisp.org>
85292
85293         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85294         declaration macro definitions from generated gnulib.m4.
85295
85296 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85297
85298         * lib/iconvme.h: Add prototype for iconv_alloc.
85299
85300 2005-08-29  Simon Josefsson  <jas@extundo.com>
85301
85302         * lib/iconvme.c: Fix errno.
85303
85304 2005-08-29  Bruno Haible  <bruno@clisp.org>
85305
85306         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85307         that it works when the directory contains spaces.
85308
85309 2005-08-29  Bruno Haible  <bruno@clisp.org>
85310
85311         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85312
85313 2005-08-29  Bruno Haible  <bruno@clisp.org>
85314
85315         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85316         Emit more advice.
85317
85318 2005-08-29  Bruno Haible  <bruno@clisp.org>
85319         and Stepan Kasal  <kasal@ucw.cz>
85320
85321         * check-module: If more parameters are given, check each of them
85322         separately; add more exceptions, as noted by Jim Meyering.
85323         (check_module): New procedure.
85324         (%exempt_header): Now contains all exceptions.
85325
85326 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85327
85328         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85329
85330 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85331
85332         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85333
85334 2005-08-28  Bruno Haible  <bruno@clisp.org>
85335
85336         * m4/gnulib-tool.m4: New file.
85337
85338 2005-08-27  Jim Meyering  <jim@meyering.net>
85339
85340         * modules/unistd-safer (Files): Add pipe-safer.c.
85341         * modules/fcntl-safer (Files): Add creat-safer.c.
85342
85343 2005-08-27  Jim Meyering  <jim@meyering.net>
85344
85345         * m4/stdlib-safer.m4: New file.  From coreutils.
85346         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85347         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85348         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85349         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85350         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85351
85352 2005-08-27  Jim Meyering  <jim@meyering.net>
85353
85354         * lib/fopen-safer.c: Merge minor changes from coreutils.
85355         * lib/dup-safer.c: Likewise.
85356         * lib/fd-safer.c: Likewise.
85357
85358         Merge from coreutils.
85359         * lib/stdio--.h: New file.
85360         * lib/stdlib--.h: New file.
85361         * lib/mkstemp-safer.c: New file.
85362
85363         GNU tar needs these.
85364         * lib/pipe-safer.c: New file.
85365         * lib/creat-safer.c: New file.
85366         * lib/fcntl--.h (creat): Define to creat_safer.
85367         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85368         * lib/unistd--.h (pipe): Define to pipe_safer.
85369         * lib/unistd-safer.h: Declare pipe_safer.
85370
85371 2005-08-26  Simon Josefsson  <jas@extundo.com>
85372
85373         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85374         Haible <bruno@clisp.org>.
85375
85376 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85377
85378         * lib/regex_internal.h: Remove all references to
85379         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85380         or better.
85381         (bitset_not, bitset_merge, bitset_not_merge):
85382         (bitset_mask, re_string_allocate, re_string_construct):
85383         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85384         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85385         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85386         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85387         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85388         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85389         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85390         (re_acquire_state_context):
85391         Remove unnecessary forward decls.
85392         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85393         Put __attribute at function definition,
85394         now that the function decl has been removed.
85395         * lib/regex_internal.c (re_string_peek_byte_case):
85396         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85397         Likewise.
85398
85399 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85400
85401         * m4/regex.m4: Add AC_PREREQ(2.50).
85402         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85403
85404 2005-08-25  Simon Josefsson  <jas@extundo.com>
85405
85406         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85407         __fsetlocking.
85408
85409 2005-08-25  Simon Josefsson  <jas@extundo.com>
85410
85411         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85412         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85413         GLIBC specific code.
85414
85415 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85416
85417         Make regex safe for g++.  This fixes one real bug (an "err"
85418         that should have been "*err").  g++ problem reported by
85419         Sam Steingold.
85420         * lib/regex_internal.h (re_calloc): New macro, consistent with
85421         re_malloc etc.  All callers of calloc changed to use re_calloc.
85422         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85423         not int.  All callers changed.
85424         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85425         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85426         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85427         (find_recover_state): Change "err" to "*err"; this fixes what
85428         appears to be a real bug.
85429         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85430         versus int.
85431
85432 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85433
85434         * modules/regex (Depends-on): Add malloc, since the code
85435         assumes that !malloc(0) means failure.
85436
85437 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85438
85439         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85440
85441         alloca modernization/simplification for regex.
85442         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85443         needs to be at the start of the file, and can be moved into
85444         regex_internal.h and simplified.
85445         * lib/regex_internal.h: Include <alloca.h>.
85446         (__libc_use_alloca) [!defined _LIBC]: New macro.
85447         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85448         now works outside glibc.
85449
85450 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85451
85452         * config/srclist.txt: Add glibc bugs 1241, 1245.
85453
85454 2005-08-25  Jim Meyering  <jim@meyering.net>
85455
85456         * lib/open-safer.c: Include <config.h>.
85457         Otherwise, we'd lose LARGEFILE support in any file using
85458         e.g. "fcntl--.h"
85459
85460 2005-08-25  Bruno Haible  <bruno@clisp.org>
85461
85462         * m4/minmax.m4: Require autoconf 2.52.
85463         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85464         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85465         alternatives of translit over the alphabet.
85466         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85467
85468 2005-08-24  Simon Josefsson  <jas@extundo.com>
85469
85470         * tests/test-getpass.c: New file.
85471
85472 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85473
85474         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85475         for GNU regex features.
85476
85477 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85478
85479         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85480         * lib/regex.h (regerror): Likewise.
85481
85482         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85483         requires this.  (The code never needed it.)
85484
85485         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85486         All uses of recently-renamed identifiers changed to use the new,
85487         POSIX-compliant names.  The code will build and run just fine
85488         without these changes, but it's better to eat our own dog food
85489         and use the standard-conforming names.
85490
85491         * lib/regex.h: Fix a multitude of POSIX name space violations.
85492         These changes have an effect only for programs that define
85493         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85494         do not change anything for programs compiled in the normal way.
85495         Also, there is no effect on the ABI.
85496
85497         (_REGEX_SOURCE): New macro.
85498         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85499         defined and _GNU_SOURCE is not; this fixes a name space violation.
85500
85501         Rename the following macros to obey POSIX requirements.
85502         The old names are still visible as macros if _REGEX_SOURCE is defined.
85503         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85504         RE_BACKSLASH_ESCAPE_IN_LISTS.
85505         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85506         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85507         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85508         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85509         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85510         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85511         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85512         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85513         (REG_INTERVALS): renamed from RE_INTERVALS.
85514         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85515         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85516         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85517         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85518         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85519         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85520         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85521         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85522         RE_UNMATCHED_RIGHT_PAREN_ORD.
85523         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85524         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85525         (REG_DEBUG): renamed from RE_DEBUG.
85526         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85527         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85528         unusual, since we can't clash with the POSIX REG_ICASE.
85529         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85530         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85531         (REG_NO_SUB): renamed from RE_NO_SUB.
85532         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85533         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85534         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85535         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85536         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85537         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85538         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85539         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85540         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85541         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85542         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85543         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85544         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85545         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85546         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85547         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85548         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85549         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85550         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85551         (REG_FIXED): Renamed from REGS_FIXED.
85552         (REG_NREGS): Renamed from RE_NREGS.
85553
85554         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85555         of other REG_* macros, since POSIX says the user is allowed to
85556         #undef these macros selectively.
85557
85558         (reg_errcode_t): Update comment stating what other tables need
85559         to be consistent.
85560
85561         Rename the following enum values to obey POSIX requirements.
85562         The old names are still visible as macros.
85563         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85564         is not defined, since GNU is supposed to be a superset of POSIX as
85565         much as possible, and since we want reg_errcode_t to be a signed
85566         type for implementation consistency.
85567         (_REG_NOERROR): Renamed from REG_NOERROR.
85568         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85569         (_REG_BADPAT): Renamed from REG_BADPAT.
85570         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85571         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85572         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85573         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85574         (_REG_EBRACK): Renamed from REG_EBRACK.
85575         (_REG_EPAREN): Renamed from REG_EPAREN.
85576         (_REG_EBRACE): Renamed from REG_EBRACE.
85577         (_REG_BADBR): Renamed from REG_BADBR.
85578         (_REG_ERANGE): Renamed from REG_ERANGE.
85579         (_REG_ESPACE): Renamed from REG_ESPACE.
85580         (_REG_BADRPT): Renamed from REG_BADRPT.
85581         (_REG_EEND): Renamed from REG_EEND.
85582         (_REG_ESIZE): Renamed from REG_ESIZE.
85583         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85584         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85585         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85586         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85587         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85588
85589         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85590         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85591         changed.  But support the old name if the new one is not defined
85592         and if _REGEX_SOURCE.
85593
85594         Change the following member names in struct re_pattern_buffer.
85595         The old names are still supported if !_REGEX_SOURCE.
85596         The new names are always supported, regardless of _REGEX_SOURCE.
85597         (re_buffer): Renamed from buffer.
85598         (re_allocated): Renamed from allocated.
85599         (re_used): Renamed from used.
85600         (re_syntax): Renamed from syntax.
85601         (re_fastmap): Renamed from fastmap.
85602         (re_translate): Renamed from translate.
85603         (re_can_be_null): Renamed from can_be_null.
85604         (re_regs_allocated): Renamed from regs_allocated.
85605         (re_fastmap_accurate): Renamed from fastmap_accurate.
85606         (re_no_sub): Renamed from no_sub.
85607         (re_not_bol): Renamed from not_bol.
85608         (re_not_eol): Renamed from not_eol.
85609         (re_newline_anchor): Renamed from newline_anchor.
85610
85611         Change the following member names in struct re_registers.
85612         The old names are still supported if !_REGEX_SOURCE.
85613         The new names are always supported, regardless of _REGEX_SOURCE.
85614         (rm_num_regs): Renamed from num_regs.
85615         (rm_start): Renamed from start.
85616         (rm_end): Renamed from end.
85617
85618         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85619         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85620         Prepend __ to parameter names.
85621
85622         Undo yesterday's changes.
85623
85624 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85625
85626         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85627         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85628         lib/regex.c.
85629
85630 2005-08-24  Jim Meyering  <jim@meyering.net>
85631
85632         Sync from coreutils.
85633         * m4/fcntl-safer.m4: New file.
85634
85635         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85636         and object files for this module.
85637
85638 2005-08-24  Jim Meyering  <jim@meyering.net>
85639
85640         Sync from coreutils.
85641         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85642
85643 2005-08-24  Jim Meyering  <jim@meyering.net>
85644
85645         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85646         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85647
85648 2005-08-24  Jim Meyering  <jim@meyering.net>
85649
85650         * modules/fcntl-safer: New module.
85651         * modules/fts (Depends-on): Add fcntl-safer.
85652         * MODULES.html.sh (File descriptor based Input/Output):
85653         Add fcntl-safer.
85654
85655 2005-08-24  Bruno Haible  <bruno@clisp.org>
85656
85657         Support for unit test modules.
85658         * modules/README: Mention tests modules.
85659         * modules/TEMPLATE-TESTS: New file.
85660         * gnulib-tool: New options --extract-tests-module, --with-tests and
85661         --tests-base (unused for the moment).
85662         (testsbase, inctests): New variables.
85663         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85664         (func_verify_module): Exclude TEMPLATE-TESTS.
85665         (func_verify_nontests_module, func_verify_tests_module): New functions.
85666         (func_get_dependencies): Add implicit dependency for tests modules.
85667         (func_get_tests_module): New function.
85668         (func_modules_transitive_closure): When --with-tests was specified,
85669         include the unit tests as well, unless explicitly avoided.
85670         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85671         (func_emit_tests_Makefile_am): New function.
85672         (func_create_testdir): When --with-tests was specified, emit a
85673         tests/ directory.
85674         * MODULES.html.sh (Future developments): Update.
85675
85676 2005-08-24  Bruno Haible  <bruno@clisp.org>
85677
85678         * modules/tls-tests: New file.
85679         * tests/test-tls.c: New file, from GNU gettext.
85680
85681 2005-08-24  Bruno Haible  <bruno@clisp.org>
85682
85683         * modules/lock-tests: New file.
85684         * tests/test-lock.c: New file, from GNU gettext.
85685
85686 2005-08-24  Bruno Haible  <bruno@clisp.org>
85687
85688         * lib/lock.h: Add multiple inclusion guard.
85689         * lib/tls.h: Add multiple inclusion guard.
85690
85691 2005-08-24  Bruno Haible  <bruno@clisp.org>
85692
85693         * gnulib-tool: Add support for the --aux-dir option to
85694         --create-testdir, --create-megatestdir, --test, --megatest.
85695         (func_create_testdir, func_create_megatestdir): Optionally emit a
85696         AC_CONFIG_AUX_DIR directive.
85697         (create-testdir, create-megatestdir, test, megatest): Provide a
85698         default value for $auxdir.
85699
85700 2005-08-24  Bruno Haible  <bruno@clisp.org>
85701
85702         * gnulib-tool (import): Use compound statement instead of subshell
85703         where possible.
85704
85705 2005-08-24  Bruno Haible  <bruno@clisp.org>
85706
85707         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85708
85709 2005-08-24  Bruno Haible  <bruno@clisp.org>
85710
85711         * gnulib-tool (func_version): Update.
85712
85713 2005-08-24  Bruno Haible  <bruno@clisp.org>
85714
85715         * gnulib-tool (func_import, func_create_testdir,
85716         func_create_megatestdir): Quote all autoconf macro arguments.
85717
85718 2005-08-24  Bruno Haible  <bruno@clisp.org>
85719
85720         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85721         option --force, because --force causes the aclocal.m4 of each
85722         subdirectory to be newer than the corresponding config.h.in.
85723
85724 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85725
85726         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85727         All contents moved to gl_REGEX.
85728         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85729         assume that it does.
85730
85731 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85732
85733         * lib/regex.h (REG_NOSYS)
85734         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85735         Define, since POSIX requires it as of 2001.
85736         (_REG_ENOSYS)
85737         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85738         New private symbol, used to keep the enum signed in all cases.
85739         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85740         Youngman in
85741         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85742
85743         * lib/regex_internal.c (re_string_skip_chars, register_state):
85744         (calc_state_hash):
85745         Remove forward decls; no longer needed now that we use prototypes.
85746         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85747         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85748         (clean_state_log_if_needed): Likewise.
85749
85750 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85751
85752         * config/srclist.txt: Add glibc bugs 1231-1233.
85753
85754 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85755
85756         Fix problems reported by Sam Steingold in
85757         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85758         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85759         assumed that reg_errcode_t is a signed type, which is not
85760         necessarily true if _XOPEN_SOURCE is not defined.
85761         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85762         since some compilers warn about it otherwise.
85763
85764 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85765
85766         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85767         (init_word_char, create_initial_state, duplicate_node_closure):
85768         (fetch_token, peek_token_bracket, build_range_exp):
85769         (build_collating_symbol): Remove forward decls; no longer needed
85770         now that we use prototypes.
85771
85772         * lib/regcomp.c:
85773         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85774         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85775         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85776         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85777         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85778         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85779         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85780         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85781         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85782         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85783         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85784         (build_charclass, build_charclass_op, fetch_number, create_tree):
85785         (create_token_tree, mark_opt_subexp, duplicate_tree):
85786         Use prototypes rather than old-style definitions.
85787
85788         * lib/regex_internal.c:
85789         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85790         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85791         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85792         (re_string_reconstruct, re_string_peek_byte_case):
85793         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85794         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85795         (re_node_set_init_copy, re_node_set_add_intersect):
85796         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85797         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85798         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85799         (re_acquire_state, re_acquire_state_context, register_state):
85800         (create_ci_newstate, create_cd_newstate, free_state):
85801         Likewise.
85802         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85803         re_search_2):
85804         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85805         (re_search_internal, prune_impossible_nodes):
85806         (acquire_init_state_context, check_matching, static):
85807         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85808         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85809         (update_regs, sift_states_backward, build_sifted_states):
85810         (clean_state_log_if_needed, merge_state_array):
85811         (update_cur_sifted_state, add_epsilon_src_nodes):
85812         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85813         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85814         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85815         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85816         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85817         (check_arrival, check_arrival_add_next_nodes):
85818         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85819         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85820         (check_node_accept_bytes, check_node_accept, extend_buffers):
85821         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85822         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85823         (sift_ctx_init):
85824         Likewise.
85825
85826         * lib/regex_internal.h:
85827         (re_string_allocate, re_string_construct, re_string_reconstruct):
85828         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85829         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85830         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85831         (re_string_context_at, re_string_peek_byte_case):
85832         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85833         is defined, since we now use prototypes always.
85834
85835         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85836         C89 or better.  All uses removed.
85837
85838 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85839
85840         * config/srclist.txt: Add glibc bugs 1220-1227.
85841
85842 2005-08-20  Jim Meyering  <jim@meyering.net>
85843
85844         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85845         of unused local, dfa.
85846
85847 2005-08-20  Bruno Haible  <bruno@clisp.org>
85848
85849         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85850
85851 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85852
85853         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85854         (re_node_set_insert_last, re_dfa_add_node):
85855         Rename local variables to avoid GCC shadowing warnings.
85856
85857 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85858
85859         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85860         [defined lint]: Suppress bogus uninitialized-variable warnings.
85861
85862         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85863         and let the caller return REG_ESPACE if out of space.  This
85864         removes an uninitialied-variable warning with GCC 4.0.1, and also
85865         avoids taking the address of a local variable.  All callers
85866         changed.
85867
85868 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85869
85870         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85871         $LIBCSRC/posix/regexec.c.
85872         Add glibc bug 1217 for regcomp.c.
85873
85874 2005-08-19  Jim Meyering  <jim@meyering.net>
85875
85876         * lib/regexec.c (proceed_next_node): Redo local variables to
85877         avoid GCC shadowing warnings.
85878
85879 2005-08-18  Bruno Haible  <bruno@clisp.org>
85880
85881         * lib/strstr.c (strstr): Fix return value in multibyte case.
85882         * lib/strcasestr.c (strcasestr): Likewise.
85883
85884 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85885
85886         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85887
85888 2005-08-17  Jim Meyering  <jim@meyering.net>
85889
85890         Make the %s format (seconds since the epoch) work for a negative
85891         number and when used with a zero-padded field width, e.g. %015s.
85892
85893         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85894         label so that it precedes the code to set `digits'.  Otherwise,
85895         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85896         print `00-22'.  Now, it prints `-0022', as it should.
85897
85898 2005-08-17  Bruno Haible  <bruno@clisp.org>
85899
85900         * modules/strstr (Files): Add m4/mbrtowc.m4.
85901         (Depends-on): Add mbuiter.
85902
85903 2005-08-17  Bruno Haible  <bruno@clisp.org>
85904
85905         * modules/strcasestr: New file.
85906         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85907         strcasestr.
85908
85909 2005-08-17  Bruno Haible  <bruno@clisp.org>
85910
85911         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85912
85913 2005-08-17  Bruno Haible  <bruno@clisp.org>
85914
85915         * modules/mbuiter: New file.
85916         * MODULES.html.sh (Extended multibyte and wide character utilities):
85917         Add mbuiter.
85918
85919 2005-08-17  Bruno Haible  <bruno@clisp.org>
85920
85921         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85922         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85923
85924 2005-08-17  Bruno Haible  <bruno@clisp.org>
85925
85926         * m4/strcasestr.m4: New file.
85927
85928 2005-08-17  Bruno Haible  <bruno@clisp.org>
85929
85930         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85931         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85932
85933 2005-08-17  Bruno Haible  <bruno@clisp.org>
85934
85935         * lib/strcasestr.h: New file.
85936         * lib/strcasestr.c: New file.
85937
85938 2005-08-17  Bruno Haible  <bruno@clisp.org>
85939
85940         * lib/strcasecmp.c: Use mbuiter.h.
85941
85942 2005-08-17  Bruno Haible  <bruno@clisp.org>
85943
85944         * lib/mbuiter.h: New file.
85945
85946 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85947
85948         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85949         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85950         and gl_GETOPT are both invoked via different paths (as happens
85951         with GNU tar CVS because it uses both argp and getopt), the former
85952         wins.
85953
85954 2005-08-16  Bruno Haible  <bruno@clisp.org>
85955
85956         * modules/tls: New file.
85957         * MODULES.html.sh (Multithreading): Add tls.
85958
85959 2005-08-16  Bruno Haible  <bruno@clisp.org>
85960
85961         * modules/strnlen1: New file.
85962         * MODULES.html.sh (String handling): Add strnlen1.
85963
85964 2005-08-16  Bruno Haible  <bruno@clisp.org>
85965
85966         * modules/strcase (Files): Add m4/mbrtowc.m4.
85967         (Depends-on): Add strnlen1, mbchar.
85968
85969 2005-08-16  Bruno Haible  <bruno@clisp.org>
85970
85971         * modules/mbiter: New file.
85972         * MODULES.html.sh (Extended multibyte and wide character utilities):
85973         Add mbiter.
85974
85975 2005-08-16  Bruno Haible  <bruno@clisp.org>
85976
85977         * modules/mbfile: New file.
85978         * MODULES.html.sh (Extended multibyte and wide character utilities):
85979         Add mbfile.
85980
85981 2005-08-16  Bruno Haible  <bruno@clisp.org>
85982
85983         * modules/mbchar: New file.
85984         * MODULES.html.sh (Extended multibyte and wide character utilities):
85985         New section.
85986
85987 2005-08-16  Bruno Haible  <bruno@clisp.org>
85988
85989         * m4/tls.m4: New file, from GNU gettext.
85990
85991 2005-08-16  Bruno Haible  <bruno@clisp.org>
85992
85993         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85994         always.
85995         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85996
85997 2005-08-16  Bruno Haible  <bruno@clisp.org>
85998
85999         * m4/mbiter.m4: New file.
86000
86001 2005-08-16  Bruno Haible  <bruno@clisp.org>
86002
86003         * m4/mbfile.m4: New file.
86004
86005 2005-08-16  Bruno Haible  <bruno@clisp.org>
86006
86007         * m4/mbchar.m4: New file.
86008
86009 2005-08-16  Bruno Haible  <bruno@clisp.org>
86010
86011         * lib/tls.h: New file, from GNU gettext.
86012         * lib/tls.c: New file, from GNU gettext.
86013
86014 2005-08-16  Bruno Haible  <bruno@clisp.org>
86015
86016         * lib/strnlen1.h: New file.
86017         * lib/strnlen1.c: New file.
86018
86019 2005-08-16  Bruno Haible  <bruno@clisp.org>
86020
86021         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86022         (mbi_init): Update.
86023         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86024         NUL byte, not after it.
86025
86026 2005-08-16  Bruno Haible  <bruno@clisp.org>
86027
86028         * lib/strcase.h (strcasecmp): Add note in comments.
86029         * lib/strncasecmp.c: Use code from strcasecmp.c.
86030         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86031         (strcasecmp): Work correctly in multibyte locales.
86032
86033 2005-08-16  Bruno Haible  <bruno@clisp.org>
86034
86035         * lib/mbiter.h: New file.
86036
86037 2005-08-16  Bruno Haible  <bruno@clisp.org>
86038
86039         * lib/mbfile.h: New file.
86040
86041 2005-08-16  Bruno Haible  <bruno@clisp.org>
86042
86043         * lib/mbchar.h: New file.
86044         * lib/mbchar.c: New file.
86045
86046 2005-08-16  Bruno Haible  <bruno@clisp.org>
86047
86048         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86049         the valid ones. Makes the comparison operations transitive:
86050         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86051         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86052
86053 2005-08-15  Simon Josefsson  <jas@extundo.com>
86054
86055         * modules/ssize_t (License): Change to 'unlimited'.
86056
86057         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86058
86059 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86060
86061         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86062         Add comments for each pending glibc patch.
86063
86064 2005-08-15  Bruno Haible  <bruno@clisp.org>
86065
86066         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86067         __cplusplus is defined.
86068
86069 2005-08-14  Jim Meyering  <jim@meyering.net>
86070
86071         Sync from coreutils.
86072
86073         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86074         Use the hash-table-based cycle-detection code not just when
86075         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86076         Reported by James Youngman in
86077         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86078         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86079         FTS_TIGHT_CYCLE_CHECK.
86080         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86081         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86082         once again.
86083         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86084         * lib/fts.c (fd_safer): Remove decl.
86085         Include fcntl--.h rather than unistd-safer.h
86086         (fts_safe_changedir): Don't call fd_safer; no longer needed
86087         now that we include fcntl--.h.
86088
86089 2005-08-12  Simon Josefsson  <jas@extundo.com>
86090
86091         * modules/getndelim2: Use ssize_t module.
86092         * modules/getnline: Likewise.
86093         * modules/safe-read: Likewise.
86094         * modules/xreadlink: Likewise.
86095
86096         * modules/ssize_t: New file.
86097
86098 2005-08-12  Simon Josefsson  <jas@extundo.com>
86099
86100         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86101
86102 2005-08-12  Simon Josefsson  <jas@extundo.com>
86103
86104         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86105         ssize_t.
86106
86107 2005-08-12  Simon Josefsson  <jas@extundo.com>
86108
86109         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86110         readline, getdelim and check_version.
86111         (Support for systems lacking ISO C 99: Sizes of integer types):
86112         Add size_max.
86113
86114 2005-08-12  Bruno Haible  <bruno@clisp.org>
86115
86116         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86117
86118 2005-08-11  Simon Josefsson  <jas@extundo.com>
86119
86120         * modules/readline: New file.
86121
86122         * modules/strnlen (Files): Add strnlen.h.
86123
86124 2005-08-11  Simon Josefsson  <jas@extundo.com>
86125
86126         * m4/readline.m4: New file.
86127
86128 2005-08-11  Simon Josefsson  <jas@extundo.com>
86129
86130         * lib/readline.h, readline.c: New file.
86131
86132 2005-08-11  Simon Josefsson  <jas@extundo.com>
86133
86134         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86135         gl_AVOID.
86136
86137 2005-08-11  Bruno Haible  <bruno@clisp.org>
86138
86139         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86140
86141 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86142
86143         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86144
86145 2005-08-10  Simon Josefsson  <jas@extundo.com>
86146
86147         * tests/test-iconvme.c: New file.
86148
86149 2005-08-10  Simon Josefsson  <jas@extundo.com>
86150
86151         * m4/strnlen.m4: New file.
86152
86153         * m4/strndup.m4: Don't check for strnlen declaration, done in
86154         strnlen.m4.
86155
86156 2005-08-10  Simon Josefsson  <jas@extundo.com>
86157
86158         * lib/strndup.c: Use strnlen.h.
86159
86160         * lib/strnlen.h: New file.
86161
86162 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86163
86164         * README: Typos.
86165
86166 2005-08-02  Simon Josefsson  <jas@extundo.com>
86167
86168         * modules/readline: New file.
86169
86170 2005-08-02  Simon Josefsson  <jas@extundo.com>
86171
86172         * modules/getdelim: New file.
86173
86174         * modules/getline: Rewrite, don't use getndelim2.
86175
86176 2005-08-02  Simon Josefsson  <jas@extundo.com>
86177
86178         * m4/getline.m4: Separate out getdelim stuff into separate module.
86179
86180         * m4/getdelim.m4: New file.
86181
86182 2005-08-02  Simon Josefsson  <jas@extundo.com>
86183
86184         * lib/getline.h, getline.c: Rewrite.
86185
86186         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86187
86188 2005-07-31  Bruno Haible  <bruno@clisp.org>
86189
86190         * lib/lock.h (gl_lock_initializer): New macro.
86191         (gl_lock_define_initialized): Use it.
86192         (gl_rwlock_initializer): New macro.
86193         (gl_rwlock_define_initialized): Use it.
86194         (gl_recursive_lock_initializer): New macro.
86195         (gl_recursive_lock_define_initialized): Use it.
86196
86197 2005-07-30  Karl Berry  <karl@gnu.org>
86198
86199         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86200         Report from Ben Pfaff, regarding getopt.
86201
86202 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86203
86204         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86205         normal way.
86206         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86207         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86208         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86209         (gl_GETOPT): Use the new macros.  Most of the implementation
86210         is moved to the new macros.  This is for programs like Emacs
86211         that don't want all the functionality of gl_GETOPT.
86212
86213 2005-07-26  Bruno Haible  <bruno@clisp.org>
86214
86215         * m4/lock.m4: Update from GNU gettext.
86216
86217 2005-07-26  Bruno Haible  <bruno@clisp.org>
86218
86219         * lib/lock.h: Update from GNU gettext.
86220         * lib/lock.c: Update from GNU gettext.
86221
86222 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86223
86224         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86225         obsolescent AC_TRY_RUN.  Include the default includes files, for
86226         'exit'.
86227
86228 2005-07-24  Bruno Haible  <bruno@clisp.org>
86229
86230         * modules/visibility: New file.
86231         * MODULES.html.sh (Misc): Add visibility.
86232
86233 2005-07-24  Bruno Haible  <bruno@clisp.org>
86234
86235         * m4/visibility.m4: New file.
86236
86237 2005-07-24  Bruno Haible  <bruno@clisp.org>
86238
86239         * doc/visibility.texi: New file.
86240
86241 2005-07-22  Bruno Haible  <bruno@clisp.org>
86242
86243         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86244         $(ALLOCA_H), redundant through BUILT_SOURCES.
86245         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86246         redundant through BUILT_SOURCES.
86247         * modules/byteswap (Makefile.am): Remove explicit dependency on
86248         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86249         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86250         $(FNMATCH_H), redundant through BUILT_SOURCES.
86251         * modules/getopt (Makefile.am): Remove explicit dependency on
86252         $(GETOPT_H), redundant through BUILT_SOURCES.
86253         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86254         redundant through BUILT_SOURCES.
86255         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86256         redundant through BUILT_SOURCES.
86257         * modules/stdbool (Makefile.am): Remove explicit dependency on
86258         $(STDBOOL_H), redundant through BUILT_SOURCES.
86259         * modules/stdint (Makefile.am): Remove explicit dependency on
86260         $(STDINT_H), redundant through BUILT_SOURCES.
86261         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86262         Remove explicit dependency on $(SYSEXITS_H).
86263         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86264
86265 2005-07-18  Simon Josefsson  <jas@extundo.com>
86266
86267         * lib/check-version.c (check_version): Accept identical versions too.
86268
86269 2005-07-18  Bruno Haible  <bruno@clisp.org>
86270
86271         * modules/lock: New file.
86272         * MODULES.html.sh (Multithreading): New section.
86273
86274 2005-07-18  Bruno Haible  <bruno@clisp.org>
86275
86276         * m4/lock.m4: New file, from GNU gettext.
86277
86278 2005-07-18  Bruno Haible  <bruno@clisp.org>
86279
86280         * lib/lock.h: New file, from GNU gettext.
86281         * lib/lock.c: New file, from GNU gettext.
86282
86283 2005-07-18  Bruno Haible  <bruno@clisp.org>
86284
86285         * lib/lock.h (gl_once_t): New type.
86286         (gl_once_define, gl_once): New macros.
86287         * lib/lock.c (fresh_once): New variable.
86288         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86289         functions.
86290
86291 2005-07-16  Simon Josefsson  <jas@extundo.com>
86292
86293         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86294         workaround, suggested by Bruno.
86295
86296 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86297
86298         * modules/xalloc (Depends-on): Add xalloc-die.
86299         * modules/xvasprintf (Depends-on): Add xalloc-die.
86300
86301 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86302
86303         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86304         with a minor change.
86305
86306 2005-07-15  Bruno Haible  <bruno@clisp.org>
86307
86308         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86309         When using lib/poll.c, define poll as rpl_poll.
86310
86311 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86312
86313         * modules/argp (Depends-on): Remove unlocked-io.
86314
86315 2005-07-14  Derek Price  <derek@ximbiot.com>
86316
86317         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86318         for glob symlink bug.
86319
86320 2005-07-14  Bruno Haible  <bruno@clisp.org>
86321
86322         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86323         Instead, test for *_unlocked function declarations directly.
86324
86325 2005-07-11  Simon Josefsson  <jas@extundo.com>
86326
86327         * modules/size_max: New file.
86328
86329         * modules/xsize: Depend on size_max module for size_max.m4.
86330
86331 2005-07-11  Simon Josefsson  <jas@extundo.com>
86332
86333         * lib/size_max.h: New file.
86334
86335 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86336
86337         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86338         copyright symbol and the year.
86339         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86340         (version_etc_va): Use parameterized copyright notice.
86341         Reword to conform to the current GNU coding standards.
86342
86343 2005-07-11  Karl Berry  <karl@gnu.org>
86344
86345         * doc/gnulib.texi (Quoting): new node.
86346         (Initial import): more info, from Patrice.
86347
86348 2005-07-11  Bruno Haible  <bruno@clisp.org>
86349
86350         * gnulib-tool (func_usage): Document option --avoid.
86351         (Command line options): Handle --avoid.
86352         (func_acceptable): New function.
86353         (func_modules_transitive_closure): Use it.
86354
86355 2005-07-11  Bruno Haible  <bruno@clisp.org>
86356
86357         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86358         Reported by Jim Meyering.
86359
86360 2005-07-10  Bruno Haible  <bruno@clisp.org>
86361
86362         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86363         Needed when size_t is smaller than 'unsigned int'.
86364         Reported by Paul Eggert.
86365
86366 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86367
86368         * modules/argp (Depends-on): Add unlocked-io
86369
86370 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86371
86372         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86373         block of defines.
86374
86375 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86376
86377         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86378         fix now.
86379
86380 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86381         and Paul Eggert  <eggert@cs.ucla.edu>
86382
86383         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86384         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86385
86386 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86387
86388         * modules/regex (Files): Add lib/regex_internal.c,
86389         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86390         (Depends-on): Add extensions.
86391         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86392
86393 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86394
86395         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86396         pathconf.
86397         * m4/same.m4 (gl_SAME): Likewise.
86398         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86399
86400         * m4/regex.m4: Adjust to new libc regex implementation.
86401         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86402         all the .c and .h parts of (the new) regex.
86403         Quote the m4 stuff better.
86404         Check for RE_ICASE bug of old gnulib.
86405         Check for REG_STARTEND of recent libc.
86406         Rename local variables from jm_* to gl_*.
86407         Quote operand of "test -f".
86408         Say "recent enough" version of libc, not "version 2".
86409         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86410         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86411         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86412         Remove check for btowc, isascii.
86413         Require AM_LANGINFO_CODESET.
86414
86415 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86416
86417         * lib/regex.c, regex.h: Sync from libc.
86418         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86419         * lib/regexec.c:
86420         New files, synced from libc, except that regex_internal.h
86421         currently has a small porting fix.
86422
86423 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86424
86425         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86426         regex_internal.c, regexec.c.
86427         Add regex_internal.h too, but as a comment, since the libc version
86428         is currently broken in gnulib mode.
86429
86430 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86431
86432         Support programs like Emacs that use gnulib but not gettext.
86433         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86434         * modules/gettext-h: New file.
86435         * modules/gettext (Files): Remove lib/gettext.h.
86436         (Depends-on): Add gettext-h.
86437         (Makefile.am): Remove lib_SOURCES.
86438         * modules/argmatch, modules/c-stack, modules/closeout:
86439         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86440         * modules/execute, modules/file-type, modules/getaddrinfo:
86441         * modules/getopt, modules/human, modules/javacomp:
86442         * modules/javaexec, modules/mkdir-p, modules/obstack:
86443         * modules/openat, modules/pagealign_alloc, modules/pipe:
86444         * modules/quotearg, modules/regex, modules/rpmatch:
86445         * modules/unicodeio, modules/userspec, modules/version-etc:
86446         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86447         * modules/xsetenv:
86448         Depend on gettext-h, not gettext.
86449
86450 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86451
86452         * gnulib-tool (func_import): Add support for 'public domain' license.
86453         * modules/alloca, modules/atexit, modules/memmove:
86454         Now public domain, not GPL.
86455         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86456         * modules/realloc, modules/strerror, modules/strtod:
86457         Now LGPL, not GPL.
86458
86459 2005-07-05  Bruno Haible  <bruno@clisp.org>
86460
86461         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86462         autoconf CVS. Needed for mingw.
86463
86464 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86465
86466         Remove the dependency of the strftime module on the tzset module.
86467         * modules/strftime (Depends-on): Remove dependency on tzset.
86468
86469 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86470
86471         Remove the dependency of the strftime module on the tzset module.
86472         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86473         gl_FUNC_TZSET_CLOBBER.
86474
86475 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86476
86477         Remove the dependency of the strftime module on the tzset module.
86478         * lib/strftime.c (my_strftime)
86479         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86480         Copy the input structure, to work around some of the bug with
86481         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86482         Solaris releases, you should also use the tzset module, but we won't
86483         require it as a dependency any more since we don't want LGPLed code
86484         to depend on GPLed code.
86485
86486 2005-07-02  Jim Meyering  <jim@meyering.net>
86487
86488         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86489         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86490         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86491         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86492
86493 2005-07-02  Jim Meyering  <jim@meyering.net>
86494
86495         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86496
86497 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86498
86499         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86500         declares only 'struct timespec;' (!).
86501
86502 2005-07-01  Jim Meyering  <jim@meyering.net>
86503
86504         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86505         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86506         * lib/save-cwd.c, tempname.c:
86507         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86508         and don't include <sys/file.h>).
86509
86510 2005-06-29  Jim Meyering  <jim@meyering.net>
86511
86512         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86513         type name.  Use the variable name instead.
86514         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86515         Likewise.
86516
86517 2005-06-28  Simon Josefsson  <jas@extundo.com>
86518
86519         * modules/check-version (Files): Add check-version.m4.
86520
86521 2005-06-28  Simon Josefsson  <jas@extundo.com>
86522
86523         * m4/check-version.m4: New file, suggested by Jim Meyering
86524         <jim@meyering.net>.
86525
86526 2005-06-28  Simon Josefsson  <jas@extundo.com>
86527
86528         * lib/check-version.h, lib/check-version.c: New files.
86529
86530 2005-06-28  Simon Josefsson  <jas@extundo.com>
86531
86532         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86533         collision with global variable.  Better indentation.  Don't
86534         increment buffer pointer beyond buffer end.  Based on comments
86535         from Paul Eggert <eggert@cs.ucla.edu>.
86536
86537         * lib/base64.h: Indent.
86538
86539 2005-06-28  Simon Josefsson  <jas@extundo.com>
86540
86541         * doc/gnulib.texi (Library version handling): New section.
86542
86543 2005-06-28  Jim Meyering  <jim@meyering.net>
86544
86545         * check-module (find_included_lib_files): Hard-code another
86546         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86547         but modules/fts-lgpl (correctly) does not list those files.
86548
86549         * modules/canonicalize (Files): Add lib/pathmax.h.
86550
86551 2005-06-25  Simon Josefsson  <jas@extundo.com>
86552
86553         * modules/check-version: New file.
86554
86555 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86556
86557         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86558         initializer of struct addrinfo, as an indication that we don't
86559         care how many members the structure has.
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         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86566         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86567         * m4/stat.m4: Remove this file.
86568
86569 2005-06-24  Derek Price  <derek@ximbiot.com>
86570         and Bruno Haible  <bruno@clisp.org>
86571
86572         Remove stat module & update lstat.
86573         * lib/stat.c: Remove this file...
86574         (slash_aware_lstat): ...moving this content and its support...
86575         * lib/lstat.c (rpl_lstat): ...into here.
86576         * lib/lstat.h: New file.
86577
86578 2005-06-24  Derek Price  <derek@ximbiot.com>
86579         and Bruno Haible  <bruno@clisp.org>
86580
86581         Remove stat module & update lstat.
86582         * config/srclist.txt (libc sources): Remove stat.
86583
86584 2005-06-24  Derek Price  <derek@ximbiot.com>
86585         and Bruno Haible  <bruno@clisp.org>
86586
86587         Remove stat module & update lstat.
86588         * MODULES.html.sh (stat): Remove.
86589         * MODULES.html: Regenerated.
86590         * modules/lstat (Description): Correct function name.
86591         (Files): Add "lstat.h".
86592         (Depends-on): Remove stat, add xalloc, stat-macros.
86593         * modules/stat: Remove this file.
86594         (Include): Add "lstat.h", remove <sys/stat.h>.
86595
86596 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86597
86598         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86599         (ranged_convert): Don't save conversion in a temporary struct.
86600         This causes a warning with GCC 4.0.0, and anyway in the typical
86601         case it's not worth the extra 100 bytes or so of code.
86602         (ranged_convert, __mktime_internal): When calling a function via a
86603         pointer P, use P () rather than (*P) (), as we now assume C89 or
86604         better.
86605
86606 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86607
86608         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86609         "who -r" failed to give output.  Problem reported by Tim Waugh.
86610
86611         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86612         (xcalloc): Use it to avoid needless tests.
86613         Problem reported by Jim Meyering.
86614
86615 2005-06-20  Derek Price  <derek@ximbiot.com>
86616
86617         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86618         unnecessary for Autoconfs > 2.59c.
86619
86620 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86621
86622         * lib/argp.h (__option_is_short): Check upper limit of
86623         __key. Isprint() requires its argument to have the value
86624         of an unsigned char or EOF.
86625
86626 2005-06-16  Jim Meyering  <jim@meyering.net>
86627
86628         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86629         when either N or S is zero.
86630
86631 2005-06-16  Derek Price  <derek@ximbiot.com>
86632
86633         * m4/bison.m4: Declare YACC & YFLAGS precious.
86634
86635 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86636
86637         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86638         multibyte string or pattern, fall back on unibyte matching.
86639         Problem reported by James Youngman.
86640
86641 2005-06-08  Bruno Haible  <bruno@clisp.org>
86642
86643         * modules/csharpcomp: New file.
86644         * MODULES.html.sh (C#): Add csharpcomp.
86645
86646 2005-06-08  Bruno Haible  <bruno@clisp.org>
86647
86648         * m4/csharpcomp.m4: New file, from GNU gettext.
86649
86650 2005-06-08  Bruno Haible  <bruno@clisp.org>
86651
86652         * lib/csharpcomp.h: New file, from GNU gettext.
86653         * lib/csharpcomp.c: New file, from GNU gettext.
86654         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86655
86656 2005-06-08  Bruno Haible  <bruno@clisp.org>
86657
86658         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86659         warning on mingw.
86660
86661 2005-06-07  Derek Price  <derek@ximbiot.com>
86662
86663         Sync from CVS.
86664         * lib/glob_.h: Indent nested #ifdef.
86665
86666 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86667
86668         Sync from coreutils.
86669         Use "file name" when talking about file names, instead of "filename"
86670         or "path", as per the GNU coding standards.
86671         * lib/mkdir-p.c: Renamed from makepath.c.
86672         (make_dir_parents): Renamed from make_path.  All callers changed.
86673         * lib/mkdir-p.h: Likewise.  All includers changed.
86674         * lib/filenamecat.c: Renamed from path-concat.c.
86675         (file_name_concat): Renamed from path_concat.  All callers changed.
86676         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86677         * lib/filenamecat.h: Likewise.  All includers changed.
86678         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86679         in comments or local variable names.
86680         * lib/basename.c: Likewise.
86681         * lib/canonicalize.c, canonicalize.h: Likewise.
86682         * lib/dirname.c, dirname.h: Likewise.
86683         * lib/euidaccess.c: Likewise.
86684         * lib/exclude.c: Likewise
86685         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86686         * lib/fsusage.c, fsuage.h: Likewise.
86687         * lib/fts.c, fts_.h: Likewise.
86688         * lib/getcwd.c: Likewise.
86689         * lib/getloadavg.c: Likewise.
86690         * lib/mkstemp.c: Likewise.
86691         * lib/mountlist.c, mountlist.h: Likewise.
86692         * lib/openat.c, openat.h: Likewise.
86693         * lib/readlink-stub.c: Likewise.
86694         * lib/readutmp.c, readutmp.h: Likewise.
86695         * lib/rename.c: Likewise.
86696         * lib/rmdir.c: Likewise.
86697         * lib/same.c: Likewise.
86698         * lib/savedir.c: Likewise.
86699         * lib/stripslash.c: Likewise.
86700         * lib/tempname.c: Likewise.
86701         * lib/xreadlink.c: Likewise.
86702         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86703         All uses changed.
86704         * lib/exclude.h: Likewise.
86705
86706         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86707         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86708         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86709         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86710         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86711         files have been getting away with it for years (MORE/BSD 4.3
86712         is extinct now).
86713         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86714         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86715
86716         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86717         Define to 256, not 255, as per modern POSIX.
86718
86719 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86720
86721         Sync from coreutils.
86722         Use "file name" when talking about file names, instead of "filename"
86723         or "path", as per the GNU coding standards.
86724         * MODULES.html.sh: mkdir-p renamed from makepath.
86725         filenamecat renamed from path-concat.
86726         * modules/filenamecat: Renamed from modules/path-concat.
86727         (Files): filenamecat.h and filenamecat.c renamed from
86728         path-concat.h and path-concat.c.
86729         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86730         (Include): filenamecat.h, not path-concat.h.
86731         * modules/mkdir-p: Renamed from modules/makepath.
86732         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86733         makepath.c.
86734         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86735         (Include): mkdir-p.h, not makepath.h.
86736
86737 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86738
86739         Sync from coreutils.
86740         * m4/mkdir-p.m4: Renamed from makepath.m4.
86741         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86742         Rename files from makepath.c to mkdir-p.c, and from
86743         makepath.h to mkdir-p.h.
86744         * m4/filenamecat.m4: Renamed from path-concat.m4.
86745         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86746         Rename files from path-concat.c to filenamecat.c,
86747         and from path-concat.h to filenamecat.h.
86748         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86749         "file name" in local variables or comments.
86750         * m4/rename.m4: Likewise.
86751
86752 2005-06-01  Bruno Haible  <bruno@clisp.org>
86753
86754         * modules/csharpexec: New file.
86755         * MODULES.html.sh (C#): New section.
86756
86757 2005-06-01  Bruno Haible  <bruno@clisp.org>
86758
86759         * m4/csharp.m4: New file, from GNU gettext.
86760         * m4/csharpexec.m4: New file, from GNU gettext.
86761
86762 2005-06-01  Bruno Haible  <bruno@clisp.org>
86763
86764         * lib/csharpexec.h: New file, from GNU gettext.
86765         * lib/csharpexec.c: New file, from GNU gettext.
86766         * lib/csharpexec.sh.in: New file, from GNU gettext.
86767
86768 2005-05-31  Derek Price  <derek@ximbiot.com>
86769             Paul Eggert  <eggert@cs.ucla.edu>
86770
86771         Sync from cvs.
86772         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86773
86774 2005-05-31  Derek Price  <derek@ximbiot.com>
86775             Paul Eggert  <eggert@cs.ucla.edu>
86776
86777         Sync from cvs.
86778         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86779
86780 2005-05-29  Derek Price  <derek@ximbiot.com>
86781
86782         * config/srclist.txt (glob_.h, glob.c): Add these files.
86783
86784 2005-05-29  Derek Price  <derek@ximbiot.com>
86785
86786         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86787         * modules/glob: New file.
86788         * modules/getlogin_r: Add link to POSIX spec in description.
86789
86790 2005-05-29  Derek Price  <derek@ximbiot.com>
86791             Paul Eggert  <eggert@cs.ucla.edu>
86792
86793         * m4/glob.m4: New file.
86794
86795 2005-05-29  Derek Price  <derek@ximbiot.com>
86796             Paul Eggert  <eggert@cs.ucla.edu>
86797
86798         * lib/glob_.h, lib/glob.c: New files.
86799
86800 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86801
86802         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86803         * modules/fts-lgpl (Depends-on): Remove gettext.
86804
86805 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86806
86807         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86808         and don't require gt_INTTYPES_PRI.
86809
86810 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86811
86812         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86813
86814         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86815         the configuration hassle isn't worth it.
86816         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86817         (LONGEST_MODIFIER, PRIuMAX): Remove.
86818
86819 2005-05-27  Bruno Haible  <bruno@clisp.org>
86820
86821         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86822
86823 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86824
86825         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86826         _POSIX_PTHREAD_SEMANTICS for Solaris.
86827
86828 2005-05-25  Derek Price  <derek@ximbiot.com>
86829
86830         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86831
86832 2005-05-25  Derek Price  <derek@ximbiot.com>
86833             Paul Eggert  <eggert@cs.ucla.edu>
86834
86835         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86836         * lib/getlogin_r.c, getlogin_r.h: New files.
86837
86838 2005-05-25  Bruno Haible  <bruno@clisp.org>
86839             Derek Price  <derek@ximbiot.com>
86840
86841         * lib/getlogin_r.h: Simplify API documentation.
86842
86843 2005-05-23  Derek Price  <derek@ximbiot.com>
86844
86845         * modules/minmax (Files): Add m4/minmax.m4.
86846         (configure.ac): Add gl_MINMAX.
86847
86848 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86849
86850         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86851         so that unistd-safer.h (GPL'ed code) need not be included.
86852
86853 2005-05-22  Bruno Haible  <bruno@clisp.org>
86854
86855         * m4/minmax.m4: New file.
86856         Based on a patch by Derek Price <derek@ximbiot.com>.
86857
86858 2005-05-22  Bruno Haible  <bruno@clisp.org>
86859
86860         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86861         (INT64_MIN): Fix definition.
86862         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86863
86864         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86865         NEED_SIGNED_INT_TYPES.
86866
86867         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86868         HAVE_SYSTEM_INTTYPES.
86869
86870 2005-05-22  Bruno Haible  <bruno@clisp.org>
86871
86872         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86873         Also include <sys/param.h> if it defines MIN, MAX.
86874         Based on a patch by Derek Price <derek@ximbiot.com>.
86875
86876 2005-05-21  Jim Meyering  <jim@meyering.net>
86877
86878         * modules/fts (Files): Add m4/inttypes-pri.m4.
86879         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86880
86881 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86882
86883         New fts module.
86884         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86885         (setup_dir, free_dir): New functions.
86886         (enter_dir, leave_dir): Define trivial
86887         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86888         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86889         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86890         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86891         Move to fts-cycle.c.
86892         (fts_open): Use setup_dir.
86893         (fts_close): Use free_dir.
86894         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86895         This adds a label and some gotos, but the alternatives were messier.
86896         Check for memory allocation failure when entering a dir.
86897         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86898         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86899         (FTS): New member fts_cycle, that is a union that contains the
86900         old active_dir_ht and cycle_state.  All uses changed to mention
86901         fts_cycle.ht and fts_cycle.state.
86902         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86903         fts.c, with the following changes:
86904         (setup_dir, free_dir): New functions.
86905         (enter_dir): Now returns bool.  Return true if successful, false
86906         if memory exhausted.  All callers changed.
86907         Do not bother partly cleaning up on
86908         memory allocation failure; that is free_dir's job.
86909         However, free ad if hash_insert fails, to avoid memory leak.
86910         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86911         fts->fts_options to see which union member to use.
86912
86913 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86914
86915         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86916         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86917
86918 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86919
86920         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86921
86922 2005-05-20  Jim Meyering  <jim@meyering.net>
86923
86924         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86925         Now a macro, to pacify GCC.
86926
86927 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86928
86929         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86930         of -1.
86931
86932 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86933
86934         * lib/chown.c (rpl_chown): Return -1 on failure.
86935
86936 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86937
86938         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86939         Don't check for stddef.h.
86940         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86941         don't use its results.
86942         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86943         since we include them unconditionally.  Don't require
86944         AM_STDBOOL_H, since stdbool is a prerequisite.
86945         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86946         since we assume C89 or better.
86947         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86948         as we don't use their results.
86949         Don't check for fchdir, memmove, memset, strrchr, as we use
86950         them unconditionally.
86951         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86952         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86953
86954 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86955
86956         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86957         Include <stddef.h> unconditionally, since we assume C89 now.
86958         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86959         * lib/fts.c: Include fts_.h first, to check interface.
86960         Do not include intprops.h; no longer needed.
86961         Include cycle-check.h and hash.h, since fts_.h no longer does.
86962         Remove unnecessary casts of closedir to void.
86963         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86964         decide whether to decrement nlinks.
86965         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86966         (FTS): Use struct hash_table * instead of Hash_table, so that
86967         we no longer need to include hash.h here.
86968
86969 2005-05-18  Jim Meyering  <jim@meyering.net>
86970
86971         * modules/dirfd (License): Change to LGPL.  Most of the code
86972         is already in the public domain.
86973
86974 2005-05-18  Jim Meyering  <jim@meyering.net>
86975
86976         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86977         Reported by Yoann Vandoorselaere.
86978
86979 2005-05-17  Jim Meyering  <jim@meyering.net>
86980
86981         * m4/fts.m4: New file, from coreutils.
86982
86983 2005-05-17  Jim Meyering  <jim@meyering.net>
86984
86985         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86986
86987 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86988
86989         Sync from coreutils.
86990         * m4/unlinkdir.m4: New file.
86991
86992 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86993
86994         Sync from coreutils.
86995         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86996         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86997         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86998         White space changes only.
86999         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87000         special.
87001         * lib/yesno.c: Include getline.h, not ctype.h.
87002         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87003         Use getline to remove arbitrary restriction on response length.
87004
87005 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87006
87007         * config/srclist-update: Spell out "Street" in FSF postal
87008         mail address; this is the style the FSF seems to prefer.
87009
87010         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87011         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87012         this updates FSF postal mail address.
87013
87014         Sync from coreutils.
87015         * modules/unlinkdir: New file.
87016         * modules/yesno (Depends-on): Add getline.
87017         * MODULES.html.sh (File system functions): Add unlinkdir.
87018
87019 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87020
87021         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87022         lib/strsep.h:
87023         Change the initial comment to refer to GPL, not LGPL.
87024         gnulib-tool will change it to LGPL as needed.
87025
87026         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87027         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87028         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87029         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87030         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87031         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87032         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87033         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87034         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87035         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87036         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87037         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87038         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87039         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87040         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87041         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87042         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87043         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87044         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87045         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87046         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87047         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87048         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87049         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87050         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87051         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87052         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87053         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87054         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87055         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87056         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87057         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87058         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87059         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87060         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87061         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87062         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87063         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87064         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87065         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87066         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87067         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87068         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87069         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87070         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87071         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87072         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87073         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87074         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87075         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87076         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87077         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87078         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87079         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87080         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87081         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87082         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87083         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87084         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87085         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87086         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87087         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87088         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87089         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87090         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87091         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87092         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87093         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87094         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87095         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87096         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87097         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87098         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87099         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87100         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87101         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87102         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87103         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87104         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87105         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87106         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87107         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87108         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87109         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87110         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87111         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87112         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87113         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87114         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87115         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87116         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87117         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87118         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87119         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87120         lib/yesno.c, lib/yesno.h:
87121         Update FSF postal mail address.
87122
87123 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87124
87125         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87126         tests/test-memmem.c, tests/test-stpncpy.c:
87127         Update FSF postal mail address.
87128
87129 2005-05-13  Bruno Haible  <bruno@clisp.org>
87130
87131         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87132         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87133         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87134         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87135         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87136         Add support for 64-bit integers in the MSVC compiler.
87137
87138 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87139
87140         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87141
87142 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87143
87144         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87145
87146 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87147
87148         * doc/getdate.texi (General date syntax): Don't say that date
87149         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87150         Problem reported by Nic Ferrier.
87151
87152 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87153
87154         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87155         specified in ai_socktype. Fix invalid ai_protocol
87156         check. ai_protocol is usually set to 0 or depending on
87157         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87158         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87159         ai_socktype / ai_protocol in the returned addrinfo structure.
87160
87161 2005-05-10  Simon Josefsson  <jas@extundo.com>
87162
87163         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87164         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87165
87166 2005-05-10  Karl Berry  <karl@gnu.org>
87167
87168         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87169         (from http://www.gnu.org/licenses).
87170         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87171         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87172         fdl.texi suffices.
87173
87174 2005-05-10  Karl Berry  <karl@gnu.org>
87175
87176         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87177         (COPYING.DOC): remove.
87178
87179         * config/srclist-update: new FSF address.
87180
87181 2005-05-10  Derek Price  <derek@ximbiot.com>
87182
87183         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87184         possible.
87185
87186 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87187             Bruno Haible  <bruno@clisp.org>
87188
87189         * modules/inet_ntop: New file.
87190         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87191         inet_ntop.
87192
87193 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87194             Bruno Haible  <bruno@clisp.org>
87195
87196         * m4/inet_ntop.m4: New file.
87197
87198 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87199             Bruno Haible  <bruno@clisp.org>
87200
87201         * lib/inet_ntop.h: New file.
87202         * lib/inet_ntop.c: New file, from glibc with modifications.
87203
87204 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87205
87206         * modules/time_r (License): Change to LGPL.
87207         * modules/extensions (License): Change to LGPL.  Actually,
87208         the license is more permissive than that, but currently gnulib-tool
87209         doesn't know how to handle more-permissive licenses.
87210
87211         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87212         Problem reported by Dave Love.
87213
87214 2005-05-08  Jim Meyering  <jim@meyering.net>
87215
87216         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87217         blank.
87218
87219 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87220
87221         * modules/argmatch (Depends-on): Add stdbool.
87222         * modules/backupfile (Depends-on): Likewise.
87223         * modules/chdir-long (Depends-on): Likewise.
87224         * modules/closeout (Depends-on): Likewise.
87225         * modules/cycle-check (Depends-on): Likewise.
87226         * modules/dirname (Depends-on): Likewise.
87227         * modules/fnmatch (Depends-on): Likewise.
87228         * modules/fsusage (Depends-on): Likewise.
87229         * modules/fwriteerror (Depends-on): Likewise.
87230         * modules/getcwd (Depends-on): Likewise.
87231         * modules/getloadavg (Depends-on): Likewise.
87232         * modules/hard-locale (Depends-on): Likewise.
87233         * modules/makepath (Depends-on): Likewise.
87234         * modules/mountlist (Depends-on): Likewise.
87235         * modules/nanosleep (Depends-on): Likewise.
87236         * modules/posixtm (Depends-on): Likewise.
87237         * modules/quotearg (Depends-on): Likewise.
87238         * modules/readtokens (Depends-on): Likewise.
87239         * modules/readtokens0 (Depends-on): Likewise.
87240         * modules/readutmp (Depends-on): Likewise.
87241         * modules/save-cwd (Depends-on): Likewise.
87242         * modules/strftime (Depends-on): Likewise.
87243         * modules/userspec (Depends-on): Likewise.
87244         * modules/utimecmp (Depends-on): Likewise.
87245         * modules/xgetcwd (Depends-on): Likewise.
87246         * modules/xnanosleep (Depends-on): Likewise.
87247         * modules/xstrtod (Depends-on): Likewise.
87248         * modules/yesno (Depends-on): Likewise.
87249
87250 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87251
87252         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87253         needless checks.
87254
87255 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87256
87257         Merge from coreutils.  Among other things,
87258         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87259         * lib/fd-safer.c: New file.
87260         * lib/fcntl-safer.h, open-safer.c: Remove.
87261         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87262         * lib/dup-safer.c: Include unistd-safer.h first.
87263         Don't include errno.h.
87264         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87265         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87266         * lib/file-type.c: Rely on file-type.h change.
87267         * lib/getloadavg.c: Include unistd-safer.h.
87268         (getloadavg): Use safer open.
87269         * lib/getusershell.c: Include "stdio-safer.h".
87270         (getusershell): Use safer fopen.
87271         * lib/long-options.c (long_options): Use NULL rather than 0.
87272         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87273         'free'.
87274         * lib/modechange.c: Likewise.
87275         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87276         (MODE_DONE): New constant.
87277         (struct mode_change): Remove 'next' member.
87278         (make_node_op_equals): New function; like the old one of the
87279         same name, except it allocates an array.
87280         (mode_compile, mode_create_from_ref): Use it.
87281         (mode_compile): Allocate result as an array, not a linked list.
87282         Parse octal string ourself, so that we catch mistakes like "+0".
87283         (mode_adjust): Arg is an array, not a linked list.
87284         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87285         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87286         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87287         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87288         Remove.  This is now stat-macros.h's job.
87289         (talloc): Remove.  All callers replaced by xalloc, so that
87290         our invokers don't have to worry about reporting memory failures.
87291         (make_node_op_equals): Remove.
87292         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87293         New constants.
87294         (struct mode_change): Moved here from modechange.h.
87295         (mode_append_entry): Remove.
87296         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87297         apps to have incorrect behavior.  Use simpler algorithm for head
87298         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87299         Detect more invalid usages rather than having somewhat-random behavior.
87300         Don't insert an "a=" action, as that leads to incorrect behavior.
87301         (mode_compile, mode_create_from_ref): Return NULL on error instead
87302         of an enum, since now there's only one way to have an error.  All
87303         callers changed.
87304         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87305         at the correct time.  Simplify calculation of "+u" and its ilk.
87306         Don't mishandle "+X".
87307         (mode_free): Remove "register" and localize decls.
87308         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87309         (struct mode_change): Move to modechange.c; callers don't
87310         need to see this stuff.
87311         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87312         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87313         (mode_change, mode_adjust): Reflect the new signatures noted above.
87314         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87315         that might redefine system include files.
87316         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87317         (my_usleep): Use NULL rather than (void *) 0.
87318         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87319         Use siginterrupt to specify that system calls should be interrupted.
87320         (rpl_nanosleep): Move initialization of suspended closer to call of
87321         my_usleep.
87322         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87323         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87324         (desirable_utmp_entry): New function.
87325         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87326         using x2nrealloc, to simplify logic.
87327         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87328         size calculation.  Do not assume utmp file is a regular file.
87329         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87330         (READ_UTMP_CHECK_PIDS): New constant.
87331         * lib/save-cwd.c: Include unistd-safer.h.
87332         (save_cwd): Use fd_safer.
87333         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87334         [!_LIBC] Include "stat-macros.h" instead.
87335         * lib/unistd-safer.h (fd_safer): New decl.
87336
87337 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87338
87339         * modules/getloadavg (Depends-on): Add unistd-safer.
87340         * modules/getusershell (Depends-on): Add stdio-safer.
87341         * modules/lstat (Depends-on): Remove xalloc.
87342         * modules/mkstemp (Depends-on): Add stat-macros.
87343         * modules/modechange (Depends-on): Remove xstrtol.
87344         Add stat-macros, xalloc.
87345         * modules/save-cwd (Depends-on): Add unistd-safer.
87346         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87347         * modules/unistd-safer (Files): Add lib/fd-safer.c
87348         (Makefile.am): Remove lib_SOURCES.
87349
87350         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87351         Remove fcntl-safer; unistd-safer supersedes it.
87352
87353 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87354
87355         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87356         AC_HEADER_STAT.
87357         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87358         (gl_PREREQ_CHOWN): Remove.
87359         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87360         it.  Don't require AC_HEADER_STAT.
87361         (gl_PREREQ_LSTAT): Remove.
87362         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87363         Don't require AC_HEADER_STAT.
87364         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87365         (gl_PREREQ_RMDIR): Remove.
87366         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87367         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87368         the stat-macros module a prerequisite.
87369         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87370         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87371         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87372         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87373         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87374         variable names.
87375         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87376         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87377         variable prefixes.
87378         * m4/fcntl-safer.m4: Remove.
87379         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87380         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87381         Invoke gl_PREREQ_FD_SAFER.
87382         (gl_PREREQ_FD_SAFER): New macro.
87383         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87384         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87385         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87386         Remove duplicate call to AC_LIBOBJ(readutmp).
87387         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87388
87389         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87390         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87391
87392 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87393
87394         * MODULES.html.sh (Misc): Add byteswap.
87395
87396 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87397
87398         * modules/getcwd (Depends-on): Add extensions.
87399         * modules/openat (Depends-on): Likewise.
87400
87401 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87402
87403         * modules/byteswap: New file.
87404
87405 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87406
87407         * m4/byteswap.m4: New file.
87408
87409 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87410
87411         * lib/byteswap_.h: New file.
87412
87413 2005-04-25  Karl Berry  <karl@gnu.org>
87414
87415         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87416
87417 2005-04-25  Albert Chin  <china@thewrittenword.com>
87418
87419         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87420         Toolkit C bug.
87421
87422 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87423
87424         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87425         (func_ln_if_changed): Remove forcibly for no error message
87426         in case file does not exist.
87427
87428 2005-04-19  Simon Josefsson  <jas@extundo.com>
87429
87430         * gnulib-tool (Options): Make --symlink mean --symbolic.
87431
87432 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87433
87434         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87435
87436 2005-04-16  Simon Josefsson  <jas@extundo.com>
87437
87438         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87439
87440 2005-04-15  Simon Josefsson  <jas@extundo.com>
87441
87442         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87443
87444 2005-04-15  Simon Josefsson  <jas@extundo.com>
87445
87446         * gnulib-tool: Rename --symlink to --symbolic.
87447
87448 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87449
87450         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87451         symbolic links to files instead of copying/moving.  Add --aux-dir,
87452         specifying directory relative --dir where auxiliary build tools
87453         are placed.
87454
87455 2005-04-14  Bruno Haible  <bruno@clisp.org>
87456
87457         * modules/allocsa (License): Change to LGPL.
87458         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87459
87460 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87461
87462         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87463         that "UTC +1 second" continues to work.  Problem reported
87464         by Dmitry V. Levin.
87465         (relunit_snumber): New rule.
87466         (relunit): Use it.
87467
87468 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87469
87470         * lib/getdate.y (universal_time_zone_table): New constant.
87471         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87472         universal_time_zone_table.
87473         (lookup_zone): Prefer universal_time_zone_table to
87474         local_time_zone_table, so that "GMT" time stamps are allowed in
87475         London during the summer.  Problem reported by Ian Abbott.
87476
87477 2005-04-12  Jim Meyering  <jim@meyering.net>
87478
87479         * lib/human.c (humblock): Set *options even when returning due to
87480         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87481         warning from gcc-4.
87482
87483 2005-04-09  Jim Meyering  <jim@meyering.net>
87484
87485         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87486         -Wuninitialized: initialize tm0.tm_year.
87487
87488 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87489
87490         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87491         count, since there's no maximum.  All uses changed.
87492         Add member dsts_seen.
87493         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87494         not being INT_MAX.
87495         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87496         Use pc_rels_seen to decide whether a date is absolute.
87497
87498         * lib/getdate.y (number): Don't overwrite year.
87499         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87500         check.
87501
87502 2005-04-02  Simon Josefsson  <jas@extundo.com>
87503
87504         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87505         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87506
87507 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87508
87509         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87510         where no absolute path name can be longer than PATH_MAX.
87511
87512 2005-03-27  Jim Meyering  <jim@meyering.net>
87513
87514         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87515
87516 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87517
87518         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87519         "one's complement" -> "ones' complement" in comment, as per Knuth.
87520         "value of type" -> "type or expression" in comment.
87521         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87522
87523 2005-03-26  Jim Meyering  <jim@meyering.net>
87524
87525         Comment nits.
87526         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87527         Correct typos: s/or/of/.
87528
87529 2005-03-26  Jim Meyering  <jim@meyering.net>
87530
87531         * modules/check-include-files: Move to ../ and rename to...
87532         * check-module: ...this.
87533
87534 2005-03-25  Jim Meyering  <jim@meyering.net>
87535
87536         * modules/xvasprintf (Files): Add xalloc.h.
87537
87538 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87539
87540         * modules/gettext (Files): config/config.rpath ->
87541         build-aux/config.rpath
87542         * modules/iconv (Files): Likewise.
87543         Problem reported by Oskar Liljeblad.
87544
87545 2005-03-23  Jim Meyering  <jim@meyering.net>
87546
87547         * modules/check-include-files: New script to check for
87548         missing dependencies, multiple includes, etc.
87549
87550         * modules/c-strtold (Depends-on): Add xalloc.
87551         * modules/c-strtod (Depends-on): Add xalloc.
87552         * modules/hash (Depends-on): Add xalloc.
87553         (Files): Remove lib/xalloc.h.
87554
87555         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87556         * modules/userspec (Files): Add lib/inttostr.h.
87557
87558 2005-03-23  Jim Meyering  <jim@meyering.net>
87559
87560         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87561
87562 2005-03-22  Jim Meyering  <jim@meyering.net>
87563
87564         * modules/stat-macros: New module.
87565         * modules/canonicalize, modules/euidaccess, modules/file-type,
87566         * modules/filemode, modules/lchown, modules/makepath,
87567         * modules/rmdir, modules/stat: Depend on new stat-macros module
87568         rather than listing lib/stat-macros.h manually.
87569         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87570
87571 2005-03-22  Jim Meyering  <jim@meyering.net>
87572
87573         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87574
87575 2005-03-22  Bruno Haible  <bruno@clisp.org>
87576
87577         * config/srclist.txt: Replace target directory 'config' with
87578         'build-aux'.
87579         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87580         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87581         ../build-aux/.
87582
87583 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87584
87585         * modules/chdir-long (Depends-on): Add mempcpy.
87586
87587         * modules/acl, modules/backupfile, modules/c-strtod,
87588         modules/c-strtold, modules/canon-host, modules/canonicalize,
87589         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87590         modules/exclude, modules/exitfail, modules/file-type,
87591         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87592         modules/getdate, modules/getline, modules/getpagesize,
87593         modules/getpass, modules/getugroups, modules/group-member,
87594         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87595         modules/inttostr, modules/long-options, modules/makepath,
87596         modules/md5, modules/memcasecmp, modules/memcoll,
87597         modules/modechange, modules/mountlist, modules/path-concat,
87598         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87599         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87600         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87601         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87602         modules/strftime, modules/strndup, modules/strverscmp,
87603         modules/timespec, modules/unlocked-io, modules/userspec,
87604         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87605         modules/yesno:
87606         Remove lib_SOURCES line from Makefile.am section, as this is now
87607         done automatically by the corresponding Autoconf macro.
87608
87609 2005-03-21  Jim Meyering  <jim@meyering.net>
87610
87611         Changes imported from coreutils.
87612
87613         * lib/cycle-check.c: Don't include xalloc.h.
87614
87615         * lib/path-concat.c: Don't include assert.h.
87616         (path_concat): Remove assertion that would have triggered
87617         for ABASE starting with more than one slash.
87618         Reported by Andreas Schwab.
87619
87620         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87621         properly when ABASE is an absolute file name.
87622         Correct the description of this function.
87623         Include <assert.h>.
87624         Add an assertion and a test driver.
87625         This fixes a bug introduced on 2004-07-02.
87626         Andreas Schwab reported the resulting failure of cp --parents:
87627         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87628
87629 2005-03-21  Jim Meyering  <jim@meyering.net>
87630
87631         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87632         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87633
87634 2005-03-21  Jim Meyering  <jim@meyering.net>
87635         and  Paul Eggert  <eggert@cs.ucla.edu>
87636
87637         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87638         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87639         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87640         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87641         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87642         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87643         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87644         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87645         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87646         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87647         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87648         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87649         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87650         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87651         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87652         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87653         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87654         for these modules.
87655
87656 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87657
87658         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87659         (which shouldn't happen), generate nothing instead of returning 0
87660         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87661
87662 2005-03-16  Bruno Haible  <bruno@clisp.org>
87663
87664         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87665         HAVE_LONGLONG_64BIT.
87666
87667 2005-03-16  Bruno Haible  <bruno@clisp.org>
87668
87669         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87670         HAVE_LONGLONG_64BIT.
87671
87672 2005-03-16  Bruno Haible  <bruno@clisp.org>
87673
87674         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87675         HAVE_LONGLONG_64BIT.
87676
87677 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87678
87679         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87680         reliably distinguish strftime failure from empty output on POSIX
87681         hosts.
87682
87683 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87684
87685         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87686         (iconv_string): Don't guess a size-zero buffer, as that might cause
87687         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87688         result would be 'too large', where 'too large' is (heuristically)
87689         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87690         overflow concerns.  This will prevent some unwanted malloc failures
87691         when the inputs are very large.
87692
87693 2005-03-15  Karl Berry  <karl@gnu.org>
87694
87695         * config/srclist.txt (config.rpath): from gettext.
87696         * config/config.rpath: update.
87697
87698 2005-03-15  Bruno Haible  <bruno@clisp.org>
87699
87700         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87701         to 'negate'.
87702
87703         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87704         variable.
87705
87706         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87707         results.
87708
87709 2005-03-14  Simon Josefsson  <jas@extundo.com>
87710
87711         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87712         <fx@gnu.org>.
87713
87714 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87715
87716         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87717         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87718         intprops.h.
87719         * lib/strtol.c: Likewise.
87720
87721 2005-03-14  Jim Meyering  <jim@meyering.net>
87722
87723         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87724         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87725         to be nonzero so that we (and caller) can detect the difference
87726         between a valid zero-length expansion and an error return, even
87727         when the underlying strftime fails before writing anything into
87728         that location.
87729
87730 2005-03-14  Bruno Haible  <bruno@clisp.org>
87731
87732         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87733         Update from GNU gettext 0.14.3.
87734
87735 2005-03-10  Jim Meyering  <jim@meyering.net>
87736
87737         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87738
87739 2005-03-10  Jim Meyering  <jim@meyering.net>
87740
87741         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87742         so that this module works on systems without fchdir.
87743
87744 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87745
87746         Factor int-properties macros into a single file, except for
87747         glibc-related files.
87748         * lib/intprops.h: New file.
87749         * lib/getloadavg.c: Include it instead of limits.h.
87750         (INT_STRLEN_BOUND): Remove.
87751         * lib/human.c: Include intprops.h.
87752         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87753         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87754         302/1000.
87755         * lib/inttostr.h: Include intprops.h instead of limits.h.
87756         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87757         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87758         for consistency with intprops.h.
87759         (time_t_is_integer, twos_complement_arithmetic): Use them.
87760         * lib/sig2str.h: Include <signal.h>, intprops.h.
87761         (INT_STRLEN_BOUND): Remove.
87762         * lib/strftime.c (TYPE_SIGNED): Remove.
87763         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87764         * lib/strtol.c: Adjust comments to match intprops.h.
87765         * lib/userspec.c: Include intprops.h.
87766         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87767         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87768         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87769         instead of rolling our own expressions.
87770         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87771
87772         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87773         instead of int.
87774         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87775         the right thing even if adding 1900 would overflow.  Similarly
87776         for tm_mon + 1 and tm_yday + 1.
87777         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87778         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87779         (DO_SIGNED_NUMBER): New macro.
87780         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87781
87782 2005-03-07  Bruno Haible  <bruno@clisp.org>
87783
87784         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87785
87786 2005-03-07  Bruno Haible  <bruno@clisp.org>
87787
87788         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87789
87790 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87791
87792         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87793         (func_import): Only replace files via --import when they have actually
87794         changed.
87795
87796 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87797
87798         * m4/mmap-anon.m4: New file.
87799         * m4/pagealign_alloc.m4: New file.
87800
87801 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87802             Bruno Haible  <bruno@clisp.org>
87803
87804         * modules/pagealign_alloc: New file.
87805         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87806
87807 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87808             Bruno Haible  <bruno@clisp.org>
87809
87810         * lib/pagealign_alloc.h: New file.
87811         * lib/pagealign_alloc.c: New file.
87812
87813 2005-03-03  Bruno Haible  <bruno@clisp.org>
87814
87815         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87816         Use an all-permissive copyright notice, recommended by RMS.
87817
87818 2005-03-02  Bruno Haible  <bruno@clisp.org>
87819
87820         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87821         of AIX, the replacement has to be done only after <string.h> is
87822         included, therefore not in config.h. stpncpy.h does the replacement,
87823         and stpncpy.c uses it.
87824
87825 2005-03-02  Bruno Haible  <bruno@clisp.org>
87826
87827         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87828         stpncpy.c uses it.
87829
87830 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87831
87832         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87833         The workaround isn't strictly needed for POSIX conformance, and
87834         it's too much of a pain to configure and maintain.  We'll ask
87835         people to fix their kernels instead.
87836         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87837         (NANOSLEEP_BUG_WORKAROUND): Remove.
87838         (xnanosleep): Remove the workaround.
87839
87840 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87841
87842         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87843         Reported by Derek Price.
87844         (Include): Add "timespec.h".
87845
87846         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87847
87848 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87849
87850         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87851         to detect nanosleep bug.
87852
87853 2005-03-01  Bruno Haible  <bruno@clisp.org>
87854
87855         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87856
87857 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87858
87859         * modules/gethrxtime: New file.
87860         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87861         (Depends-on): Add gethrxtime.
87862         (configure.ac): Add gl_XNANOSLEEP.
87863         (Makefile.am): Remove lib_SOURCES line.
87864
87865 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87866
87867         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87868         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87869
87870 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87871
87872         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87873         * lib/timespec.h (gettime): Return void, since it always
87874         succeeds now.  All uses changed.
87875         * lib/gettime.c (gettime): Likewise.
87876         [HAVE_NANOTIME]: Prefer nanotime.
87877         Assume gettimeofday succeeds, as POSIX requires.
87878         Assime time () succeeds, since other code already does.
87879         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87880         (timespec_subtract): Remove.
87881         (NANOSLEEP_BUG_WORKAROUND): New constant.
87882         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87883         things considerably.  Use it only on GNU/Linux hosts, since the
87884         workaround shouldn't be needed elsewhere.
87885
87886 2005-02-24  Bruno Haible  <bruno@clisp.org>
87887
87888         * modules/gettext (Files): Add m4/glibc2.m4.
87889
87890 2005-02-24  Bruno Haible  <bruno@clisp.org>
87891
87892         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87893         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87894         * m4/progtest.m4:
87895         Update from GNU gettext 0.14.2.
87896         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87897
87898 2005-02-24  Bruno Haible  <bruno@clisp.org>
87899
87900         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87901         * lib/config.charset: Update from GNU gettext 0.14.2.
87902
87903 2005-02-24  Bruno Haible  <bruno@clisp.org>
87904
87905         * lib/gettext.h: Update from GNU gettext 0.14.2.
87906
87907 2005-02-23  Simon Josefsson  <jas@extundo.com>
87908
87909         * m4/iconvme.m4: New file.
87910
87911 2005-02-23  Jim Meyering  <jim@meyering.net>
87912
87913         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87914         change.
87915         Thanks to Bruno Haible for catching it.
87916
87917 2005-02-22  Simon Josefsson  <jas@extundo.com>
87918
87919         * modules/iconvme: New file.
87920
87921         * MODULES.html.sh: Add iconvme.
87922
87923 2005-02-22  Simon Josefsson  <jas@extundo.com>
87924
87925         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87926
87927 2005-02-22  Simon Josefsson  <jas@extundo.com>
87928
87929         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87930
87931 2005-02-22  Jim Meyering  <jim@meyering.net>
87932
87933         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87934         s/ifndef/ifdef/.
87935
87936 2005-02-20  Neil Conway  <neilc@samurai.com>
87937
87938         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87939         returned by OSX/Darwin if the specified buffer is not large
87940         enough for the hostname.
87941
87942 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87943
87944         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87945         pass it to _help, otherwise the latter coredumps trying to
87946         dereference state.root_argp.
87947
87948 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87949
87950         * modules/chdir-long (Depends-on): Add memrchr.
87951         * modules/memrchr (Files): Add lib/memrchr.h.
87952         (Include): "memrchr.h".
87953
87954 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87955
87956         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87957
87958 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87959
87960         * lib/memrchr.h: New file.
87961         * lib/chdir-long.c: Include it.
87962         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87963         Don't bother including stddef.h.
87964
87965 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87966
87967         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87968         inclusion.
87969         Include <sys/types.h>, for dev_t.
87970         (ME_DUMMY, ME_REMOTE): Move from here....
87971         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87972         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87973         Dmitry V. Levin.
87974         Include mountlist.h first, to test the interface.
87975
87976 2005-01-29  Bruno Haible  <bruno@clisp.org>
87977
87978         * lib/progname.c (program_name): Initialize.
87979         Needed when linking statically on MacOS X.
87980
87981 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87982
87983         Sync from coreutils.
87984         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87985         (Depends-on): Add c-strtod.
87986         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87987
87988 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87989
87990         Sync from coreutils.
87991         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87992
87993         Remove files that are specific to coreutils.
87994         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87995
87996 2005-01-28  Bruno Haible  <bruno@clisp.org>
87997
87998         * modules/javacomp: New file.
87999         * MODULES.html.sh (Java): Add javacomp.
88000
88001 2005-01-28  Bruno Haible  <bruno@clisp.org>
88002
88003         * m4/javacomp.m4: New file, from GNU gettext.
88004
88005 2005-01-28  Bruno Haible  <bruno@clisp.org>
88006
88007         * lib/javacomp.sh.in: New file, from GNU gettext.
88008         * lib/javacomp.h: New file, from GNU gettext.
88009         * lib/javacomp.c: New file, from GNU gettext.
88010
88011 2005-01-26  Simon Josefsson  <jas@extundo.com>
88012
88013         * lib/gai_strerror.c: Use GPL in header.
88014
88015 2005-01-26  Bruno Haible  <bruno@clisp.org>
88016
88017         * modules/javaexec: New file.
88018         * MODULES.html.sh (Java): Add javaexec.
88019
88020 2005-01-26  Bruno Haible  <bruno@clisp.org>
88021
88022         * m4/javaexec.m4: New file, from GNU gettext.
88023
88024 2005-01-26  Bruno Haible  <bruno@clisp.org>
88025
88026         * lib/javaexec.sh.in: New file, from GNU gettext.
88027         * lib/javaexec.h: New file, from GNU gettext.
88028         * lib/javaexec.c: New file, from GNU gettext.
88029
88030 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88031
88032         * modules/lchown (Depends-on): Remove lchown.h
88033
88034 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88035
88036         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88037         must be defined if the header file was not found, in order
88038         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88039
88040 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88041
88042         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88043         initializers for struct pentry_state.
88044         (__argp_error): Check return value of __asprintf
88045         (__argp_failure): Translate error message
88046
88047         * lib/argp-parse.c: Removed braces around the expansion of N_()
88048
88049 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88050
88051         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88052         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88053         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88054         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88055         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88056         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88057         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88058         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88059         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88060         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88061         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88062         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88063         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88064         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88065         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88066         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88067         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88068         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88069         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88070         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88071         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88072         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88073         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88074         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88075         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88076         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88077         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88078         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88079         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88080         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88081         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88082         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88083         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88084         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88085         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88086         Use an all-permissive copyright notice, recommended by RMS.
88087
88088 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88089
88090         * modules/chdir-long (Depends-on): Remove mempcpy.
88091
88092 2005-01-21  Jim Meyering  <jim@meyering.net>
88093
88094         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88095         same value as for Solaris 9.
88096
88097         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88098         component length.  This included changing the parameter to be
88099         of type `char *' rather than `char const *'.
88100         * lib/chdir-long.h (chdir_long): Update prototype.
88101
88102         * lib/openat.c (fdopendir, fstatat): New functions.
88103         * lib/openat.h: Include headers required for use of DIR and struct
88104         stat.
88105         [AT_SYMLINK_NOFOLLOW]: Define.
88106         (fdopendir, fstatat): Add prototypes.
88107
88108 2005-01-21  Bruno Haible  <bruno@clisp.org>
88109
88110         * modules/classpath: New file.
88111         * MODULES.html.sh (Java): Add classpath.
88112
88113 2005-01-21  Bruno Haible  <bruno@clisp.org>
88114
88115         * lib/classpath.h: New file, from GNU gettext.
88116         * lib/classpath.c: New file, from GNU gettext.
88117
88118 2005-01-20  Simon Josefsson  <jas@extundo.com>
88119
88120         * modules/version-etc-fsf: New file.
88121
88122 2005-01-20  Simon Josefsson  <jas@extundo.com>
88123
88124         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88125         * lib/version-etc.c: Remove version_etc_copyright.
88126         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88127         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88128
88129 2005-01-20  Simon Josefsson  <jas@extundo.com>
88130
88131         * lib/base64.h (isbase64): Add.
88132
88133         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88134         using a unsigned prototype, don't inline.
88135         (base64_decode): Use it.
88136
88137 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88138
88139         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88140         it.
88141
88142 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88143
88144         * lib/save-cwd.c (save_cwd): Remove code to support the case
88145         where fchdir is missing or flaky.
88146
88147 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88148
88149         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88150
88151 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88152
88153         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88154         AC_LIBSOURCES now does this.
88155         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88156         with new ullong_max module.
88157
88158 2005-01-19  Bruno Haible  <bruno@clisp.org>
88159
88160         * modules/sh-quote: New file.
88161         * MODULES.html.sh (Executing programs): Add sh-quote.
88162
88163 2005-01-19  Bruno Haible  <bruno@clisp.org>
88164
88165         * lib/sh-quote.h: New file, from GNU gettext.
88166         * lib/sh-quote.c: New file, from GNU gettext.
88167
88168 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88169
88170         Merge from coreutils.
88171         * m4/ullong_max.m4: New file.
88172         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88173         (gl_MACROS): Assume localeconv exists.
88174
88175 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88176
88177         Merge changes from coreutils, as described below in several
88178         changelogs dated today.
88179
88180         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88181         (O_DIRECTORY): Remove; not needed here, since "." must be
88182         a directory.  All uses removed.
88183         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88184         universal on Suns, and we also need to test for IRIX.
88185         Revamp code to use 'if' rather than '#if'.
88186         Avoid unnecessary comparison of cwd->desc to 0.
88187
88188         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88189         for known valid error numbers rather than observed invalid ones.
88190
88191 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88192
88193         * modules/ullong_max: New file.
88194
88195         * modules/chdir-long, modules/openat: New files.
88196         * modules/save-cwd (Depends-on): Depend on chdir-long.
88197         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88198
88199 2005-01-18  Jim Meyering  <jim@meyering.net>
88200
88201         Merge from coreutils.
88202         * m4/chdir-long.m4, m4/openat.m4: New files.
88203         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88204         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88205         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88206         is sane and DOES follow symlinks.  Besides, testing 20 different
88207         systems found no broken chown implementations.
88208         Prompted by a change in rsync's copy of this macro.
88209         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88210
88211         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88212
88213         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88214         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88215         NULL-means-set-to-current-time semantics.
88216         Remove temporary file immediately, rather than waiting
88217         for configure's at-exit trap code to do it.
88218
88219 2005-01-18  Jim Meyering  <jim@meyering.net>
88220
88221         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88222
88223         * lib/utimens.c (futimens): Account for the fact that futimes
88224         can also fail with errno == ENOSYS or errno == ENOENT.
88225         Patch from Dmitry V. Levin.
88226
88227         Change the name of the robust chdir function from chdir to chdir_long.
88228         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88229         (restore_cwd): Use chdir_long, not chdir.
88230         * lib/chdir-long.c: Renamed from chdir.c.
88231         * lib/chdir-long.h: Renamed from chdir.h.
88232         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88233         Hurd.
88234
88235 2005-01-18  Bruno Haible  <bruno@clisp.org>
88236
88237         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88238         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88239         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88240         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88241         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88242         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88243         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88244         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88245         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88246         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88247         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88248         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88249         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88250         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88251         Use an all-permissive copyright notice, recommended by RMS.
88252
88253 2005-01-18  Bob Proulx  <bob@proulx.com>
88254
88255         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88256         simplify offsetof() macro construct to avoid compile failure with
88257         native HP-UX 11.0 ANSI C compiler.
88258
88259 2005-01-17  Bruno Haible  <bruno@clisp.org>
88260
88261         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88262         redundant because stpncpy.m4 takes care of it.
88263
88264 2005-01-17  Bruno Haible  <bruno@clisp.org>
88265
88266         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88267
88268 2005-01-17  Bruno Haible  <bruno@clisp.org>
88269
88270         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88271         used.
88272
88273 2005-01-17  Bruno Haible  <bruno@clisp.org>
88274
88275         * lib/fwriteerror.h (fwriteerror): Change specification to include
88276         fclose.
88277         * lib/fwriteerror.c: Include <stdbool.h>.
88278         (fwriteerror): At the end, close the file stream. Record whether
88279         stdout was already closed.
88280
88281 2005-01-17  Bruno Haible  <bruno@clisp.org>
88282
88283         * lib/execute.c (environ): Declare if needed.
88284         * lib/pipe.c (environ): Likewise.
88285         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88286
88287 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88288
88289         * modules/argp: Depend on vsnprintf
88290
88291 2005-01-10  Jim Meyering  <jim@meyering.net>
88292
88293         * modules/closeout (Depends-on): Add atexit.
88294
88295 2005-01-06  Bruno Haible  <bruno@clisp.org>
88296
88297         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88298
88299 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88300
88301         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88302         definitions to be after all include files, to avoid collisions.
88303         Problem reported by Bob Proulx.
88304
88305 2005-01-04  Jim Meyering  <jim@meyering.net>
88306
88307         Changes imported from coreutils.
88308         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88309         as the mkstemp template, use a temporary directory and an
88310         8.3-friendly template to avoid trouble on systems like DJGPP.
88311         Reported by Juan M. Guerrero via Stepan Kasal.
88312         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88313         close. Remove the temporary directory right away, rather than waiting
88314         for configure's at-exit trap code to do it.
88315         Suggestion from Stepan Kasal.
88316
88317 2005-01-01  Simon Josefsson  <jas@extundo.com>
88318
88319         * gnulib-tool: Print #include directives when --import'ing.
88320
88321 2004-12-28  Simon Josefsson  <jas@extundo.com>
88322
88323         * tests/test-base64.c: Include required header files.  Remove
88324         unused variables.
88325
88326 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88327
88328         * modules/error (Depends-on): Remove gettext.
88329
88330 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88331
88332         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88333         not needed.  This removes a dependency on the gettext module.
88334         [defined _LIBC]: Do not include <libintl.h>; not needed.
88335
88336 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88337
88338         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88339         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88340
88341 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88342
88343         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88344         HAVE_DECL_STRTOLD.
88345
88346 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88347
88348         * modules/getdate (Depends-on): Remove alloca-opt.
88349
88350 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88351
88352         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88353
88354 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88355
88356         * lib/argp-parse.c: Include <stddef.h>.
88357         (alignof, alignto): New macros.
88358         (parser_init): Don't assume that void * is aligned sufficiently
88359         for struct option.
88360
88361         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88362         need to extend the stack.
88363         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88364         large.
88365
88366 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88367
88368         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88369
88370 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88371
88372         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88373         (2004-10-24) change.  Apparently this was a false alarm.
88374
88375         * modules/getdate: Depend on alloca-opt, not alloca.
88376
88377 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88378
88379         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88380         Remove now-obsolete comment about AIX.
88381         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88382         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88383         (YYMAXDEPTH): New macro.
88384
88385 2004-12-18  Simon Josefsson  <jas@extundo.com>
88386
88387         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88388
88389 2004-12-18  Bruno Haible  <bruno@clisp.org>
88390
88391         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88392
88393 2004-12-18  Bruno Haible  <bruno@clisp.org>
88394
88395         * lib/fatal-signal.c (fatal_signals): Make non-const.
88396         (init_fatal_signals): New function.
88397         (uninstall_handlers, install_handlers): Ignore signals that were set to
88398         SIG_IGN.
88399         (at_fatal_signal): Call init_fatal_signals.
88400         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88401         SIG_IGN.
88402         Reported by Paul Eggert.
88403
88404 2004-12-18  Bruno Haible  <bruno@clisp.org>
88405
88406         * doc/alloca.texi: New file.
88407         * doc/alloca-opt.texi: New file.
88408
88409 2004-12-17  Jim Meyering  <jim@meyering.net>
88410
88411         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88412         Otherwise, install-sh could exit with improper exit status when
88413         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88414
88415 2004-12-16  Simon Josefsson  <jas@extundo.com>
88416
88417         * tests/test-base64.c: Add license.
88418
88419 2004-12-15  Stepan Kasal  <address@hidden>
88420
88421         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88422
88423 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88424
88425         * modules/getcwd (Files): Add m4/d-ino.m4.
88426         Suggested by Mark D. Baushke.
88427
88428 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88429
88430         * lib/getdate.y (textint): New member "negative".
88431         (time_zone_hhmm): New function.
88432         Expect 14 shift-reduce conflicts, not 13.
88433         (o_colon_minutes): New rule.
88434         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88435         (yylex): Set the "negative" member of signed numbers.
88436
88437 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88438
88439         * doc/getdate.texi (Time of day items, Time zone items):
88440         Describe new formats +00:00, UTC+00:00.
88441
88442 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88443
88444         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88445         spurious "-l"s.  Problem reported by Stepan Kasal.
88446
88447 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88448
88449         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88450         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88451
88452 2004-12-04  Simon Josefsson  <jas@extundo.com>
88453
88454         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88455         Vandoorselaere <yoann@prelude-ids.org>.
88456
88457 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88458
88459         Changes imported from coreutils.
88460         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88461         exist.
88462         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88463
88464 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88465
88466         Changes imported from coreutils.
88467         * lib/hard-locale.c: Assume <locale.h> exists.
88468         Include "strdup.h".
88469         (GLIBC_VERSION): New macro.
88470         (hard_locale): Assume setlocale exists.
88471         Rewrite to avoid #ifdef.
88472         Use strdup rather than malloc + strcpy.
88473         * lib/human.c: Assume <locale.h> exists.
88474         (human_readable): Assume localeconv exists.
88475
88476 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88477
88478         * modules/hard-locale (Depends-on): Add strdup.
88479
88480 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88481
88482         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88483         convert T2, not T.  (Imported from libc.)
88484
88485 2004-11-30  Simon Josefsson  <jas@extundo.com>
88486
88487         * modules/restrict (License): Change to LGPL.
88488
88489 2004-11-30  Simon Josefsson  <jas@extundo.com>
88490
88491         * m4/restrict.m4: Add copyright and copying conditions.
88492
88493 2004-11-30  Simon Josefsson  <jas@extundo.com>
88494
88495         * m4/base64.m4: New file.
88496
88497 2004-11-30  Simon Josefsson  <jas@extundo.com>
88498
88499         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88500         base64.
88501
88502         * tests/test-base64.c: New file.
88503
88504         * modules/base64: New file.
88505
88506 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88507
88508         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88509         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88510
88511         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88512
88513 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88514
88515         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88516         (__getcwd.c): Don't restore errno; glibc doesn't.
88517         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88518         first, falling back to our code only if its results look suspicious.
88519         Ensure that the resulting buffer is only as large as necessary.
88520
88521         * lib/readutmp.c: Include readutmp.h first.
88522         Include <errno.h>, since readutmp.h no longer does that.
88523         * lib/readutmp.h: Don't include <errno.h>,
88524         <sys/param.h>, <time.h>; not needed to establish interface.
88525         (errno): Remove decl.
88526         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88527         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88528         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88529
88530 2004-11-28  Simon Josefsson  <jas@extundo.com>
88531
88532         * lib/base64.h, base64.c: New file.
88533
88534 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88535
88536         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88537
88538 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88539
88540         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88541         (Depends-on): Remove pathmax, same.  Add mempcpy.
88542         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88543         (Makefile.am): Append getcwd.h to lib_SOURCES.
88544         (Include): Add getcwd.h.
88545         (Maintainer): Change from Jim Meyering to "all, glibc",
88546         since getdate now uses intended-for-glibc code.
88547         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88548         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88549
88550 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88551
88552         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88553         HP's ANSI C compiler.
88554         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88555         Declaring int functions causes warnings on some modern systems and
88556         shouldn't be needed to compile on ancient ones.
88557         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88558         defined.
88559
88560         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88561         with the following changes.
88562         (__set_errno): Parenthesize properly.
88563         Include <stdbool.h>.
88564         (MIN, MAX, MATCHING_INO): New macros.
88565         (__getcwd): Define with prototype, not K&R form.
88566         Use heuristics to allocate default buffer on stack if possible.
88567         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88568         behavior, and to avoid the PATH_MAX limit when computing
88569         ../../../../...
88570         Use MATCHING_INO to compare inode number to file.
88571         Check for arithmetic overflow in size calculations.
88572         Fix bug in reallocation of dot array that caused getcwd to fail
88573         on directories nested deeper than 75.
88574         Be more careful about saving errno on error.
88575         Do not use realloc; use only free+malloc, as this is a bit
88576         more flexible and avoids a needless copy operation.
88577         Do not inspect st_dev and st_ino for symbolic links; POSIX
88578         doesn't specify the latter.
88579         Check for closedir errors.
88580         Avoid needless casts.
88581         Use "#ifdef weak_alias" around weak_alias, to be like other
88582         glibc code.
88583         The following changes to getcwd.c have effect only when used in
88584         gnulib; they have no effect inside glibc proper.
88585         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88586         as alloca isn't used.
88587         (alloca, __alloca): Likewise.
88588         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88589         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88590         unconditionally, as gnulib assumes C89 or better.
88591         Do not include <sys/param.h>.
88592         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88593         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88594         better.
88595         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88596         Include <dirent.h> in a way that is compatible with modern Autoconf.
88597         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88598         New macros, if not already defined.
88599         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88600         Use "_LIBC", not "defined _LIBC", for consistency.
88601         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88602         a mempcpy module.
88603         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88604         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88605         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88606         credit only to Jim Meyering and adjust the copyright dates.
88607         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88608         <stdlib.h>, <unistd.h>, "pathmax.h".
88609         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88610         (INITIAL_BUFFER_SIZE): Remove.
88611         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88612
88613 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88614
88615         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88616         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88617         Use the _ONCE methods, for efficiency.
88618         Check for fcntl.h.  In test program, include <errno.h>
88619         and <fcntl.h> if available.  Remove old K&R cruft from
88620         test program.  Check for common errors in GNU/Linux,
88621         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88622         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88623         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88624         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88625         name accordingly.
88626         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88627         accommodate new getcwd.c.
88628         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88629         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88630         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88631         that's all we need now.
88632
88633 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88634
88635         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88636         argp-parse.c depends on getopt internals, that means we should
88637         always use our getopt, to be on the safe side.
88638         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88639         order not to spoil the result of an eventual previous invocation
88640         of gl_GETOPT_SUBSTITUTE.
88641
88642 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88643
88644         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88645         redefinition warnings. To avoid them, include the defines
88646         in `#if !defined __need_getopt ... #endif'. The only place
88647         where __getopt_argv_const is used is in definitions
88648         of getopt_long and getopt_long_only below, which are as well
88649         protected by `#ifndef __need_getopt'.
88650         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88651         __need_getopt after including <stdio.h> and <unistd.h> These
88652         headers might have defined it.
88653
88654 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88655
88656         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88657
88658 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88659
88660         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88661         (futimens): New function, which uses futimes if available.
88662         (futimens, utimens): Support timespec==NULL, with same semantics
88663         as utime and utimens.
88664         * lib/utimens.h (futimens): New decl.
88665
88666 2004-11-23  Jim Meyering  <jim@meyering.net>
88667
88668         * lib/getopt_.h: Remove trailing blanks.
88669
88670 2004-11-23  Jim Meyering  <jim@meyering.net>
88671
88672         * lib/__fpending.c: Add comment.
88673
88674 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88675
88676         * modules/canonicalize (Depends-on): Add xreadlink.
88677         Problem reported by James Youngman.
88678
88679 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88680
88681         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88682         New macros.
88683         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88684         optopt): Use them instead of invoking ## directly; otherwise, the
88685         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88686
88687 2004-11-19  Bruno Haible  <bruno@clisp.org>
88688
88689         * lib/strtok_r.c: Move comments from here...
88690         * lib/strtok_r.h: ... to here.
88691
88692 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88693
88694         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88695         implementations that mishandle size_t overflow.
88696
88697 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88698
88699         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88700         might fail.  Problem reported by Yoann Vandoorselaere.
88701         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88702         implementations that mishandle size_t overflow.
88703
88704 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88705
88706         * modules/canon-host (Depends-on): Add strdup.
88707
88708 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88709
88710         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88711
88712 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88713
88714         * lib/canon-host.c: Include "strdup.h".
88715         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88716         Use strdup instead of malloc/strcpy to duplicate strings.
88717
88718         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88719         (human_space_before_unit): New constant.
88720         * lib/human.c (human_readable): Support it.
88721
88722         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88723         (xgetcwd): Set errno correctly when failing.
88724         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88725         the failure is actually due to a PATH_MAX problem.
88726
88727         Further getopt changes to make it more likely that glibc will
88728         buy the changes back.
88729         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88730         (getopt): Use it, so to preserve glibc semantic
88731         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88732         when compiling for libc.
88733         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88734         (getopt_long, getopt_long_only): Use it.
88735
88736         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88737         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88738         (getopt): Argv is now char * const *, as per standard.
88739         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88740         not char *__getopt_argv_const *.
88741         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88742         _getopt_long_only_r): Likewise.
88743         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88744         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88745         _getopt_long_r, _getopt_long_only_r): Likewise.
88746         * lib/getopt_.h (__getopt_argv_const): Remove.
88747         (getopt): Argv is now char * const *, as per standard.
88748
88749         * lib/getdate.y (tORDINAL): New token.
88750         (day, relunit): Allow it for relative times.
88751         (relative_time_table): Use tORDINAL for ordinals.
88752
88753 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88754
88755         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88756         Document that "second" isn't allowed as an ordinal number.
88757
88758 2004-11-16  Jim Meyering  <jim@meyering.net>
88759
88760         * modules/closeout (Depends-on): Add fpending.
88761
88762 2004-11-15  Jim Meyering  <jim@meyering.net>
88763
88764         * lib/closeout.c: Include "__fpending.h" once again.
88765         Include <stdbool.h>.
88766         (close_stdout): Don't fail just because stdout was closed initially,
88767         since some programs don't write to stdout in the normal course of
88768         operation (other than --version and --help), and we don't want this
88769         function to make e.g. `touch file >&-' fail.
88770         But do fail if it was closed and someone has tried to write to it.
88771         E.g., `printf foo >&-' must fail.
88772
88773 2004-11-13  Jim Meyering  <jim@meyering.net>
88774
88775         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88776
88777 2004-11-12  Simon Josefsson  <jas@extundo.com>
88778
88779         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88780         small doc fix is still pending.
88781
88782 2004-11-11  Simon Josefsson  <jas@extundo.com>
88783
88784         * modules/strtok_r: New file.
88785
88786         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88787         strtok_r.
88788
88789 2004-11-11  Simon Josefsson  <jas@extundo.com>
88790
88791         * m4/strtok_r.m4: New file.
88792
88793         * m4/getopt.m4: Replace opterr.
88794
88795 2004-11-11  Simon Josefsson  <jas@extundo.com>
88796
88797         * lib/strtok_r.h, strtok_r.c: New file.
88798
88799 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88800
88801         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88802         of replacing opterr, getopt, etc.  This should handle the
88803         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88804
88805 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88806
88807         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88808         we can stop lying to compilers about the constness of argv when we
88809         are compiled outside glibc.
88810         (getopt, getopt_long, getopt_long_only): Use it.
88811         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88812         _getopt_internal, getopt): Likewise.
88813         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88814         _getopt_long_only_r): Likewise.
88815         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88816         _getopt_long_r, _getopt_long_only_r): Likewise.
88817
88818         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88819         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88820         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88821         the other external symbols.
88822         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88823         declaration, since the above renaming now works around collisions.
88824
88825 2004-11-11  Jim Meyering  <jim@meyering.net>
88826
88827         * lib/linebreak.c: Remove trailing blanks.
88828         * lib/alloca_.h: Likewise.
88829         * lib/acosl.c: Likewise.
88830         * lib/euidaccess.c: Likewise.
88831         * lib/allocsa.h: Likewise.
88832
88833 2004-11-10  Simon Josefsson  <jas@extundo.com>
88834
88835         * m4/getaddrinfo.m4: New file.
88836
88837 2004-11-10  Simon Josefsson  <jas@extundo.com>
88838
88839         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88840
88841 2004-11-10  Simon Josefsson  <jas@extundo.com>
88842
88843         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88844         getaddrinfo.
88845
88846         * modules/getaddrinfo: New file.
88847
88848 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88849
88850         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88851
88852 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88853
88854         * lib/mktime.c (SHR): New macro, which is a portable
88855         substitute for >> that should work even on Crays.
88856         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88857         Problem reported by Mark D. Baushke in
88858         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88859         * lib/getdate.y (SHR): Likewise.
88860         (tm_diff): Use it.
88861         * lib/strftime.c (SHR): Likewise.
88862         (tm_diff): Use it.
88863         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88864         quote_these_too, so that right shifts are well defined.  All uses
88865         changed.
88866
88867 2004-11-10  Jim Meyering  <jim@meyering.net>
88868
88869         Ensure that no close failure goes unreported.
88870         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88871         return early when it seems there's nothing to flush.
88872         Don't include __fpending.h.
88873
88874 2004-11-10  Jim Meyering  <jim@meyering.net>
88875
88876         * modules/closeout (Depends-on): Remove fpending.
88877
88878 2004-11-10  Jim Meyering  <jim@meyering.net>
88879
88880         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88881
88882 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88883
88884         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88885         gl_FUNC_STRFTIME.
88886         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88887         and AC_REQUIRE when possible, to avoid duplicate checks.
88888         Check for <wchar.h>.
88889
88890 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88891
88892         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88893
88894 2004-11-09  Bruno Haible  <bruno@clisp.org>
88895
88896         * m4/sockpfaf.m4: New file.
88897
88898 2004-11-05  Bruno Haible  <bruno@clisp.org>
88899
88900         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88901         Reported by Mark D. Baushke <mdb@cvshome.org>.
88902
88903 2004-11-04  Bruno Haible  <bruno@clisp.org>
88904
88905         2004-09-11  Bruno Haible  <bruno@clisp.org>
88906                 * allocsa.valgrind: New file.
88907         2004-02-06  Bruno Haible  <bruno@clisp.org>
88908                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88909                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88910                 Reported by Christopher Seip <chris.seip@hp.com>.
88911
88912 2004-11-04  Bruno Haible  <bruno@clisp.org>
88913
88914         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88915         (Makefile.am): Distribute it.
88916
88917 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88918
88919         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88920         with errno == ERANGE if the buffer is too small.
88921         Problem reported by Mark D. Baushke.
88922
88923 2004-11-03  Albert Chin  <china@thewrittenword.com>
88924             Paul Eggert  <eggert@cs.ucla.edu>
88925
88926         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88927         equivalent, substitute $ac_type for equivalent type rather than
88928         blindly using uint32_t *always* which won't work if uint32_t is not
88929         available.  Define _UINT32_T to work around typedef of uint32_t if
88930         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88931         2.5.1.
88932
88933 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88934
88935         * m4/jm-macros.m4: Sync from coreutils.
88936         (gl_MACROS): Check for mbrlen, for pathchk.
88937         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88938
88939 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88940
88941         * lib/xreadlink.c (MAXSIZE): New macro.
88942         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88943         size does not exceed MAXSIZE.  Avoid cast.
88944         As suggested by Mark D. Baushke in
88945         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88946         if readlink fails with buffer size just under MAXSIZE, try again
88947         with MAXSIZE.
88948
88949 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88950
88951         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88952
88953 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88954         and  Paul Eggert  <eggert@cs.ucla.edu>
88955
88956         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88957         (get_date): Overparenthesize to avoid GCC warning.
88958
88959 2004-11-02  Bruno Haible  <bruno@clisp.org>
88960
88961         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88962         returns void.
88963
88964 2004-11-02  Bruno Haible  <bruno@clisp.org>
88965
88966         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88967         function returns void.
88968
88969 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88970
88971         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88972         fflush_unlocked, flockfile, funlockfile, funlockfile,
88973         fputs_unlocked, putc_unlocked.
88974
88975 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88976
88977         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88978         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88979         already declared.
88980
88981 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88982
88983         * modules/getdate (Files): Add doc/getdate.texi.
88984         (Depends-on): Add setenv, xalloc.
88985
88986 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88987
88988         * lib/getdate.y: Add support for TZ="foo" within a date string.
88989         Fix some bugs near time_t boundaries.  Reject dates with
88990         out-of-range components, e.g., "Sept 31".
88991         Include <stdlib.h>, "setenv.h", "xalloc.h".
88992         (ISDIGIT_LOCALE): Remove; unused.
88993         Note that the TZ and time functions used here are not reentrant.
88994         (mktime_ok, get_tz): New functions.
88995         (TZBUFSIZE): New constant.
88996         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88997         This requires that we sometimes generate our own TZ="XXX..." setting.
88998
88999 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89000
89001         * doc/getdate.texi: New file, from coreutils with modifications for
89002         the new TZ parsing.
89003
89004 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89005
89006         * lib/mktime.c (not_equal_tm): Remove redundant check.
89007
89008 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89009
89010         * modules/regex (lib_SOURCES): Add regex.c.
89011         Reported by James Youngman in
89012         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89013
89014 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89015
89016         * lib/getdate.y: Use Bison 1.875 features, and some minor
89017         code cleanups.  This change does not affect semantics.
89018         Don't include <stdlib.h>; no longer needed.
89019         Don't include unlocked-io.h; only the "#if TEST" code uses
89020         stdio, and performance isn't crucial there.
89021         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89022         Bison 1.875 features as described below.
89023         All uses of "PC." replaced by "pc->".
89024         (YYSTYPE): Add a forward declaration.
89025         (yylex, yyerror): Use full prototypes in forward decls.
89026         Use "%pure-parser" rather than obsolescent "%pure_parser".
89027         Use %parse-param and %lex-param instead of obsolescent
89028         YYPARSE_PARAM and YYLEX_PARAM.
89029         (meridian_table, month_and_day_table, time_units_table,
89030         relative_time_table, time_zone_table, military_table,
89031         lookup_zone, lookup_word, get_date):
89032         Use NULL instead of 0 where appropriate.
89033         (to_hour): Avoid abort (), to avoid a dependency on
89034         stdlib.h.
89035         (yyerror, yylex): Now accepts parser_control * arg.
89036         (main) [TEST]: Use '\0' rather than 0 for char.
89037
89038 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89039
89040         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89041
89042 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89043
89044         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89045         It's now the caller's responsibility to handle the case where
89046         !HAVE_GETPAGESIZE && !defined getpagesize.
89047
89048         * lib/mktime.c (leapyear): Arg is long int, not int.
89049
89050 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89051
89052         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89053
89054 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89055
89056         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89057         missing.  Problem reported by James Youngman.
89058
89059 2004-10-16  Simon Josefsson  <jas@extundo.com>
89060
89061         * gnulib-tool: Fix comments.  Fix parse problem.
89062         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89063
89064 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89065
89066         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89067         implementation of getopt_long.  Problem reported by Alexander Taler in:
89068         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89069
89070 2004-10-15  Bruno Haible  <bruno@clisp.org>
89071
89072         * gnulib-tool: Untabify. Initialize supplied_libname.
89073         (func_usage): More homogenous output.
89074         (func_modules_transitive_closure, func_modules_to_filelist,
89075         func_emit_lib_Makefile_am): New functions.
89076         (func_import): New function, extracted from big case statement. Use
89077         func_get_license, func_modules_transitive_closure,
89078         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89079         opt_lgpl. Don't use test -a, as it's not portable.
89080         (func_create_testdir): Use func_modules_transitive_closure,
89081         func_modules_to_filelist, func_emit_lib_Makefile_am.
89082
89083 2004-10-15  Bruno Haible  <bruno@clisp.org>
89084
89085         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89086
89087 2004-10-15  Bruno Haible  <bruno@clisp.org>
89088
89089         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89090         the portions belonging to each module.
89091         Suggested by Derek Robert Price <derek@ximbiot.com>.
89092
89093 2004-10-12  Simon Josefsson  <jas@extundo.com>
89094
89095         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89096         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89097         to real functions.
89098
89099 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89100
89101         * modules/vsnprintf: New file.
89102
89103 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89104
89105         * m4/vsnprintf.m4: New file.
89106
89107 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89108
89109         * lib/vsnprintf.h: New file.
89110         * lib/vsnprintf.c: New file.
89111
89112 2004-10-11  Bruno Haible  <bruno@clisp.org>
89113
89114         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89115         vsnprintf.
89116
89117 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89118
89119         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89120
89121 2004-10-07  Bruno Haible  <bruno@clisp.org>
89122
89123         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89124         fits into the provided buffer.
89125
89126 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89127
89128         * lib/diacrit.c, diacrit.h: Add GPL notice.
89129
89130         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89131         notice.
89132         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89133         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89134         This avoids a potential constant-folding bug.
89135
89136 2004-10-05  Bruno Haible  <bruno@clisp.org>
89137
89138         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89139         for the declaration of strsep.
89140
89141 2004-10-05  Bruno Haible  <bruno@clisp.org>
89142
89143         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89144
89145 2004-10-04  Simon Josefsson  <jas@extundo.com>
89146
89147         * modules/memmem: New file.
89148         * tests/test-memmem.c: New file.
89149         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89150
89151 2004-10-04  Simon Josefsson  <jas@extundo.com>
89152
89153         * m4/memmem.m4: New file.
89154
89155 2004-10-04  Simon Josefsson  <jas@extundo.com>
89156
89157         * lib/memmem.h: New file.
89158         * lib/memmem.c: New file, taken from glibc.
89159
89160 2004-10-04  Simon Josefsson  <jas@extundo.com>
89161
89162         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89163         '#ifdef USE_UNLOCKED_IO'.
89164
89165 2004-10-04  Simon Josefsson  <jas@extundo.com>
89166
89167         * config/srclist.txt: Add memmem from glibc.
89168
89169 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89170
89171         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89172
89173         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89174         modules/exclude, modules/getdate, modules/getline,
89175         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89176         modules/getusershell, modules/linebuffer, modules/md5,
89177         modules/mountlist, modules/posixtm, modules/readtokens,
89178         modules/readutmp, modules/regex, modules/sha1,
89179         modules/version-etc, modules/yesno:
89180         Remove dependency on unlocked-io.
89181
89182 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89183
89184         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89185
89186         * m4/unlocked-io.m4: Add copyright notice.
89187         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89188
89189 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89190
89191         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89192         * lib/xmalloc.c (xmemdup): Likewise.
89193         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89194         XFREE): Remove these long-obsolescent macros.
89195         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89196         * lib/xstrdup.c: Remove.
89197
89198         * lib/regex.c (re_comp): Cast gettext return value to char *,
89199         Problem reported by Martin Neitzel via Mark D. Baushke.
89200
89201 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89202
89203         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89204         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89205         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89206         regex.c, sha1.c, version-etc.c, yesno.c:
89207         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89208         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89209         the includer's responsibility.
89210
89211         Sync from coreutils.
89212
89213         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89214         points to the start of a string, as the C Standard says the
89215         resulting behavior is undefined.
89216
89217         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89218         simple -> simple_backups, numbered_existing ->
89219         numbered_existing_backups, numbered -> numbered_backups
89220         to avoid shadowing problems.  All uses changed.
89221         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89222         * lib/backupfile.c (check_extension, numbered_backup):
89223         Rename locals to avoid shadowing 'basename'.
89224         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89225         once.
89226
89227         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89228         * lib/.cvsignore: Add getopt.h.
89229
89230 2004-10-04  Bruno Haible  <bruno@clisp.org>
89231
89232         * modules/README: New file.
89233         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89234         not a module.
89235
89236 2004-10-02  Jim Meyering  <jim@meyering.net>
89237
89238         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89239
89240 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89241
89242         * modules/strsep: New file.
89243
89244 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89245
89246         * m4/strsep.m4: New file.
89247
89248 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89249
89250         * lib/strsep.h: New file.
89251         * lib/strsep.c: New file.
89252
89253 2004-10-01  Simon Josefsson  <jas@extundo.com>
89254
89255         * lib/snprintf.c (snprintf): Handle size==0.
89256
89257 2004-10-01  Simon Josefsson  <jas@extundo.com>
89258             Bruno Haible  <bruno@clisp.org>
89259
89260         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89261         (snprintf): Declare 'args'.
89262
89263 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89264
89265         * lib/snprintf.c: Remove comments as to why each header is needed.
89266
89267 2004-10-01  Bruno Haible  <bruno@clisp.org>
89268
89269         * MODULES.html.sh: Add strsep.
89270
89271 2004-09-30  Simon Josefsson  <jas@extundo.com>
89272
89273         * modules/snprintf: New file.
89274
89275 2004-09-30  Simon Josefsson  <jas@extundo.com>
89276
89277         * m4/snprintf.m4: New file.
89278
89279 2004-09-30  Simon Josefsson  <jas@extundo.com>
89280
89281         * lib/snprintf.h, lib/snprintf.c: New files.
89282
89283 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89284
89285         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89286         (hol_entry_help): Never translate an empty string.
89287         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89288         * lib/argp.h (OPTION_NO_TRANS): New option.
89289
89290 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89291
89292         * modules/argp (Maintainer): Replace Simon Josefsson
89293         by Sergey Poznyakoff.
89294
89295 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89296
89297         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89298         changes merged back into glibc.
89299
89300 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89301
89302         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89303
89304 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89305
89306         * lib/xvasprintf.c: Include xalloc.h.
89307         (xvasprintf): Use xalloc_die, not xmalloc_die.
89308
89309 2004-09-29  Bruno Haible  <bruno@clisp.org>
89310
89311         * modules/alloca-opt: New file, derived from modules/alloca.
89312         * modules/allocsa: Depend on alloca-opt instead of alloca.
89313         * modules/setenv: Likewise.
89314         * modules/vasnprintf: Likewise.
89315         * MODULES.html.sh: Add alloca-opt.
89316
89317 2004-09-28  Simon Josefsson  <jas@extundo.com>
89318
89319         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89320         LGPL, and to replace license template from GPL to LGPL.
89321
89322 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89323
89324         * modules/dummy: Change license to LGPL.
89325
89326 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89327
89328         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89329
89330 2004-09-24  Simon Josefsson  <jas@extundo.com>
89331
89332         * modules/minmax (License): Change from GPL to LGPL.
89333
89334 2004-09-23  Simon Josefsson  <jas@extundo.com>
89335
89336         * gnulib-tool (--import): Typo.
89337
89338 2004-09-23  Simon Josefsson  <jas@extundo.com>
89339
89340         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89341
89342 2004-09-22  Bruno Haible  <bruno@clisp.org>
89343
89344         * modules/*: Add 'License' field.
89345         * gnulib-tool: Accept --extract-license option.
89346         (func_get_license): New function.
89347
89348 2004-09-21  Bruno Haible  <bruno@clisp.org>
89349
89350         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89351         Reported by Simon Josefsson.
89352
89353 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89354
89355         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89356         gl_AC_TYPE_LONG_LONG.
89357
89358 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89359
89360         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89361
89362 2004-09-18  Simon Josefsson  <jas@extundo.com>
89363         and  Paul Eggert  <eggert@cs.ucla.edu>
89364
89365         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89366         calls with autoreconf.  Define GL_LIB.
89367
89368 2004-09-14  Karl Berry  <karl@gnu.org>
89369
89370         * config/srclist.txt: unsync setenv.c, sigh.
89371
89372 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89373
89374         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89375         Problem reported by Bruno Haible in:
89376         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89377
89378 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89379
89380         * config/srclist.txt: Comment out argp-pvh.c.
89381
89382 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89383
89384         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89385         in case some system header has #define'd it.  Problem reported by
89386         Soeren D. Schulze in
89387         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89388
89389 2004-09-09  Karl Berry  <karl@gnu.org>
89390
89391         * regex.[ch]: delete from the root.  These were supposed to be
89392                 synced with emacs cvs, but this has not happened for about
89393                 a year, and anyway nothing else uses emacs regex.[ch].
89394                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89395                 lib/regex[.ch] is untouched.
89396
89397 2004-09-09  Bruno Haible  <bruno@clisp.org>
89398
89399         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89400
89401 2004-09-09  Bruno Haible  <bruno@clisp.org>
89402
89403         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89404         modifications.
89405         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89406
89407 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89408
89409         * modules/xvasprintf: New file.
89410         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89411
89412 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89413
89414         * lib/xvasprintf.h: New file.
89415         * lib/xvasprintf.c: New file.
89416         * lib/xasprintf.c: New file.
89417
89418 2004-09-08  Bruno Haible  <bruno@clisp.org>
89419
89420         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89421
89422 2004-09-08  Bruno Haible  <bruno@clisp.org>
89423
89424         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89425         length is > INT_MAX.
89426         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89427         more.
89428
89429 2004-09-08  Bruno Haible  <bruno@clisp.org>
89430
89431         * lib/stdint_.h: New file, taken from GNU clisp.
89432
89433 2004-09-08  Bruno Haible  <bruno@clisp.org>
89434             Oskar Liljeblad  <oskar@osk.mine.nu>
89435
89436         * modules/stdint: New file.
89437         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89438
89439 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89440
89441         Import from coreutils.
89442         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89443         strings on unbounded length.  alloca's performance benefits aren't
89444         that important here.
89445         (V_STRDUP): Remove.
89446         (parse_with_separator): New function, with most of the internals
89447         of the old parse_user_spec.  Allow user to omit both user and group,
89448         for compatibility with FreeBSD.
89449         Clone only the user name, not the entire spec.
89450         Do not set *uid, *gid unless entirely successful.
89451         Avoid memory leak in some failing cases.
89452         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89453         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89454         (parse_user_spec): Rewrite to use parse_with_separator.
89455
89456 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89457
89458         * modules/userspec: Don't depend on alloca.
89459
89460 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89461
89462         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89463
89464 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89465
89466         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89467         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89468         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89469
89470 2004-08-16  Simon Josefsson  <jas@extundo.com>
89471
89472         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89473         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89474         Add --dry-run for --import.
89475         Let user provided command line parameters override configure.ac
89476         settings.
89477
89478 2004-08-12  Simon Josefsson  <jas@extundo.com>
89479
89480         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89481         as discussed with Paul Eggert in threads rooted at
89482         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89483         and
89484         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89485         Before, the test was empty, and relied on ELIDE_CODE in source
89486         code.)
89487         (gl_PREREQ_GETOPT): New macro.
89488         (gl_GETOPT): Use them.
89489
89490 2004-08-12  Simon Josefsson  <jas@extundo.com>
89491
89492         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89493         * lib/getopt_.h: Renamed from getopt.h.
89494
89495 2004-08-12  Simon Josefsson  <jas@extundo.com>
89496
89497         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89498         Change default library name from libfoo to libgnu.
89499         Now, if you have a configure.ac that says:
89500                 gl_SOURCE_BASE(gl)
89501                 gl_M4_BASE(gl/m4)
89502                 gl_MODULES(error getopt etcetera)
89503                 gl_INIT
89504         you can import all you need by running:
89505                 ../gnulib/gnulib-tool --import
89506
89507         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89508         (Makefile.am): Rewrite, use logic from argz.
89509         (Include): Use <getopt.h> instead of "getopt.h".
89510
89511 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89512
89513         * modules/argp (Files): Add m4/unlocked-io.m4.
89514         (Depends-on): Add extensions.
89515
89516 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89517
89518         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89519         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89520         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89521         Check for program_invocation_name, program_invocation_short_name,
89522         flockfile, funlockfile, features.h, _getopt_long_only_r.
89523
89524 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89525
89526         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89527         its complicated substitute.
89528         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89529         and program_invocation_name.
89530         (__argp_basename) [!_LIBC]: Remove; the only use was
89531         replaced by its body.
89532         (__argp_short_program_name): Change condition from
89533         !defined __argp_short_program_name to
89534         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89535         to match argp-namefrob.h.
89536         (__argp_failure): Don't assume strerror_r returns char *.
89537         * lib/argp-parse.c (N_): Define unconditionally.
89538         (argp_default_options): Fill out initializers with 0 to avoid
89539         gcc warnings.
89540
89541 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89542
89543         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89544         getopt1.c.
89545
89546 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89547
89548         Merge from coreutils.
89549
89550         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89551
89552         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89553         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89554
89555 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89556
89557         Merge from coreutils.
89558
89559         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89560         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89561         for Reliant Unix 5.43.
89562
89563         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89564         (union fooround): Use uintmax_t, not long int.
89565         The rest is a merge from libc:
89566         [defined _LIBC]: Include <shlib-compat.h>.
89567         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89568
89569         * lib/settime.c (settime): Recode to avoid warning with
89570         Sun Forte C 6U2.
89571
89572         * lib/strverscmp.c: Convert to UTF-8.
89573
89574 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89575
89576         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89577         m4/uintmax_t.m4.
89578
89579 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89580
89581         * modules/xalloc-die: New file.
89582         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89583
89584         * modules/md5 (Files): Add m4/uint32_t.m4.
89585         * modules/sha1: Renamed from modules/sha.
89586         (Files):
89587         Rename lib/sha.h to lib/sha1.h.
89588         Rename lib/sha.c to lib/sha1.c.
89589         Rename m4/sha.m4 to m4/sha1.m4.
89590         (lib_SOURCES): Likewise.
89591         (configure.ac): Rename gl_SHA to gl_SHA1.
89592         (Include): sha.h -> sha1.h.
89593
89594 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89595
89596         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89597         * m4/sha1.m4: Renamed from sha.m4.
89598         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89599
89600 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89601
89602         * lib/obstack.h (obstack_empty_p):
89603         Don't assume that chunk->contents is suitably aligned.
89604         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89605         Likewise. Problem reported by Benno in
89606         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89607
89608         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89609         readable.  This could be improved further but it'd take some work.
89610
89611 2004-08-08  Simon Josefsson  <jas@extundo.com>
89612
89613         * modules/xgethostname (Depends-on): Remove exit and error (not
89614         used).
89615
89616         * modules/getpass-gnu: Add getpass.h.
89617         (Depends-on): Add stdbool.
89618         * modules/getpass: Add getpass.h.
89619
89620 2004-08-08  Simon Josefsson  <jas@extundo.com>
89621
89622         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89623         Check getpass declaration.
89624
89625 2004-08-08  Simon Josefsson  <jas@extundo.com>
89626
89627         * lib/xgethostname.c: Don't include error.h (not used).
89628
89629         * lib/getpass.h: Add.
89630         * lib/getpass.c: Include getpass.h first.
89631
89632 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89633
89634         * lib/xalloc-die.c: New file.
89635         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89636         All uses removed.
89637         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89638         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89639         xalloc-die.c.
89640         (_, N_, xalloc_die): Move to xalloc-die.c.
89641         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89642         so that we needn't mess with xalloc_msg_memory_exhausted.
89643
89644         * lib/sha1.h: Renamed from sha.h.
89645         (SHA1_H): Renamed from _SHA_H.
89646         (sha1_ctx): Renamed from sha_ctx.
89647         (sha1_init_ctx): Renamed from sha_init_ctx.
89648         (sha1_process_block): Renamed from sha_process_block.
89649         (sha1_process_bytes): Renamed from sha_process_bytes.
89650         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89651         (sha1_read_ctx): Renamed from sha_read_ctx.
89652         (sha1_stream): Renamed from sha_stream.
89653         (sha1_buffer): Renamed from sha_buffer.
89654         * lib/sha1.c: Likewise; renamed from sha.c.
89655         Do not include <sys/types.h>.
89656         Include <stddef.h> rather than <stdlib.h>.
89657
89658 2004-08-08  Bruno Haible  <bruno@clisp.org>
89659
89660         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89661         FILESYSTEM_PREFIX_LEN.
89662         * lib/progreloc.c: Likewise.
89663         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89664
89665 2004-08-06  Simon Josefsson  <jas@extundo.com>
89666
89667         * modules/progname (Depends-on): Don't depend on stdbool.
89668
89669 2004-08-06  Simon Josefsson  <jas@extundo.com>
89670
89671         * modules/getsubopt: New file.
89672         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89673         getsubopt.
89674
89675 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89676
89677         More merge from coreutils.
89678
89679         * m4/utimens.m4, m4/utimecmp.m4: New files.
89680         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89681         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89682         prereq.m4, sha.m4: Import changes from coreutils.
89683
89684 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89685
89686         More merge from coreutils.
89687         * modules/raise, modules/readtokens0, modules/utimens:
89688         * modules/utimecmp, module/xnanosleep: New files.
89689         * modules/strftime: Add lib/strftime.h.
89690         Change include from <time.h> to "strftime.h".
89691         * modules/yesno: Add lib/yesno.h.
89692         * modules/backupfile: Remove lib/addext.c.
89693         * modules/euidaccess: Add stat-macros.h.
89694         * modules/canonicalize, modules/euidaccess,
89695         modules/filemode, modules/lchown, modules/makepath,
89696         modules/rmdir, modules/stat: Likewise.
89697
89698 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89699
89700         Merge from tar.
89701         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89702         SIZE_MAX is a valid preprocessor constant.
89703         (__argp_basename): Change from "#ifndef _LIBC"
89704         to "#ifndef __argp_short_program_name", so that
89705         we don't compile these functions for tar.
89706
89707         More merges from coreutils.
89708         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89709         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89710         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89711         * lib/addext.c: Remove; no longer needed.
89712         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89713         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89714         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89715         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89716         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89717         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89718         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89719         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89720         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89721         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89722         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89723         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89724         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89725         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89726         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89727         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89728         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89729         Import changes from coreutils.
89730
89731 2004-08-05  Simon Josefsson  <jas@extundo.com>
89732
89733         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89734
89735 2004-08-05  Simon Josefsson  <jas@extundo.com>
89736
89737         * m4/getsubopt.m4: New file.
89738
89739 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89740
89741         Merge from coreutils.
89742
89743         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89744         * m4/getcwd-path-max.m4: New files.
89745
89746         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89747         FILESYSTEM_PREFIX_LEN ->
89748         FILE_SYSTEM_PREFIX_LEN.
89749         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89750         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89751         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89752         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89753
89754         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89755         prerequisite modules now handle the DOS stuff.
89756         Don't check for unistd.h.
89757
89758 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89759
89760         Merge from coreutils.
89761
89762         * lib/.gdb-history: Remove; this doesn't belong here.
89763
89764         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89765         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89766         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89767         * lib/getcwd.c: New files.
89768
89769         * lib/dirname.h: Include <stdbool.h>.
89770         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89771         for consistency with POSIX terminology.  All uses changed.
89772         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89773         (strip_trailing_slashes): Use bool for booleans.
89774         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89775
89776         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89777         sometimes returns a positive errno value even when it succeeds.
89778         (print_errno_message) [!LIBC]: Fall back on strerror if
89779         __strerror_r fails.
89780
89781         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89782         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89783         (longest_relative_suffix): New function.
89784         (path_concat): Use it.  Assume first argument is not NULL.
89785         Port to DOS.  Omit redundant separators.
89786         Report an error instead of returning NULL.
89787         Use mempcpy instead of memcpy.
89788         (xpath_concat): Remove: not declared or used.
89789
89790         * lib/same.h: Include <stdbool.h>
89791         (same_name): Return bool, not int.
89792         * lib/same.c (same_name): Likewise.
89793         (errno): Don't declare; we assume C89 or better now.
89794
89795         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89796         if not already defined.
89797
89798         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89799         * lib/dup-safer.c (errno): Likewise.
89800
89801 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89802
89803         Merge from coreutils.
89804         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89805         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89806         * modules/path-concat: Don't depend on strdup.
89807
89808 2004-08-03  Simon Josefsson  <jas@extundo.com>
89809
89810         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89811         * lib/progname.h: Don't include stdbool.h.
89812
89813 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89814
89815         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89816         * MODULES.html.sh (func_all_modules): Remove fatal.
89817
89818 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89819
89820         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89821
89822 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89823
89824         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89825         working.
89826
89827 2004-08-02  Simon Josefsson  <jas@extundo.com>
89828
89829         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89830         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89831         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89832
89833 2004-08-01  Simon Josefsson  <jas@extundo.com>
89834
89835         * lib/xgetdomainname.c: Include stdlib.h, for free().
89836
89837 2004-07-19  Bruno Haible  <bruno@clisp.org>
89838
89839         * MODULES.html.sh (func_all_modules): Add dummy.
89840
89841 2004-07-16  Simon Josefsson  <jas@extundo.com>
89842
89843         * modules/dummy: New file.
89844
89845 2004-07-16  Simon Josefsson  <jas@extundo.com>
89846
89847         * lib/dummy.c: New file.
89848
89849 2004-07-16  Bruno Haible  <bruno@clisp.org>
89850
89851         * lib/backupfile.h: Add extern "C" for C++.
89852         * lib/closeout.h: Likewise.
89853         * lib/copy-file.h: Likewise.
89854         * lib/findprog.h: Likewise.
89855         * lib/full-write.h: Likewise.
89856         * lib/pathname.h: Likewise.
89857         * lib/progname.h: Likewise.
89858         * lib/stpcpy.h: Likewise.
89859         * lib/stpncpy.h: Likewise.
89860         * lib/strcase.h: Likewise.
89861         * lib/strstr.h: Likewise.
89862         * lib/xalloc.h: Likewise.
89863
89864         * lib/mbswidth.h: Add extern "C" for C++.
89865         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89866
89867 2004-07-13  Robert Millan  <robertmh@gnu.org>
89868
89869         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89870
89871 2004-07-09  Simon Josefsson  <jas@extundo.com>
89872
89873         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89874         failed without this.)
89875
89876 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89877
89878         * modules/chown (Files): Add lib/fchown-stub.c, since
89879         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89880
89881 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89882
89883         * lib/fchown-stub.c: New file.
89884
89885 2004-06-24  Jim Meyering  <jim@meyering.net>
89886
89887         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89888
89889 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89890
89891         * modules/argz: Omit "#include".
89892
89893         * MODULES.html.sh (func_all_modules): Add calloc, to match
89894         2004-06-01 addition of calloc module.
89895
89896 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89897
89898         * m4/argz.m4: New file, which is autoupdated from libtool.
89899
89900 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89901
89902         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89903         libtool.
89904
89905 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89906
89907         * config/srclist-update: Don't insist on "USA." before the
89908         close-comment, as libtool omits the period and puts the */ on a
89909         separate line.
89910         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89911         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89912
89913 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89914
89915         * modules/argz: New file.
89916         * MODULES.html.sh (func_all_modules): Add argz.
89917
89918 2004-06-12  Jim Meyering  <jim@meyering.net>
89919         and  Paul Eggert  <eggert@cs.ucla.edu>
89920
89921         * modules/hash (Files): Add lib/xalloc.h.
89922         * modules/pipe (Depends-on): Add wait-process.
89923         * modules/stat (Depends-on): Add xalloc.
89924         * modules/userspec (Files): Add lib/userspec.h.
89925         * modules/xstrto
89926
89927         Upgrade from gettext-0.13.
89928         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89929         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89930         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89931
89932 2004-06-10  Jim Meyering  <jim@meyering.net>
89933
89934         * lib/calloc.c: New file.
89935
89936 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89937
89938         * lib/getdate.y (yylex): Allow space between sign and number.
89939         Problem reported by Dan Jacobson.
89940
89941 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89942
89943         Merge from coreutils CVS.
89944
89945         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89946         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89947         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89948         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89949         xstrtol.m4: Fix copyright date and/or serial number.
89950
89951         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89952         See if we need an fchown replacement.
89953         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89954         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89955         and use the replacement function if we detect either defect.
89956
89957         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89958         gl_UTIMECMP.
89959
89960 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89961         and  Jim Meyering  <jim@meyering.net>
89962
89963         Merge from coreutils CVS.
89964
89965         * lib/stat-macros.h: New file, with contents from file-type.h
89966         and coreutils' system.h.
89967         * lib/file-type.c: Include "stat-macros.h".
89968         * lib/file-type.h (file_type): Move all macro definitions to new file,
89969         stat-macros.h.
89970
89971         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89972         Wrap old code with this conditional.
89973         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89974         function that does not dereference symlinks.
89975         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89976
89977         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89978         dependency problems.
89979         (xreadlink): Accept new arg SIZE, for efficiency.
89980         All decls and uses changed.
89981         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89982
89983         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89984         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89985
89986         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89987         sysexits.h.
89988
89989 2004-06-01  Jim Meyering  <jim@meyering.net>
89990
89991         * m4/calloc.m4: New file.
89992
89993 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89994
89995         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89996         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89997         Also, fix a typo in a diagnostic.
89998
89999 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90000
90001         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90002         or AC_FUNC_REALLOC.
90003
90004 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90005
90006         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90007         macros to be defined.
90008         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90009         the allocator returns NULL because the requested size is zero.
90010
90011 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90012
90013         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90014         var.  Add comment explaining why libc still defines it.  This
90015         merges the following patch from glibc:
90016         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90017
90018 2004-05-20  Andreas Schwab  <schwab@suse.de>
90019
90020         * m4/free.m4: Replace free if it not known to work, not the other
90021         way round.
90022
90023 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90024
90025         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90026         present in glibc since revision 1.1 of this file.
90027         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90028         obstack_alignment_mask, obstack_alloc, obstack_base,
90029         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90030         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90031         obstack_grow0, obstack_init, obstack_int_grow,
90032         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90033         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90034         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90035         nonexistent functions.
90036
90037 2004-05-18  Karl Berry  <karl@gnu.org>
90038
90039         * config/srclist.txt: break link for vasnprintf.c.
90040
90041 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90042
90043         Port obstack to the AS/400, where pointers are 16 bytes wide and
90044         you cannot cast an integer to a valid pointer.  This patch is
90045         currently waiting to be integrated into glibc; see
90046         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90047
90048         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90049         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90050         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90051         (struct obstack): temp member is now a union of a pointer and
90052         an integer, instead of an integer.  All integer uses changed.
90053         This does not affect the physical layout of struct obstack,
90054         except on hosts (like the AS/400) where the size or alignment of
90055         void * is greater than that of ptrdiff_t.
90056         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90057         __STDC__)]: Store temporary in pointer member of union, not
90058         integer member.
90059         * lib/obstack.c: Include <stddef.h>, for offsetof.
90060         (struct fooalign): Remove; it doesn't need a name.
90061         (union fooround): Change double to long double, and add void *.
90062         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90063         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90064         not a macro.  Hence the values are always int; so remove all
90065         casts-to-int in uses.
90066
90067 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90068
90069         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90070         we can get this patch merged into glibc.
90071
90072 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90073             Paul Eggert  <eggert@cs.ucla.edu>
90074
90075         * m4/argp: Depend on alloca.
90076
90077 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90078             Paul Eggert  <eggert@cs.ucla.edu>
90079
90080         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90081         freecoding.
90082
90083 2004-05-17  Bruno Haible  <bruno@clisp.org>
90084
90085         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90086         precision that consists of a '.' followed by an empty digit string.
90087         Patch by Tor Lillqvist <tml@iki.fi>.
90088
90089 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90090
90091         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90092         for backward compatibility with older code.  We need our own
90093         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90094         it under some other name, and our alloca.h will define it.
90095
90096 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90097             Derek Price  <derek@ximbiot.com>
90098
90099         * lib/alloca.c: Include <alloca.h>, to get our interface.
90100         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90101         include <alloca.h> first.  Use C89 prototype for alloca; this
90102         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90103         Use #elif for simplicity, since we can assume C89 now.
90104         Don't try to source the system alloca.h since it will not be found
90105         and to prevent recursively including its replacement.
90106         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90107         * lib/regex.c: Likewise.
90108
90109 2004-05-16  Derek Price  <derek@ximbiot.com>
90110             Paul Eggert  <eggert@cs.ucla.edu>
90111
90112         getline cleanup.  This changes the getndelim2 API: both order of
90113         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90114         no delimiter).
90115
90116         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90117         interface does that.
90118         (getline): Always use getdelim, so that we don't have two
90119         copies of this code.
90120         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90121         if available.
90122         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90123         (GETNDELIM2_MAXIMUM): New macro.
90124         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90125         instead of the old practice of delim2==0.  All callers changed.
90126         Return -1 on overflow, instead of returning junk.
90127         Do not set *linesize unless allocation succeeds.
90128         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90129         that we include sys/types.h.
90130         * lib/getnline.h: Likewise.
90131         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90132         (getndelim2): Reorder arguments.
90133         * lib/getnline.c (getnline, getndelim):
90134         Don't discard the NMAX argument.
90135         (getnline): Invoke getndelim, to avoid code duplication.
90136         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90137         of (size_t) -1 by callers of the getnline family.
90138
90139 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90140
90141         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90142         Check for gettimeofday.
90143         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90144         Check for settimeofday, stime.
90145
90146 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90147
90148         * lib/nanosleep.c (suspended): Change its type from int to
90149         sig_atomic_t volatile.
90150         (first_call): Make it private to rpl_nanosleep, and have it
90151         be zero initially as that's a bit faster.
90152         (my_usleep): Round up fractional times instead of truncating them,
90153         as this is the usual meaning for 'sleep'.
90154
90155         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90156         doesn't work.
90157         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90158         (ENOSYS): Define if not defined.
90159         (settime): Fall back on stime if it exists and settimeofday fails.
90160         But don't bother with fallbacks if a method fails with errno == EPERM.
90161
90162 2004-05-11  Jim Meyering  <jim@meyering.net>
90163
90164         Prior to this change, the save_cwd caller required read access to the
90165         current directory on most systems (ones with the fchdir function).
90166
90167         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90168         fails, try write-only, and finally, resort to using xgetcwd.
90169
90170 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90171
90172         * lib/obstack.c, obstack.h: Import changes from libc.
90173
90174 2004-04-28  Bruno Haible  <bruno@clisp.org>
90175
90176         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90177         also implicitly appends .exe to executables.
90178         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90179         accepts Windows pathnames.
90180         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90181         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90182         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90183         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90184         Reported by Derek Robert Price <derek@ximbiot.com>.
90185
90186 2004-04-21  Karl Berry  <karl@gnu.org>
90187
90188         * config/srclist.txt (localcharset.c): break sync.
90189
90190 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90191
90192         * m4/host-os.m4: Add a copyright notice.
90193
90194 2004-04-20  Jim Meyering  <jim@meyering.net>
90195
90196         Change UTILS_ to gl_ in AC_DEFINE'd names.
90197         Change utils_- and jm_-prefixed variables, too.
90198         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90199         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90200         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90201
90202         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90203         Don't emit trailing blanks.
90204         Also rename jm_-prefixed variables to have gl_ prefix.
90205
90206         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90207         Also rename jm_-prefixed variables to have gl_ prefix.
90208
90209         * m4/jm-macros.m4: Reflect the renamings.
90210         * m4/prereq.m4: Likewise.
90211
90212 2004-04-20  Jim Meyering  <jim@meyering.net>
90213
90214         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90215         memory.
90216
90217 2004-04-20  Jim Meyering  <jim@meyering.net>
90218             Bruno Haible  <bruno@clisp.org>
90219
90220         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90221         memory when realloc fails.
90222
90223 2004-04-19  Jim Meyering  <jim@meyering.net>
90224
90225         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90226         now that readutmp.c may call `free (0)'.
90227
90228 2004-04-19  Bruno Haible  <bruno@clisp.org>
90229
90230         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90231         * m4/inttypes_h.m4: Likewise.
90232         * m4/stdint_h.m4: Likewise.
90233         * m4/intmax_t.m4: Likewise.
90234         * m4/uintmax_t.m4: Likewise.
90235
90236 2004-04-18  Jim Meyering  <jim@meyering.net>
90237
90238         * m4/prereq.m4: Don't forbid jm_ prefix.
90239
90240         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90241         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90242         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90243         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90244         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90245         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90246         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90247         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90248         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90249         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90250         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90251         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90252         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90253         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90254         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90255         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90256         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90257         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90258         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90259
90260 2004-04-18  Jim Meyering  <jim@meyering.net>
90261
90262         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90263         failure, don't leak memory and do call END_UTMP_ENT.
90264
90265 2004-04-16  Jim Meyering  <jim@meyering.net>
90266
90267         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90268         coreutils' stat program.
90269         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90270
90271 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90272
90273         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90274         C89.
90275         (CHAR_BIT): Remove, since we assume C89.
90276         Include <stdint.h> if available, as per current Autoconf CVS advice.
90277
90278 2004-03-31  Jim Meyering  <jim@meyering.net>
90279
90280         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90281         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90282         * m4/xalloc.m4: Likewise.
90283
90284 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90285
90286         Merge from coreutils.
90287
90288         * m4/inttostr.m4: New file.
90289         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90290         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90291         Require gl_CLOCK_TIME.
90292         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90293
90294 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90295
90296         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90297         not bool, to be more consistent with Unix conventions.
90298         Suggested by Bruno Haible.
90299
90300         Merge from coreutils.
90301
90302         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90303         * lib/umaxtostr.c: New files.
90304
90305         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90306         the usual <time.h> dance.
90307         (get_date): Change signature to support fractional time stamps.
90308         All callers changed.
90309         * lib/getdate.y: Include "getdate.h" first, as we can now
90310         assume C89 and don't need to worry about 'const'.
90311         Similarly, include "unlocked-io.h" near start, not in middle.
90312         Include <limits.h>.
90313         (textint.value): Use long int rather than int.
90314         (textint.digits): Use size_t rather than int.
90315         (BILLION, LOG10_BILLION): New constants.
90316         (parser_control): New member rel_ns.  Members day_ordinal,
90317         time_zone, month, day, hour, minutes, rel_year, rel_month,
90318         rel_day, rel_hour, rel_minutes, rel_seconds
90319         are now long int, not int.  Member seconds is now struct timespec,
90320         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90321         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90322         not int.
90323         (%union.intval): Now long int, not int.
90324         New member timespec.
90325         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90326         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90327         (spec): Now is a timespec or an item list.
90328         (timespec, items): New nonterminals.
90329         (time, rel, relunit, number, get_date):
90330         Add support for fractional seconds.
90331         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90332         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90333         (to_hour): First arg is now long int, not int.
90334         (to_year): Returns long int, not int.
90335         Don't treat year -70 like 70.
90336         (tm_diff): Returns long int, not int.
90337         (lookup_word): Use bool instead of int when appropriate.
90338         (yylex): Use size_t for count, not int.
90339         Detect overflow when parsing large integer constants.
90340         Add support for fractions.
90341         (get_date): Make pointers 'const' if possible.
90342         Use more-portable code to detect integer overflow.
90343         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90344         Don't use ctime; it's not reliable if the year has >4 digits.
90345
90346         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90347         This is for compatibility with BSD.
90348
90349         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90350         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90351         From coreutils' system.h.
90352
90353         * lib/userspec.c: Don't include "posixver.h".
90354         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90355         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90356         compatible extension.  Simplify code by removing a boolean int
90357         that was always nonzero if a string was nonnull.
90358
90359 2004-03-30  Jim Meyering  <jim@meyering.net>
90360
90361         Merge from coreutils.
90362
90363         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90364         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90365         on some systems one must include <grp.h> before it.
90366         Reported by Christian Krackowizer.
90367
90368 2004-03-30  Jim Meyering  <jim@meyering.net>
90369
90370         Merge from coreutils.
90371
90372         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90373
90374         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90375         an empty input stream.
90376
90377         * lib/readtokens.c: Include <stdbool.h>.
90378         (readtoken): Use `size_t' rather than int/long.
90379         All callers adjusted.
90380         Use `bool' rather than `int' where appropriate.
90381         Use memset rather than an explicit loop.
90382         Use x2nrealloc rather than xrealloc.
90383         Allow the use of `\0' as a delimiter.
90384         (readtokens): Likewise.
90385         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90386
90387 2004-03-30  Jim Meyering  <jim@meyering.net>
90388
90389         * m4/realloc.m4: Remove file, since now it does no more than
90390         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90391         the `configure.ac' section of module/realloc.
90392         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90393
90394 2004-03-30  Bruno Haible  <bruno@clisp.org>
90395
90396         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90397         nonnull.
90398
90399 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90400
90401         Merge changes to getloadavg.c from coreutils and Emacs.
90402
90403         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90404         Define to an expression, not to the empty string.
90405         Include cloexec.h and xalloc.h.
90406         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90407         Use set_cloexec_flag rather than rolling our own.
90408         * lib/cloexec.c, lib/cloexec.h: New files.
90409
90410 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90411
90412         * m4/cloexec.m4: New file.
90413
90414 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90415
90416         * lib/getopt.h: Sync with libc CVS.
90417
90418 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90419             Bruno Haible  <bruno@clisp.org>
90420
90421         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90422         mbswidth.
90423
90424 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90425             Bruno Haible  <bruno@clisp.org>
90426
90427         * lib/mbswidth.h: Include <wchar.h> only if
90428         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90429         <wchar.h>.
90430         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90431
90432 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90433
90434         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90435         Sync with libc CVS.
90436         * lib/getopt_int.h: New file, also synced from libc.
90437
90438 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90439
90440         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90441         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90442         Bring back getopt.c, getopt.h, getopt1.c.
90443
90444 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90445
90446         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90447         All uses changed.  Check for sa_sigaction member; this fixes
90448         a bug first reported by Jason Andrade in
90449         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90450
90451 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90452
90453         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90454         '#if' expressions.  Unlike the code it replaces, it does not
90455         depend on (defined _SC_PAGESIZE).  However, it does depend on
90456         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90457         first reported by Jason Andrade in
90458         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90459
90460 2004-02-25  Simon Josefsson  <jas@extundo.com>
90461
90462         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90463
90464 2004-02-25  Simon Josefsson  <jas@extundo.com>
90465
90466         * lib/strdup.h: New file.
90467         * lib/strdup.c: Include it.
90468         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90469         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90470
90471 2004-02-23  Karl Berry  <karl@gnu.org>
90472
90473         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90474         (from fencepost.gnu.org:/gd/gnuorg).
90475
90476 2004-02-23  Karl Berry  <karl@gnu.org>
90477
90478         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90479         * config/srclist.txt: add maintain/standards documents.
90480
90481 2004-02-18  Bruno Haible  <bruno@clisp.org>
90482
90483         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90484         Reported by Derek Robert Price <derek@ximbiot.com>.
90485
90486 2004-02-16  Karl Berry  <karl@gnu.org>
90487
90488         * config/mkinstalldirs, install-sh: update from automake.
90489
90490 2004-02-06  Karl Berry  <karl@gnu.org>
90491
90492         * m4/po.m4: update from gettext 0.14.1.
90493
90494 2004-02-06  Karl Berry  <karl@gnu.org>
90495
90496         * lib/config.charset: update from gettext 0.14.1.
90497
90498 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90499
90500         Add comments and code, prompted by suggestions from Bruno Haible
90501         for sh-quote.
90502         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90503         describing the enum quoting_style values.
90504         * lib/quotearg.c (quotearg_alloc): New function.
90505         (quotearg_buffer_restyled): Treat lone { and } as special.
90506         Treat = as special.  Work around bug with older shells
90507         that "see" a '\' that is really the 2nd byte of a multibyte char.
90508         Quote empty string with shell_quoting_style.
90509
90510 2004-02-03  Bruno Haible  <bruno@clisp.org>
90511
90512         * m4/pipe.m4: New file, from GNU gettext.
90513
90514 2004-02-03  Bruno Haible  <bruno@clisp.org>
90515
90516         * lib/pipe.h: New file, from GNU gettext.
90517         * lib/pipe.c: New file, from GNU gettext.
90518
90519 2004-01-27  Bruno Haible  <bruno@clisp.org>
90520
90521         * m4/execute.m4: New file, from GNU gettext.
90522
90523 2004-01-27  Bruno Haible  <bruno@clisp.org>
90524
90525         * lib/execute.h: New file, from GNU gettext.
90526         * lib/execute.c: New file, from GNU gettext.
90527         * lib/w32spawn.h: New file, from GNU gettext.
90528
90529 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90530
90531         Merge from diffutils.
90532
90533         * lib/file-type.c (file_type): Add typed memory objects.
90534         * lib/file-type.h (S_TYPEISTMO): New macro.
90535
90536         * lib/c-stack.h (c_stack_action): Remove argv argument.
90537         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90538         (die): Don't calculate message unless segv_action returns.
90539         (get_stack_location, min_address_from_argv, max_address_from_argv,
90540         volatile stack_base, volatile_stack_size): Remove.
90541         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90542         that every segmentation violation is a stack overflow.  (Ouch!)
90543         See Debian bug 136249 (still outstanding) for more info about why
90544         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90545
90546 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90547
90548         Exit-status fix from coreutils.
90549
90550         Use exit_failure consistently in place of EXIT_FAILURE,
90551         so that program exit statuses are consistent on failure.
90552
90553         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90554         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90555         * lib/argmatch.h: Comment fix to match the above.
90556         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90557         Now a macro referring to exit_failure, instead of a separate
90558         variable.  Include "exitfail.h" to get it.
90559         * lib/xstrtol.h: Include "exitfail.h".
90560         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90561
90562         * lib/long-options.c (parse_long_options): Use prototype
90563         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90564         for clarity.
90565
90566 2004-01-21  Jim Meyering  <jim@meyering.net>
90567
90568         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90569         so as not to conflict with a different-sized __mktime_internal
90570         function in GNU libc.
90571         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90572         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90573
90574 2004-01-20  Karl Berry  <karl@gnu.org>
90575
90576         * config/config.guess: update from config.
90577
90578         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90579
90580 2004-01-20  Bruno Haible  <bruno@clisp.org>
90581
90582         Safer stack allocation.
90583         * lib/setenv.c: Include allocsa.h.
90584         (alloca): Remove fallback definition.
90585         (freea): Remove macro.
90586         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90587         instead of freea.
90588
90589 2004-01-20  Bruno Haible  <bruno@clisp.org>
90590
90591         * m4/eealloc.m4: New file, from GNU gettext.
90592
90593 2004-01-20  Bruno Haible  <bruno@clisp.org>
90594
90595         * m4/allocsa.m4: New file, from GNU gettext.
90596
90597 2004-01-20  Bruno Haible  <bruno@clisp.org>
90598
90599         * lib/xallocsa.h: New file, from GNU gettext.
90600         * lib/xallocsa.c: New file, from GNU gettext.
90601
90602 2004-01-20  Bruno Haible  <bruno@clisp.org>
90603
90604         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90605
90606 2004-01-20  Bruno Haible  <bruno@clisp.org>
90607
90608         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90609         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90610         specially.
90611
90612 2004-01-20  Bruno Haible  <bruno@clisp.org>
90613
90614         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90615         patch.
90616
90617 2004-01-20  Bruno Haible  <bruno@clisp.org>
90618
90619         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90620
90621 2004-01-20  Bruno Haible  <bruno@clisp.org>
90622
90623         * lib/eealloc.h: New file.
90624
90625 2004-01-20  Bruno Haible  <bruno@clisp.org>
90626
90627         * lib/binary-io.h: Avoid warnings on Cygwin.
90628
90629 2004-01-20  Bruno Haible  <bruno@clisp.org>
90630
90631         * lib/allocsa.h: New file, from GNU gettext.
90632         * lib/allocsa.c: New file, from GNU gettext.
90633
90634 2004-01-18  Karl Berry  <karl@gnu.org>
90635
90636         * doc/gpl.texi, doc/lgpl.texi: new files.
90637
90638 2004-01-18  Karl Berry  <karl@gnu.org>
90639
90640         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90641         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90642
90643 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90644
90645         Merge from coreutils.
90646
90647         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90648         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90649         (gl_DEFAULT_POSIX2_VERSION): Move
90650         the documentation from 'configure' into 'config.hin',
90651         so that 'configure --help' isn't burdened by it and
90652         we don't have to worry about its formatting there.
90653         Reword the documentation so that it's more succinct
90654         and can be run together into a single paragraph.
90655         * m4/same.m4 (gl_SAME): Check for pathconf.
90656
90657 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90658
90659         Merge from coreutils.
90660
90661         * lib/posixver.c: Include posixver.h.
90662
90663         * lib/same.c: Include <stdbool.h>, <limits.h>.
90664         (_POSIX_NAME_MAX): Define if not defined.
90665         (MIN): New macro.
90666         (same_name): If file names are silently truncated, report
90667         that the file names are the same if they are the same after
90668         the silent truncation.
90669
90670         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90671         conversion function.
90672         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90673         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90674         longer needed.
90675
90676 2004-01-15  Jim Meyering  <jim@meyering.net>
90677
90678         Merge from coreutils.
90679
90680         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90681         if no library is required.
90682         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90683         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90684         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90685         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90686         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90687         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90688         value, $ac_cv_search_crypt, if it's "none required".
90689         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90690         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90691         not gl_FUNC_GETLOADAVG.
90692         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90693         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90694
90695 2004-01-15  Jim Meyering  <jim@meyering.net>
90696
90697         Merge from coreutils.
90698
90699         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90700         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90701         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90702
90703         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90704         optional configure-time default.
90705
90706         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90707
90708         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90709
90710 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90711
90712         Merge from coreutils.
90713
90714         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90715         value, $ac_cv_search_nanosleep, if it's "none required".
90716
90717 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90718
90719         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90720         with like-named macro in fnmatch.c.
90721         (EXT): Use an internal constant instead.
90722
90723         Merge fnmatch patches from glibc.
90724         * lib/fnmatch.c (mbsinit): Remove define.
90725         Add libc_hidden_ver (__fnmatch, fnmatch).
90726         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90727         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90728
90729 2004-01-14  Karl Berry  <karl@gnu.org>
90730
90731         * config/install-sh: update from automake.
90732
90733 2004-01-13  Karl Berry  <karl@gnu.org>
90734
90735         * config/install-sh: update from automake.
90736
90737 2004-01-09  Karl Berry  <karl@gnu.org>
90738
90739         * config/install-sh: update from automake.
90740
90741 2004-01-05  Karl Berry  <karl@gnu.org>
90742
90743         * config/config.{sub,guess}: update from config.
90744
90745 2003-12-31  Karl Berry  <karl@gnu.org>
90746
90747         * config/depcomp: update from automake.
90748
90749 2003-12-14  Karl Berry  <karl@gnu.org>
90750
90751         * lib/config.charset: update from gettext-runtime.
90752
90753 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90754
90755         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90756         Bug reported by Alfred M. Szmidt.
90757
90758 2003-12-03  Bruno Haible  <bruno@clisp.org>
90759
90760         * m4/gettext.m4: Upgrade from gettext-0.13.
90761         * m4/po.m4: Upgrade from gettext-0.13.
90762         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90763         * m4/intmax.m4: New file, from gettext-0.13.
90764         * m4/printf-posix.m4: New file, from gettext-0.13.
90765
90766 2003-11-29  Karl Berry  <karl@gnu.org>
90767
90768         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90769
90770 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90771             Bruno Haible  <bruno@clisp.org>
90772
90773         * lib/printf-parse.h: Don't include sys/types.h.
90774         (ARG_NONE): New macro.
90775         (char_directive): Change type of *arg_index fields to size_t.
90776         * lib/printf-parse.c: Don't include sys/types.h.
90777         (SSIZE_MAX): Remove macro.
90778         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90779         Remove unnecessary overflow check.
90780         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90781         fields.
90782
90783 2003-11-25  Bruno Haible  <bruno@clisp.org>
90784
90785         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90786
90787 2003-11-25  Bruno Haible  <bruno@clisp.org>
90788
90789         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90790         gt_TYPE_SSIZE_T.
90791
90792 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90793
90794         * modules/alloca: Remove dependency on xalloc.
90795
90796 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90797
90798         * lib/alloca.c: Remove dependency on xalloc module.
90799         (xalloc_die): Remove.
90800         (memory_full) [!defined emacs]: New macro.
90801         [!defined emacs]: Don't include xalloc.h.
90802         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90803         address arithmetic overflows.  Change datatypes a bit to avoid
90804         unnecessary casts.
90805
90806 2003-11-22  Jim Meyering  <jim@meyering.net>
90807
90808         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90809         s/size/size_t/.
90810
90811 2003-11-21  Karl Berry  <karl@gnu.org>
90812
90813         * config/config.{sub,guess}: update from config.
90814
90815 2003-11-18  Karl Berry  <karl@gnu.org>
90816
90817         * config/config.{sub,guess}: update from config.
90818
90819         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90820
90821 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90822
90823         * README: Mention that S+T cannot overflow if S is the size of
90824         an existing object and T is sufficiently small.
90825
90826 2003-11-17  Jim Meyering  <jim@meyering.net>
90827
90828         On systems without utime and without a utimes function capable of
90829         dealing with a NULL struct utimbuf* argument, this utime replacement
90830         could -- in unusual circumstances -- leak a file descriptor.
90831         * lib/utime.c: Include <unistd.h> and <errno.h>.
90832         (utime_null): Be sure to close `fd' and to preserve errno.
90833         Reported by Geoff Collyer via Arnold Robbins.
90834
90835 2003-11-17  Bruno Haible  <bruno@clisp.org>
90836
90837         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90838         (Depends-on): Add xsize.
90839
90840 2003-11-17  Bruno Haible  <bruno@clisp.org>
90841
90842         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90843
90844 2003-11-17  Bruno Haible  <bruno@clisp.org>
90845
90846         * lib/vasnprintf.c (alloca): Remove fallback definition.
90847         (freea): Remove definition.
90848         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90849         Reported by Paul Eggert.
90850
90851 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90852             Bruno Haible  <bruno@clisp.org>
90853
90854         Protect against address arithmetic overflow.
90855         * lib/printf-args.h: Include stddef.h.
90856         (arguments): Change type of field 'count' to size_t.
90857         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90858         'unsigned int' where appropriate.
90859         * lib/printf-parse.h: Include sys/types.h.
90860         (char_directive): Change type of *arg_index fields to ssize_t.
90861         (char_directives): Change type of fields 'count', max_*_length to
90862         size_t.
90863         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90864         (SSIZE_MAX): Define fallback value.
90865         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90866         instead of 'int' where appropriate. Check a_allocated, d_allocated
90867         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90868         * lib/vasnprintf.c: Include xsize.h.
90869         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90870         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90871         overflow. Avoid wraparound when converting a width or precision from
90872         decimal to binary.
90873
90874 2003-11-16  Bruno Haible  <bruno@clisp.org>
90875
90876         Update from GNU gettext.
90877         * lib/printf-parse.c: Generalize to it can be compiled for wide
90878         strings.
90879         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90880         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90881         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90882         SNPRINTF): New macros.
90883         Don't include <alloca.h> if the file is used inside libintl.
90884         (local_wcslen): New function, for Solaris 2.5.1.
90885         (VASNPRINTF): Use it instead of wcslen.
90886
90887 2003-11-16  Bruno Haible  <bruno@clisp.org>
90888
90889         * lib/xsize.h (xmax): New function.
90890         (xsum, xsum3, xsum4): Declare as "pure" functions.
90891
90892 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90893
90894         * modules/xalloc (Files): Undo latest change, since xalloc.h
90895         no longer needs SIZE_MAX or PTRDIFF_MAX.
90896
90897 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90898
90899         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90900         gl_PTRDIFF_MAX.
90901
90902 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90903
90904         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90905         "return", to pacify some unknown compiler.  Problem reported
90906         by Joerg Schilling.
90907
90908 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90909
90910         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90911         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90912         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90913         heuristic is just as accurate as far as we know, and it removes a
90914         dependency on size_max.m4 and ptrdiff_max.m4.
90915
90916 2003-11-11  Bruno Haible  <bruno@clisp.org>
90917
90918         * modules/xsize (Files): Add m4/size_max.m4.
90919         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90920
90921 2003-11-11  Bruno Haible  <bruno@clisp.org>
90922
90923         * m4/size_max.m4: New file.
90924         * m4/ptrdiff_max.m4: New file.
90925         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90926         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90927         (gl_XALLOC): Invoke it.
90928
90929 2003-11-11  Bruno Haible  <bruno@clisp.org>
90930
90931         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90932         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90933         defined.
90934
90935 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90936
90937         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90938         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90939         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90940         From Bruno Haible.
90941         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90942         not (size_t) -1, since it's defined here.
90943
90944 2003-11-09  Karl Berry  <karl@gnu.org>
90945
90946         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90947
90948 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90949
90950         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90951         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90952         Reject sizes of exactly SIZE_MAX bytes.
90953         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90954         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90955
90956 2003-11-05  Bruno Haible  <bruno@clisp.org>
90957
90958         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90959         SIZE_MAX defined in <limits.h> on Solaris.
90960
90961 2003-11-04  Jim Meyering  <jim@meyering.net>
90962
90963         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90964         variable names, rather than @VAR@.
90965         * modules/poll: Likewise.
90966
90967 2003-11-04  Bruno Haible  <bruno@clisp.org>
90968
90969         * modules/xsize: New file.
90970         * modules/linebreak: Depend on xsize.
90971         * MODULES.html.sh (func_all_modules): Add xsize.
90972
90973 2003-11-04  Bruno Haible  <bruno@clisp.org>
90974
90975         * m4/xsize.m4: New file.
90976
90977 2003-11-04  Bruno Haible  <bruno@clisp.org>
90978
90979         * lib/xsize.h: New file.
90980         * lib/linebreak.c: Include xsize.h.
90981         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90982         argument for overflow.
90983         Suggested by Paul Eggert.
90984
90985 2003-11-03  Karl Berry  <karl@gnu.org>
90986
90987         * config/config.{guess,sub}: update from config.
90988
90989 2003-11-03  Jim Meyering  <jim@meyering.net>
90990
90991         * modules/userspec (lib_SOURCES): Add userspec.h.
90992         (Include): Add "userspec.h".
90993         Improve description.
90994
90995 2003-11-03  Jim Meyering  <jim@meyering.net>
90996
90997         * lib/userspec.c: Include "userspec.h".
90998         * lib/userspec.h: New file.
90999
91000 2003-11-03  Bruno Haible  <bruno@clisp.org>
91001
91002         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91003
91004 2003-11-03  Bruno Haible  <bruno@clisp.org>
91005
91006         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91007         available, to avoid (extremely rare) race condition.
91008         Suggested by Paul Eggert.
91009
91010 2003-11-02  Karl Berry  <karl@gnu.org>
91011
91012         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91013
91014 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91015
91016         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91017         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91018         (read_filesystem_list): Set and use me_type_malloced.
91019         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91020         whatever the type happens to be), for brevity and consistency.
91021         Check for size calculation overflow on Alphas running OSF/1.
91022
91023 2003-10-31  Jim Meyering  <jim@meyering.net>
91024
91025         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91026
91027         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91028
91029 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91030             Bruno Haible  <bruno@clisp.org>
91031
91032         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91033         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91034
91035 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91036
91037         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91038         netbsd*-gnu*.  Suggested by Robert Millan.
91039
91040 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91041
91042         * modules/group-member: Depend on stdbool.
91043
91044 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91045
91046         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91047
91048 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91049
91050         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91051         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91052         after the 'gnu' in these cases.  This fixes some bugs in the
91053         previous change, and is based on suggestions by Robert Millan.
91054
91055 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91056
91057         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91058         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91059         no longer needed.
91060         * lib/quotearg.c (quotearg_n_options): Use it.
91061         * lib/group-member.c: Include <stdbool.h>.
91062         (free_group_info): Arg is now const *; don't free arg.
91063         (get_group_info): Now returns bool and accepts struct group_info *,
91064         rather than returning a malloc'ed struct group_info *.
91065         All uses changed.  Check for overflow in internal size calculation.
91066
91067         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91068         rather than xmalloc/xrealloc.
91069         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91070         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91071         conformance bug: the old code used a pointer after freeing the
91072         storage that it addressed.
91073         * lib/hash.c (hash_initialize): Simplify the code by using
91074         xalloc_oversized rather than doing it by hand.
91075         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91076         the buffer preserved.  Use free and xmalloc instead.
91077         * lib/quotearg.c (quotearg_n_options): Likewise.
91078         Use a simpler test for size overflow.  Don't use xalloc_oversized
91079         because unsigned int might be wider than size_t (!); this suggests
91080         that we should switch from unsigned int to size_t for slot numbers.
91081
91082 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91083
91084         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91085         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91086         NetBSD kernels.  Requested by Richard Stallman.
91087
91088 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91089
91090         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91091         to allocate the returned structure.  Do not allocate a subarray,
91092         as x2nrealloc will do that.
91093         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91094         instead of xnrealloc.
91095         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91096
91097 2003-10-27  Bruno Haible  <bruno@clisp.org>
91098
91099         * lib/stdbool_.h: Better support for BeOS.
91100
91101 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91102
91103         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91104         now uses inline.
91105
91106 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91107
91108         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91109         callers that want to do their own size-overflow checking.  Include
91110         <stdbool.h>, since xalloc_oversized returns bool.
91111         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91112         to use xalloc_oversized.
91113
91114         Add two functions x2realloc, x2nrealloc, for programs that grow
91115         arrays dynamically by doubling their sizes.
91116         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91117         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91118         New functions.
91119
91120         Port to C99 semantics for 'inline' of external functions.
91121         Bug reported by Bruno Haible.
91122         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91123         with the old contents of xnmalloc.
91124         (xnmalloc, xmalloc): Use it.
91125         (xnrealloc_inline): New static inline function,
91126         with the old contents of xnrealloc.
91127         (xnrealloc, xrealloc): Use it.
91128
91129         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91130         that.
91131
91132 2003-10-26  Karl Berry  <karl@gnu.org>
91133
91134         * config/srclist.txt (COPYING.DOC): no longer available from
91135         /gd/gnuorg; don't know where the ultimate source is.
91136
91137 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91138
91139         Fix several address-calculation bugs in the hash modules,
91140         plus some minor code cleanup.
91141
91142         * lib/hash.h: Include <stdbool.h>, for bool.
91143         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91144         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91145         hash_get_n_entries, hash_get_max_bucket_length,
91146         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91147         hash_rehash): Use size_t rather than unsigned.
91148         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91149         hash_get_n_buckets_used, hash_get_n_entries,
91150         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91151         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91152         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91153         Likewise.
91154         (SIZE_MAX): Define if not defined.
91155         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91156         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91157         hash_print):
91158         Use const * when possible.
91159         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91160         (check_tuning): Fix bug: if tuning parameters were very close to
91161         0 or 1, rounding errors could have caused subscript violations.
91162         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91163         (hash_initialize): Add 'fail:' label
91164         to free table and return NULL, and use it to simplify code.
91165         Use calloc rather than clearing the storage ourself.
91166         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91167         buffer size calculations.
91168         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91169         Include <stddef.h>, for size_t.
91170         * lib/hash-pjw.c (hash_pjw): Likewise.
91171         Switch to method described by Bruno Haible.
91172         Include <limits.h>, for CHAR_BIT.
91173         (SIZE_BITS): New macro.
91174
91175 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91176
91177         * m4/getline.m4 (AM_FUNC_GETLINE):
91178         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91179         hosts.  Problem reported by Derek Robert Price in
91180         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91181         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91182         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91183
91184 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91185
91186         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91187         ceiling the allocation at NMAX bytes rather than silently
91188         discarding input bytes before NMAX is reached.  This makes
91189         a difference only if NMAX exceeds SIZE_MAX / 2.
91190
91191         * lib/obstack.c: Merge from glibc.
91192         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91193         Add libc_hidden_def (_obstack_newchunk).
91194         (_obstack_free) [! defined _LIBC]: Remove.
91195         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91196         a clone of the function body.
91197         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91198         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91199
91200         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91201         glibc.
91202         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91203         arg to memcpy.
91204
91205         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91206         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91207         Don't use lvalue casts, as GCC plans to remove support for them
91208         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91209         was also present in the non-GCC version, indicating that this
91210         code had always been buggy and had never been widely used.
91211         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91212         Use the fast variant of each macro, rather than copying the
91213         definiens of the fast variant; that way, we'll be more likely to
91214         catch future bugs in the fast variants.
91215
91216 2003-10-20  Bruno Haible  <bruno@clisp.org>
91217
91218         * modules/wait-process: New file.
91219         * MODULES.html.sh (func_all_modules): Add wait-process.
91220
91221 2003-10-20  Bruno Haible  <bruno@clisp.org>
91222
91223         * m4/wait-process.m4: New file.
91224
91225 2003-10-20  Bruno Haible  <bruno@clisp.org>
91226
91227         * lib/wait-process.h: New file, from GNU gettext.
91228         * lib/wait-process.c: New file, from GNU gettext.
91229
91230 2003-10-19  Jim Meyering  <jim@meyering.net>
91231
91232         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91233         HPUX 10.20.
91234
91235 2003-10-18  Karl Berry  <karl@gnu.org>
91236
91237         * config/config.guess: update from config.
91238
91239 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91240
91241         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91242         (getgroups): First arg is int, not size_t.
91243         Don't let 'free' mangle errno.
91244
91245 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91246
91247         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91248
91249 2003-10-16  Karl Berry  <karl@gnu.org>
91250
91251         * config/config.{guess,sub}: update from config.
91252
91253 2003-10-16  Jim Meyering  <jim@meyering.net>
91254
91255         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91256         memcpy.
91257
91258 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91259
91260         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91261         (SIZE_MAX): Remove.
91262         (new_exclude, add_exclude_file): Initial size no longer needs to
91263         be a power of 2.
91264         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91265         our own address arithmetic overflow checking.
91266
91267         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91268         (fnmatch): Do not alloca more than 2000 wide characters;
91269         instead, use malloc for large buffers.
91270         Check for address arithmetic overflow, and return -1
91271         with errno set to ENOMEM in that case.
91272         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91273         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91274         instead, return -1.  Check for address arithmetic overflow.
91275
91276 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91277
91278         Handle invalid suffixes and overflow independently, so that
91279         callers can treat them independently as needed.  Fix some bugs in
91280         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91281         suffix for a human-readable blocksize.  The major caller-visible
91282         change is the addition of a new
91283         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91284         that both overflow and suffix chars were found.
91285
91286         * lib/human.c (humblock): Don't check separately for invalid suffix
91287         char; that is xstrtoumax's job (now that its bug is fixed).
91288         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91289         INTMAX_MAX]: New macros.
91290         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91291         TYPE_MAXIMUM): New macros.
91292         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91293         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91294         if overflow occurs, as it's what __strtol does and it's more useful
91295         in practice.
91296         (__xstrtol): If __strtol reports some error other than ERANGE,
91297         reflect it to the caller as LONGINT_INVALID.  If it reports
91298         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91299         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91300         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91301         value.
91302         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91303         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91304         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91305         [defined UINTMAX_MAX]: New macros.
91306
91307 2003-10-14  Bruno Haible  <bruno@clisp.org>
91308
91309         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91310
91311 2003-10-14  Bruno Haible  <bruno@clisp.org>
91312
91313         * m4/sig_atomic_t: New file, from GNU gettext.
91314         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91315
91316 2003-10-14  Bruno Haible  <bruno@clisp.org>
91317
91318         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91319         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91320         Also use volatile where needed.
91321
91322 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91323
91324         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91325         Change maintainer from Bruno Haible to 'all'.
91326
91327 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91328
91329         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91330
91331 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91332
91333         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91334         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91335         and define in terms of the other primitives.
91336         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91337         (SIZE_MAX): Define if not already defined.
91338         (array_size_overflow): New function.
91339         (xalloc_die): Abort instead of exiting if 'error' returns.
91340         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91341         (xmalloc, xrealloc): Use them.
91342         (xcalloc): Check for address arithmetic overflow.
91343         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91344         a bit faster than strcpy.
91345
91346 2003-10-10  Simon Josefsson  <jas@extundo.com>
91347
91348         * modules/argp (Depends-on): Add restrict and strcase.
91349
91350 2003-10-10  Simon Josefsson  <jas@extundo.com>
91351
91352         * m4/argp.m4: Add AC_C_INLINE.
91353
91354 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91355
91356         Merge getpass from libc, plus a few fixes.
91357
91358         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91359         Include <stdbool.h>.
91360         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91361         __fsetlocking to empty.
91362         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91363         do include <bits/libc-lock.h>.
91364         Do not include <fcntl.h>; not needed.
91365         [_LIBC]: Include <wchar.h>.
91366         (NOTCANCEL_MODE): New macro.
91367         (flockfile, funlockfile) [_LIBC]: New macros.
91368         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91369         [!_LIBC]: New macros.
91370         (call_fclose): New function.
91371         (getpass): Use it.  Save tty stream separately; this simplifies the
91372         code and makes it more reliable if stdin happens to equal stdout.
91373         Invoke __fsetlocking on tty.
91374         Handle thread cancellation if needed.
91375         Namespace cleanup (use __tcgetattr, __getline).
91376         Use bool for Booleans.
91377         [USE_IN_LIBIO]: Handle wide streams.
91378         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91379         stream might go where.
91380
91381         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91382         doesn't have to include <stdio.h> before us.
91383         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91384         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91385         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91386         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91387         if not declared, so that we can use getpass.c code from libc without
91388         rewriting it.
91389         (flockfile, ftrylockfile, funlockfile): New macros.
91390
91391 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91392
91393         * modules/getpass: Depend on stdbool.
91394
91395 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91396
91397         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91398
91399 2003-10-07  Karl Berry  <karl@gnu.org>
91400
91401         * config/config.{guess,sub}: update from config.
91402
91403 2003-10-06  Jim Meyering  <jim@meyering.net>
91404             Bruno Haible  <bruno@clisp.org>
91405
91406         This lets translators provide better translations for the
91407         "Written by ..." part of --version output.
91408         * lib/version-etc.h: Include stdarg.h.
91409         (version_etc_copyright): Declare as readonly.
91410         (version_etc): Make this function variadic with a NULL-terminated list
91411         of author name strings.
91412         (version_etc_va): New declaration.
91413         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91414         (version_etc_copyright): Declare as readonly.
91415         (version_etc_va): New function. Provide a different translatable string
91416         for each possible number of authors < 10. Abbreviate when there are 10
91417         authors or more.
91418         (version_etc): Make this function variadic. Call version_etc_va.
91419         Suggestion from Gary V. Vaughan.
91420
91421         * lib/long-options.h (parse_long_options): Change prototype: the
91422         authors string is moved to the end and becomes variadic.
91423         * lib/long-options.c: Include stdarg.h.
91424         (parse_long_options): Make this function variadic, too.
91425         Call version_etc_va, not version_etc.
91426
91427 2003-10-06  Bruno Haible  <bruno@clisp.org>
91428
91429         * modules/version-etc-2: Remove file.
91430         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91431
91432 2003-10-06  Bruno Haible  <bruno@clisp.org>
91433
91434         * modules/fatal-signal: New file.
91435         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91436
91437 2003-10-06  Bruno Haible  <bruno@clisp.org>
91438
91439         * m4/fatal-signal.m4: New file.
91440         * m4/signalblocking.m4: New file, from GNU gettext.
91441
91442 2003-10-06  Bruno Haible  <bruno@clisp.org>
91443
91444         * lib/version-etc-2.h: Remove file.
91445         * lib/version-etc-2.c: Remove file.
91446
91447 2003-10-06  Bruno Haible  <bruno@clisp.org>
91448
91449         * lib/fatal-signal.h: New file, from GNU gettext.
91450         * lib/fatal-signal.c: New file, from GNU gettext.
91451
91452 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91453
91454         * README: Rework advice for preventing empty .o files.
91455         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91456         not <sys/types.h>.
91457
91458 2003-10-04  Karl Berry  <karl@gnu.org>
91459
91460         * lib/argp*: update from libc.
91461
91462 2003-10-04  Karl Berry  <karl@gnu.org>
91463
91464         * config/config.{guess,sub}: update from config.
91465
91466 2003-10-02  Bruno Haible  <bruno@clisp.org>
91467
91468         * modules/lchown (Include): Add lchown.h.
91469         * modules/time_r (Include): Use "..." syntax.
91470         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91471
91472 2003-10-01  Simon Josefsson  <jas@extundo.com>
91473
91474         * MODULES.html.sh (func_all_modules): Move gethostname from section
91475         'based on' to section 'lacking' POSIX:2001.
91476
91477 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91478
91479         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91480         to output mode on the same stream.
91481
91482 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91483
91484         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91485         Fix arg typo in previous patch.
91486
91487 2003-09-28  Jim Meyering  <jim@meyering.net>
91488
91489         * lib/error.c: Correct cpp indentation.
91490
91491 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91492
91493         * modules/free: New file.
91494
91495 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91496
91497         * m4/free.m4: New file.
91498
91499 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91500
91501         * lib/minmax.h (MIN, MAX)
91502         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91503         Omit the special code that used __typeof__, since we worry that
91504         it could be more trouble than it's worth.  See:
91505         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91506         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91507
91508         * lib/free.c: New file.
91509
91510 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91511
91512         Trivial fixes to Makefile.am parts of module listings.
91513         * modules/strstr: Append strstr.h to lib_SOURCES.
91514         * modules/strcase: Likewise, for strcase.h.
91515
91516 2003-09-27  Karl Berry  <karl@gnu.org>
91517
91518         * config/mkinstalldirs: update from automake.
91519
91520 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91521
91522         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91523         (error_tail): Do not loop, reallocating temporary buffer, since
91524         the output cannot contain more wide characters than the input
91525         contains bytes, the size must be big enough already.  This avoids
91526         one potential size overflow calculation.  Check for size overflow
91527         when calculating temporary buffer size.  Free temporary buffer
91528         when done, if it was allocated with malloc; this plugs a memory
91529         leak.  Remove casts from void * to pointers, that are no longer
91530         needed now that we're assuming C89 or better.
91531
91532         Merge error changes from glibc.
91533
91534         * lib/error.c, error.h: Update copyright notice header to match glibc.
91535         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91536         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91537         Disable cancellation while printing error.
91538         * lib/error.h: Prepend __ to parameter names.
91539
91540 2003-09-26  Jim Meyering  <jim@meyering.net>
91541
91542         * lib/error.c (error_tail): Move some declarations
91543         into inner scope where the local variables are used.
91544
91545 2003-09-26  Bruno Haible  <bruno@clisp.org>
91546
91547         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91548         stpncpy().
91549         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91550
91551 2003-09-26  Bruno Haible  <bruno@clisp.org>
91552
91553         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91554         (stpncpy): Define as alias for gnu_stpncpy.
91555         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91556
91557 2003-09-25  Simon Josefsson  <jas@extundo.com>
91558
91559         * lib/xgetdomainname.h: New file.
91560         * lib/xgetdomainname.c: New file.
91561
91562 2003-09-25  Simon Josefsson  <jas@extundo.com>
91563             Bruno Haible  <bruno@clisp.org>
91564
91565         * modules/getdomainname: New file.
91566         * modules/xgetdomainname: New file.
91567         * MODULES.html.sh (func_all_modules): Add getdomainname,
91568         xgetdomainname.
91569
91570 2003-09-25  Simon Josefsson  <jas@extundo.com>
91571             Bruno Haible  <bruno@clisp.org>
91572
91573         * m4/getdomainname.m4: New file.
91574
91575 2003-09-25  Simon Josefsson  <jas@extundo.com>
91576             Bruno Haible  <bruno@clisp.org>
91577
91578         * lib/getdomainname.h: New file.
91579         * lib/getdomainname.c: New file.
91580
91581 2003-09-25  Karl Berry  <karl@gnu.org>
91582
91583         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91584
91585 2003-09-25  Karl Berry  <karl@gnu.org>
91586
91587         * config/install-sh: update from automake.
91588
91589 2003-09-25  Bruno Haible  <bruno@clisp.org>
91590
91591         * modules/version-etc-2: New file, from modules/version-etc with
91592         modifications.
91593         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91594
91595 2003-09-25  Bruno Haible  <bruno@clisp.org>
91596
91597         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91598         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91599
91600 2003-09-24  Simon Josefsson  <jas@extundo.com>
91601
91602         * modules/xgethostname: Add xgethostname.h.
91603
91604 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91605
91606         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91607         the buffer associated with the argument.  Bug reported by
91608         Simon Josefsson.
91609
91610 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91611
91612         * README: Document assumptions that 'int' is at least 32 bits
91613         wide, that integer arithmetic is 2's complement without overflow,
91614         that there are no holes in integer values, that adding sizes of
91615         two nonoverlapping objects can't overflow, and that all-bits-zero
91616         yields scalar zero.  Fix spelling and capitalization typos.
91617
91618 2003-09-19  Karl Berry  <karl@gnu.org>
91619
91620         * lib/argp.h: update from libc.
91621
91622 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91623
91624         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91625         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91626         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91627
91628 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91629
91630         * gnulib-tool: Use "test -h", not "test -L", for portability
91631         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91632         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91633         (sed_extract_prog): Issue s commands one-by-one, rather than
91634         using \| in one s command.
91635
91636 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91637
91638         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91639         input error, instead of returning NULL the next time we are called
91640         (and therefore losing track of errno).
91641
91642 2003-09-16  Bruno Haible  <bruno@clisp.org>
91643
91644         * gnulib-tool (func_create_testdir): Warn about duplicated
91645         dependencies.
91646
91647 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91648
91649         * modules/argmatch, modules/fatal, modules/obstack,
91650         modules/xalloc, modules/xgethostname: Sort dependencies by
91651         importance, not alphabetically.
91652
91653 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91654
91655         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91656         fails, so that the caller gets the proper errno.
91657
91658         * lib/readutmp.c (read_utmp): Likewise.
91659         Check for fstat error.  Close stream and free storage
91660         when failing.
91661
91662 2003-09-14  Karl Berry  <karl@gnu.org>
91663
91664         * config/srclist.txt (strdup.c): disable for c89 changes.
91665
91666 2003-09-14  Jim Meyering  <jim@meyering.net>
91667
91668         * lib/getloadavg.c: Correct cpp indentation.
91669         * lib/strdup.c: Likewise.
91670         * lib/vasnprintf.c: Likewise.
91671
91672 2003-09-14  Bruno Haible  <bruno@clisp.org>
91673
91674         * modules/fwriteerror: New file.
91675         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91676
91677 2003-09-14  Bruno Haible  <bruno@clisp.org>
91678
91679         * lib/fwriteerror.h: New file.
91680         * lib/fwriteerror.c: New file.
91681
91682 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91683
91684         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91685         modules/xgethostname, modules/xalloc: Depend on exit.
91686
91687 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91688
91689         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91690
91691         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91692         and AC_MINIX, too, so that their extensions are available.
91693
91694         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91695         This macro has been superseded by gl_BACKUPFILE.
91696
91697         More patches to assume C89 or better.
91698
91699         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91700
91701         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91702         unconditionally.
91703         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91704         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91705         Include <string.h>, <stdlib.h> unconditionally.
91706         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91707         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91708         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91709         headers or for string.h.
91710         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91711         or strtoul.
91712
91713         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91714         headers.
91715         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91716         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91717         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91718         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91719         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91720         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91721         memcpy, memset.
91722         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91723         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91724         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91725         strtol.
91726         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91727         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91728         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91729         strtoul.
91730
91731 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91732
91733         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91734         * lib/obstack.c [!defined _LIBC]: Likewise.
91735         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91736         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91737         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91738
91739         More changes to assume C89 or better.
91740
91741         * lib/error.c (error_tail): Assume vprintf.
91742
91743         * lib/argmatch.c (getenv): Remove decl.
91744         * lib/progreloc.c (get_full_program_name): Define via prototype.
91745         * lib/setenv.c (clearenv): Likewise.
91746         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91747         needed.
91748         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91749         (malloc, memcpy): Remove decls.
91750         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91751         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91752         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91753         (memcpy): Remove macro.
91754         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91755         (__P): Remove.  All uses removed.
91756         (PTR): Remove.  All uses changed to void *.
91757         (CHAR_BIT, NULL): Remove.
91758         (spaces, zeros, memset_space, memset_zero)
91759         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91760         Remove.
91761         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91762         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91763         Define with prototype.
91764         Remove now-unnecessary prototype decl.
91765         (extra_args_spec): Assume ANSI C.  All uses changed.
91766         (extra_args_spec_iso): Remove.
91767         (my_strftime, emacs_strftimeu): Define via prototype.
91768         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91769         unconditionally.
91770         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91771         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91772         (strtoul, strtol): Remove decls.
91773         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91774         LONG_MAX): Remove.
91775         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91776         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91777         (LOCALE_PARAM_PROTO): New macro.
91778         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91779         (INTERNAL (strtol), strtol): Define with a prototype.
91780         (PARAMS): Remove.  All uses removed.
91781         * lib/tempname.c: Include <string.h> unconditionally.
91782         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91783         * lib/xgethostname.c (main): Define with a prototype.
91784         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91785         Include <stdlib.h> unconditionally.
91786         (calloc, malloc, realloc, free): Remove decls.
91787         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91788         Include <stdlib.h> unconditionally.  Sort include file names.
91789         (strtod): Remove.
91790         (xstrtod): Define with a prototype.
91791         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91792         (strtol, strtoul): Remove decls.
91793
91794 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91795
91796         More patches to assume C89 or better.
91797         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91798         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91799         string.h, memchr, STDC_HEADERS.
91800
91801 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91802
91803         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91804         Include <stdlib.h>, <string.h> unconditionally.
91805         Remove now-unnecessary cast to char *.
91806         * lib/strnlen.c: Include <string.h> unconditionally.
91807         * lib/yesno.c (yesno): Define with a prototype.
91808
91809 2003-09-11  Bruno Haible  <bruno@clisp.org>
91810
91811         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91812
91813 2003-09-10  Jim Meyering  <jim@meyering.net>
91814
91815         * lib/error.c: Correct indentation of cpp directives.
91816
91817 2003-09-10  Bruno Haible  <bruno@clisp.org>
91818
91819         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91820         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91821         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91822         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91823         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91824         <stdlib.h> and <string.h> checks.
91825         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91826         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91827
91828 2003-09-10  Bruno Haible  <bruno@clisp.org>
91829
91830         * lib/strcspn.c: Include <string.h> unconditionally.
91831         * lib/strpbrk.c: Include <string.h> unconditionally.
91832         * lib/strstr.c: Include <string.h> unconditionally.
91833         * lib/unicodeio.c: Include <string.h> unconditionally.
91834         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91835         * lib/unsetenv.c: Likewise.
91836         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91837         * lib/yesno.c: Include <stdlib.h> unconditionally.
91838         (rpmatch): Add prototype.
91839
91840 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91841
91842         More patches to assume C89 or better.
91843         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91844         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91845         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91846         or for string.h.
91847         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91848         stdlib.h.
91849         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91850         C headers.
91851         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91852         string.h.
91853         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91854         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91855         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91856         or for string.h.
91857         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91858         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91859         C headers.
91860         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91861         memcpy.
91862         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91863         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91864         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91865         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91866         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91867         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91868         string.h, free.
91869         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91870         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91871         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91872         C headers, or for string.h.
91873         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91874         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91875         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91876         headers, memory.h, stdlib.h, string.h, strings.h.
91877         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91878         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91879         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91880         strchr.
91881         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91882         headers, memory.h, string.h.
91883         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91884         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91885         free.
91886         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91887         headers.
91888         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91889         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91890         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91891         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91892         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91893
91894 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91895
91896         More K&R removal.
91897
91898         * lib/acosl.c (main): Use a prototype.
91899         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91900         tanl.c: Likewise.
91901
91902         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91903
91904         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91905         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91906         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91907         with a prototype.
91908         * lib/getopt.c (const): Remove macro.
91909         Include <string.h> unconditionally.
91910         (my_index): Remove; all uses changed to strchr.
91911         (strlen): Remove decl.
91912         (exchange): Remove forward decl; no longer needed.
91913         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91914         Define with prototype.
91915         * lib/getopt1.c (const): Remove macro.
91916         (getopt_long, getopt_long_only, main): Define with prototype.
91917
91918         * lib/getugroups.c: Include <string.h> unconditionally.
91919
91920         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91921         (getusershell, setusershell, endusershell, readname, main):
91922         Define with prototypes.
91923
91924         * lib/group-member.c: Include group-member.h first.
91925         Include <stdlib.h> unconditionally.
91926
91927         * lib/hard-locale.c: Include hard-locale.h first.
91928         Include <stdlib.h>, <string.h> unconditionally.
91929
91930         * lib/hash.c (free, malloc): Remove decls.
91931         Include <stdlib.h> unconditionally.
91932
91933         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91934         (getenv): Do not declare.
91935
91936         * lib/idcache.c: Include <string.h> unconditionally.
91937
91938         * lib/long-options.c: Include long-options.h first, to test interface.
91939         Include <stdlib.h> unconditionally.
91940
91941         * lib/makepath.c: Include makepath.h first, to test interface.
91942         Include <stdlib.h> and <string.h> unconditionally.
91943
91944         * lib/linebuffer.c: Include <stdlib.h>.
91945         (free): Remove decl.
91946
91947         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91948         stddef.h. rpl_malloc returns void *, not char *.
91949         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91950         prototype.
91951
91952         * lib/md5.h: Include <limits.h> unconditionally.
91953         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91954         (__P): Remove; all uses removed.
91955         * lib/md5.c: Include "md5.h" first.
91956         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91957         md5_buffer, md5_process_bytes, md5_process_block):
91958         Define with prototypes.
91959         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91960         * lib/sha.c: Include "sha.h" first.
91961         Include <stdlib.h>, <string.h> unconditionally.
91962
91963         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91964         * lib/memcmp.c (__ptr_t): Likewise.
91965         * lib/memrchr.c (__ptr_t): Likewise.
91966         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91967         Include <string.h> unconditionally.
91968         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91969         * lib/memchr.c: Include <stdlib.h> unconditionally.
91970         * lib/memchr.c (LONG_MAX): Remove.
91971         * lib/memrchr.c (LONG_MAX): Likewise.
91972         * lib/memchr.c (__memchr): Define via a prototype.
91973         * lib/memrchr.c (__memrchr): Likewise.
91974         * lib/memcmp.c (__P): Remove, and remove all uses.
91975         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91976         Remove forward decls; no longer needed.
91977         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91978         Use types required by C89 in prototype.
91979
91980         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91981         * lib/savedir.c: Likewise.
91982         * lib/mkdir.c (free): Remove decl.
91983         * lib/rmdir.c (rmdir): Define with a prototype.
91984         * lib/savedir.c: Include savedir.h first, to test interface.
91985
91986         * lib/mktime.c (STDC_HEADERS): Remove.
91987         Include <stdlib.h>, <string.h> unconditionally.
91988
91989         * lib/modechange.c: Include <stdlib.h> unconditionally.
91990         (malloc): Remove decl.
91991
91992         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91993         (free): Remove decl.
91994
91995         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91996         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91997         (This type really should be intptr_t, but that's a C99ism.)
91998         (_obstack_memcpy): Remove: all uses changed to memcpy.
91999         Include <string.h> unconditionally.
92000         (struct obstack): Assume __STDC__ for types of members
92001         chunkfun, freefun, extra_arg.
92002         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92003         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92004         obstack_begin, obstack_specify_allocation,
92005         obstack_specify_allocation_with_arg, obstack_chunkfun,
92006         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92007         Remove unprototyped decls and the macros that use them.
92008         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92009         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92010         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92011         (defined __STDC__ && __STDC__)]:
92012         Remove nonprototyped code.
92013         Include <stdlib.h> unconditionally.
92014         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92015         _obstack_allocated_p, _obstack_free, obstack_free,
92016         _obstack_memory_used, print_and_abort):
92017         Define using prototypes.
92018         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92019         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92020         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92021         obstack_next_free, obstack_object_size, obstack_room) [0]:
92022         Remove unused, unprototyped code.
92023
92024         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92025
92026         * lib/physmem.c (physmem_total, physmem_available, main): Define
92027         with prototypes.
92028
92029         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92030         (main): Define with a prototype.
92031
92032         * lib/posixver.c (getenv): Remove decl.
92033
92034         * lib/putenv.c (malloc): Returns void *, not char *.
92035         Include <string.h> unconditionally.
92036         (strchr, memcpy, NULL): Do not define.
92037
92038         * lib/readtokens.c: Include readtokens.h first, to test interface.
92039         Include <stdlib.h>, <string.h> unconditionally.
92040         (init_tokenbuffer): Define with a prototype.
92041
92042         * lib/regex.c (PARAMS): Remove.  All uses removed.
92043         All uses of _RE_ARGS removed, too.
92044         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92045         unconditionally.
92046         (bzero): Assume memset exists.
92047         (memcmp, memcpy, NULL): Remove.
92048         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92049         char, or assignments to local vars of type signed char.
92050         (init_syntax_once, PREFIX(extract_number_and_incr),
92051         PREFIX(print_partial_compiled_pattern),
92052         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92053         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92054         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92055         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92056         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92057         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92058         wcs_compile_range, byte_compile_range, truncate_wchar,
92059         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92060         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92061         count_mbs_length, wcs_re_match_2_internal,
92062         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92063         PREFIX(alt_match_null_string_p),
92064         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92065         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92066         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92067         now-unnecessary declaration, if any.
92068         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92069         regcomp, regexec):
92070         Remove now-unnecessary casts among pointer types.
92071         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92072
92073         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92074         (free): Remove decl.
92075
92076         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92077
92078         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92079         (free): Remove decl.
92080
92081         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92082         * lib/xgetcwd.c: Likewise.
92083
92084         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92085         (free): Remove decl.
92086
92087         * lib/strchrnul.c (strchrnul): Define with a prototype.
92088         Fix bug: c_in was not converted to char before searching.
92089
92090         The following changes are not K&R related:
92091
92092         * lib/group-member.h: Include <sys/types.h>, so that this file is
92093         self-contained.
92094         * lib/makepath.h: Likewise.
92095
92096         * lib/getusershell.c (readname, default_index, line_size, readname):
92097         Use size_t, not int, for sizes.
92098         (readname): If the size overflows, report an error instead of
92099         looping forever.
92100
92101 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92102
92103         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92104         libc.
92105
92106 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92107
92108         * README: New section: portability guidelines.
92109
92110 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92111
92112         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92113         C89 spec.
92114
92115 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92116
92117         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92118
92119 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92120
92121         Assume C89 or better; remove K&R cruft.
92122         A few of these changes were first proposed by Derek Robert Price
92123         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92124
92125         * lib/addext.c: Include <string.h> unconditionally.
92126         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92127         Don't declare getenv or malloc.
92128
92129         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92130         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92131         (NULL): Remove.
92132         (find_stack_direction, alloca): Use prototypes.
92133
92134         * lib/atexit.c (atexit): Define using a prototype.
92135
92136         * lib/basename.c, dirname.c, stripslash.c:
92137         Include <string.h> unconditionally.
92138
92139         * lib/bcopy.c: Include <stddef.h>.
92140         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92141
92142         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92143
92144         * lib/error.h (error, error_at_line, error_print_progname)
92145         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92146         * lib/error.c: Include error.h first, to check interface.
92147         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92148         (VA_START): Remove; all uses changeed to va_start.
92149         (exit, strerror): Remove decls.
92150         (error_print_progname): Prototype uncondionally.
92151         Don't include <errno.h>; no longer needed.
92152         (private_strerror): Remove.
92153         (error_tail): Always define.
92154         (error, error_at_line): Assume C89 or better; always use prototypes.
92155         * lib/fatal.c: Include "fatal.h" first, to test interface.
92156         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92157         (VA_START): Remove; all uses changed to va_start.
92158         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92159         this case.
92160         (exit): Remove decl.
92161         (fatal): Prototype unconditionally.  Assume va_start works.
92162         Abort at end, to pacify gcc.
92163
92164         * lib/euidaccess.c (main): Define with a prototype.
92165
92166         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92167
92168         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92169
92170         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92171         prototypes.
92172         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92173         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92174         (getenv): Remove decl.
92175         (fnmatch): Define using a prototype.
92176         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92177         (FCT): Define using a prototype.
92178
92179         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92180
92181         * lib/gethostname.c: Include <stddef.h>.
92182         (gethostname): Define with prototype.  Length is size_t, not int.
92183
92184 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92185
92186         Assume C89 or better; remove K&R cruft.
92187         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92188         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92189         string.h, getenv, malloc.
92190         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92191         headers.
92192         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92193         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92194         do not check for strerror.
92195         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92196         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92197         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92198         do not check for doprnt or vprintf.
92199         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92200         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92201
92202 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92203
92204         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92205         getversion.c should have been removed then, but was accidentally
92206         preserved.
92207
92208         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92209         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92210
92211 2003-09-08  Karl Berry  <karl@gnu.org>
92212
92213         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92214                 config, forget about prep.
92215
92216         * config/depcomp, missing: update from automake.
92217
92218 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92219
92220         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92221         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92222
92223 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92224
92225         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92226         copy_tm_result.  Bug reported by Simon Josefsson in
92227         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92228
92229 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92230
92231         * m4/time_r.m4: New file.
92232         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92233         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92234         is. Check for timegm declaration.
92235         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92236         Do not check for gmtime_r.
92237         Replace mktime if __mktime_internal does not exist and if mktime
92238         hasn't been replaced already.
92239
92240 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92241
92242         * lib/time_r.c, lib/time_r.h: New files.
92243
92244         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92245         __localtime_r.
92246         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92247         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92248
92249         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92250         __gmtime_r.
92251         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92252         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92253         Include <time_r.h>.
92254
92255         * lib/timegm.c: Switch to glibc implementation, with the following
92256         changes:
92257         [defined HAVE_CONFIG_H]: Include <config.h>.
92258         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92259         (__mktime_internal) [!defined _LIBC]: New decl.
92260         (__gmtime_r) [!defined _LIBC]: New macro and function.
92261         (timegm): Use a prototype, since gnulib assumes C89.
92262         Do not bother declaring tmp to be const, as it's not really usefu.
92263         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92264         (timegm): Declare only if HAVE_DECL_TIMEGM.
92265
92266 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92267
92268         * MODULES.html.sh (func_all_modules): Add time_r.
92269         * modules/time_r: New file.
92270         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92271         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92272
92273 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92274
92275         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92276         Bug reported by Lute Kamstra in
92277         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92278
92279         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92280         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92281         course with correspondingly smaller numbers for tomorrow and
92282         yesterday.  From Tadayoshi Funaba.  Originally installed into
92283         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92284         coreutils merge?).
92285
92286 2003-08-31  Simon Josefsson  <jas@extundo.com>
92287
92288         * modules/timegm: New file.
92289         * MODULES.html.sh (func_all_modules): Add timegm.
92290
92291 2003-08-31  Simon Josefsson  <jas@extundo.com>
92292
92293         * m4/timegm.m4: New file.
92294
92295 2003-08-31  Simon Josefsson  <jas@extundo.com>
92296
92297         * lib/timegm.h: New file.
92298         * lib/timegm.c: New file.  Based on
92299         wget-1.8.2/src/http.c:mktime_from_utc.
92300
92301 2003-08-31  Karl Berry  <karl@gnu.org>
92302
92303         * lib/argp.h: update from libc.
92304
92305 2003-08-28  Bruno Haible  <bruno@clisp.org>
92306
92307         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92308         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92309         followed by '#define fnmatch fnmatch_posix' gives an error.
92310
92311 2003-08-28  Bruno Haible  <bruno@clisp.org>
92312
92313         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92314         warning on QNX, which defines O_BINARY to 000000.
92315
92316 2003-08-27  Jim Meyering  <jim@meyering.net>
92317
92318         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92319         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92320         would fail after 32.  Reported by Danny Levinson.  Details here:
92321         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92322
92323 2003-08-24  Bruno Haible  <bruno@clisp.org>
92324
92325         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92326         MSVC7 <stdio.h> is included later.
92327
92328 2003-08-22  Simon Josefsson  <jas@extundo.com>
92329
92330         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92331
92332 2003-08-20  Karl Berry  <karl@gnu.org>
92333
92334         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92335
92336 2003-08-20  Bruno Haible  <bruno@clisp.org>
92337
92338         * modules/progname: New file.
92339         * MODULES.html.sh (func_all_modules): Add progname.
92340
92341 2003-08-20  Bruno Haible  <bruno@clisp.org>
92342
92343         * lib/progname.h: New file, from GNU gettext.
92344         * lib/progname.c: New file, from GNU gettext.
92345         * lib/progreloc.c: New file, from GNU gettext.
92346
92347 2003-08-19  Jim Meyering  <jim@meyering.net>
92348
92349         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92350         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92351
92352 2003-08-19  Bruno Haible  <bruno@clisp.org>
92353
92354         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92355         more.
92356
92357 2003-08-19  Bruno Haible  <bruno@clisp.org>
92358
92359         * lib/xstrdup.c: Assume <string.h> exists.
92360
92361 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92362
92363         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92364         in makefile rules.
92365
92366 2003-08-18  Jim Meyering  <jim@meyering.net>
92367
92368         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92369         * m4/lib-ld.m4: Likewise.
92370
92371 2003-08-18  Jim Meyering  <jim@meyering.net>
92372
92373         * lib/setenv.h: Indent nested cpp directive.
92374         * lib/vasnprintf.c: Remove trailing blanks.
92375
92376 2003-08-17  Simon Josefsson  <jas@extundo.com>
92377
92378         * modules/xstrndup: New file.
92379         * MODULES.html.sh (func_all_modules): Add xstrndup.
92380
92381 2003-08-17  Simon Josefsson  <jas@extundo.com>
92382
92383         * modules/argp: Fix autoconf macro name. Add more dependencies.
92384
92385 2003-08-17  Simon Josefsson  <jas@extundo.com>
92386
92387         * m4/xstrndup.m4: New file.
92388
92389 2003-08-17  Simon Josefsson  <jas@extundo.com>
92390
92391         * m4/argp.m4: New file.
92392
92393 2003-08-17  Simon Josefsson  <jas@extundo.com>
92394             Bruno Haible  <bruno@clisp.org>
92395
92396         * lib/xstrndup.h: New file.
92397         * lib/xstrndup.c: New file.
92398
92399 2003-08-17  Bruno Haible  <bruno@clisp.org>
92400
92401         * modules/strndup (Files, Include): Add lib/strndup.h.
92402
92403 2003-08-17  Bruno Haible  <bruno@clisp.org>
92404
92405         * modules/euidaccess (Files): Add lib/euidaccess.h.
92406
92407 2003-08-17  Bruno Haible  <bruno@clisp.org>
92408
92409         * lib/strndup.h: New file.
92410
92411 2003-08-17  Bruno Haible  <bruno@clisp.org>
92412
92413         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92414         like AC_GNU_SOURCE.
92415         * modules/extensions (configure.ac): Comment out the invocation of
92416         gl_USE_SYSTEM_EXTENSIONS.
92417
92418 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92419
92420         Merges from coreutils, etc.
92421         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92422         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92423         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92424         fixing a typo.
92425         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92426         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92427
92428 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92429
92430         Document merge from coreutils.
92431         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92432         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92433         * modules/utime: Add m4/utimes-null.m4.
92434
92435 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92436
92437         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92438         space, undoing this 2003-08-12 change:
92439         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92440
92441 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92442
92443         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92444         strtoul.c from libc, undoing this 2003-08-12 change:
92445         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92446
92447 2003-08-16  Jim Meyering  <jim@meyering.net>
92448
92449         Merges from coreutils.
92450         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92451         prefix.  Adjust cache variables similarly.  Create 500 rather than
92452         just 300 files, to exercise bug on Darwin6.5, too.
92453         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92454         $missing_dir.
92455         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92456         AM_SYS_POSIX_TERMIOS.
92457         Reported by mkc@mathdogs.com.
92458         Also change use of $am_cv_sys_posix_termios
92459         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92460         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92461         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92462         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92463         in /proc/mounts until it finds one with matching device number.  This
92464         is unnecessary when the FILE argument *is* a mount point.  No stat call
92465         is necessary in that case.  So, disable the statvfs-testing code on
92466         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92467         as RedHat bug# 84846.
92468         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92469         to 1MB, so as not to render systems with no stack size limit (e.g.,
92470         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92471         Include <unistd.h>.  On some systems,
92472         it is required for the definition of _SC_PAGESIZE.
92473
92474 2003-08-16  Jim Meyering  <jim@meyering.net>
92475
92476         Merge from coreutils.
92477         * lib/xstrtoimax.c: #else #if -> #elif.
92478         * lib/xstrtoumax.c: Likewise.
92479
92480 2003-08-16  Jim Meyering  <jim@meyering.net>
92481
92482         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92483         * m4/utimes.m4: Removed.
92484         * m4/utimes-null.m4: Renamed from utimes.m4.
92485
92486         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92487         to 1MB, so as not to render systems with no stack size limit (e.g.,
92488         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92489         Include <unistd.h>.  On some systems,
92490         it is required for the definition of _SC_PAGESIZE.
92491
92492 2003-08-16  Jim Meyering  <jim@meyering.net>
92493         and Paul Eggert  <eggert@cs.ucla.edu>
92494
92495         Merges from coreutils, etc.
92496
92497         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92498         using the latest version from cvs.  This avoids problems with #line
92499         directives using a vendor (Sun) compiler.
92500         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92501         Don't set GETGROUPS_LIB here; now it's
92502         done via getgroups.m4's wrapper function.
92503         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92504         rather than just in sh-util/configure.in, so that the
92505         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92506         same.
92507         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92508         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92509         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92510         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92511         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92512         Remove code that is now done by the newly-required macros.
92513         Append $(EXEEXT) to DF_PROG.
92514         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92515         Do not invoke or require the following here,
92516         since prereq.m4 or some gnulib .m4 now does this for us:
92517         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92518         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92519         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92520         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92521         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92522         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92523         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92524         AC_FUNC_OBSTACK.
92525         Do not replace the following functions, as this is now the job
92526         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92527         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92528         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92529         atexit getpass, strdup, getpagesize.
92530         Replace 'raise'.
92531         Do not check for the following functions, as this is now the job
92532         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92533         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92534         setregid.
92535         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92536         Check for sys/sysctl.h.
92537         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92538         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92539         of checking for ssize_t ourselves.
92540
92541         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92542         Require every macro that gnulib/modules/* suggests for us.
92543         (jm_PREREQ_ADDEXT): New macro.
92544         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92545         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92546
92547         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92548         (gl_PHYSMEM): Use it.
92549         Also check for `table' function.
92550         Check for new headers and functions.
92551         Add check for sys/sysmp.h.
92552         With suggestions from Kaveh Ghazi.
92553         Ignore headers that are present but cannot be compiled.  This
92554         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92555         C 5.4.
92556
92557 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92558
92559         Document merge from coreutils.
92560         * modules/userspec: Depend on posixver.
92561         * modules/strftime: Depend on tzset.
92562
92563 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92564
92565         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92566         rather than tab, after '#' in shell-script copyright notices.
92567         Suggested by Bruno Haible.
92568
92569 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92570
92571         * config/srclist-update: Use three spaces, rather than tab, after '#'
92572         in shell-script copyright notices.  Suggested by Bruno Haible.
92573         Remove unnecessary parenthesization in regular expression.
92574
92575 2003-08-15  Jim Meyering  <jim@meyering.net>
92576
92577         Merge from coreutils.
92578         * lib/xgethostname.c: Include <stdlib.h>.
92579         (xghostname): Don't exit for anything other than memory-related
92580         failure; just return NULL.
92581         * lib/userspec.c: Include "posixver.h".
92582         (parse_user_spec): Accept `.' as a separator only
92583         in pre-POSIX-200112 mode.
92584         * lib/strtoimax.c: Use #elif rather than #else #if.
92585         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92586         Remove function, now that we can rely on a working tzset function.
92587         [!_LIBC]: Ensure that the required autoconf test has been run.
92588         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92589         Use underlying_strftime for %r.
92590         * lib/sha.c: Merge in some clean-up and optimization changes from
92591         glibc.
92592         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92593         Ensure that it is a multiple of 64.
92594         Rearrange loop exit tests so as to avoid performing an
92595         additional fread after encountering an error or EOF.
92596         * lib/realloc.c: Update copyright date.
92597
92598 2003-08-15  Jim Meyering  <jim@meyering.net>
92599         and Paul Eggert  <eggert@twinsun.com>
92600
92601         Merge from coreutils.
92602         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92603         member but strut utmpx does not.  Needed for AIX 4.3.3.
92604         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92605
92606 2003-08-15  Jim Meyering  <jim@meyering.net>
92607         and Paul Eggert  <eggert@cs.ucla.edu>
92608
92609         Merges from coreutils, etc.
92610         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92611         Require gl_FUNC_TZSET_CLOBBER.
92612         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92613         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92614         members.
92615
92616 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92617
92618         Help the merge from coreutils.
92619         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92620         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92621         * m4/tzset.m4: Use it too.
92622
92623 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92624
92625         * modules/tzset: New file.
92626
92627 2003-08-14  Jim Meyering  <jim@meyering.net>
92628
92629         Merges from coreutils.
92630         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92631         variable names, rather than @FNMATCH_H@.
92632         * modules/alloca: Likewise for $(ALLOCA_H).
92633
92634         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92635         the three copies of the literal target, `fnmatch.h'.
92636         * modules/alloca (alloca.h): Likewise.
92637
92638 2003-08-14  Jim Meyering  <jim@meyering.net>
92639
92640         Merge from coreutils.
92641         * m4/tzset.m4: New file.
92642         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92643         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92644         otherwise, AIX 5.1 systems would end up using the latter.
92645         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92646         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92647         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92648         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92649
92650 2003-08-14  Jim Meyering  <jim@meyering.net>
92651
92652         Merge from coreutils.
92653         * lib/obstack.h: Whitespace changes.
92654         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92655         and xcalloc return values.
92656         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92657         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92658         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92659         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92660         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92661         error from mntctl.
92662         Use mntctl's return value to drive the entry-processing loop, since
92663         we can't rely on the value of the vmt_length member in the last
92664         entry.  On some systems doing so could result in exhausting
92665         virtual memory.  Based in part on a patch from Mike Jetzer.
92666
92667 2003-08-14  Jim Meyering  <jim@meyering.net>
92668         and Paul Eggert  <eggert@twinsun.com>
92669
92670         Merges from coreutils, plus other fixes.
92671         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92672         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92673         for credits and details.  Thanks to Kaveh Ghazi for helping
92674         to keep these files in sync.
92675         (ARRAY_SIZE): Define it.
92676         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92677         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92678         (memcasecmp): Don't assume size_t fits in unsigned int.
92679         Remove casts and duplicate code.
92680         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92681         (memcpy): Remove definition.
92682         Merge in some clean-up and optimization changes from glibc.
92683         [BLOCKSIZE]: Move definition to top of file.
92684         Ensure that it is a multiple of 64.
92685         Rearrange loop exit tests so as to avoid performing an
92686         additional fread after encountering an error or EOF.
92687         * lib/md5.h (md5_uintptr): Define.
92688         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92689         return to the initial working directory.  Preserve errno
92690         for caller.
92691         * lib/idcache.c: Include "xalloc.h".
92692         (xmalloc, xrealloc): Remove decls.
92693         (getuser): Remove casts no longer required in C89.
92694         * lib/human.c: Include stdio.h, for sprintf.
92695         * lib/group-member.c: Include "xalloc.h".
92696         (xmalloc, xrealloc): Remove decls.
92697         (get_group_info): Remove casts no longer required in C89.
92698         * lib/getusershell.c (readname): Remove casts no longer required in
92699         C89.
92700         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92701         * lib/getline.c: Whitespace fix, from coreutils.
92702
92703 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92704
92705         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92706         Check for isascii.
92707
92708         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92709         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92710         Undo previous (whitespace-only) change.
92711
92712 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92713
92714         * lib/exclude.c: Include <ctype.h>
92715         (IN_CTYPE_DOMAIN): New macro.
92716         (is_space): New fn.
92717         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92718         and empty lines.
92719
92720         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92721         Undo previous (whitespace-only) change.
92722
92723 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92724
92725         * config/srclist-update: Change update back to the old behavior,
92726         leaving whitespace alone.  Use one 'sed' command rather than a
92727         pipeline.
92728         (fixlicense): Now a variable, not a function.
92729         (remove_trailing_blanks): Remove.
92730         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92731         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92732         Undo previous (whitespace-only) change.
92733
92734 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92735
92736         Merge from coreutils.
92737         * modules/euidaccess: Add lib_SOURCES, include for new
92738         file euidaccess.h
92739
92740 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92741
92742         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92743         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92744         Normalize leading white space and remove trailing white space.
92745
92746         Merge from coreutils
92747         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92748
92749         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92750         0.12.1.  These files are now being upgraded automatically by
92751         ../config/srclist-update.
92752
92753 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92754
92755         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92756         Normalize leading white space and remove trailing white space.
92757         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92758         notice, as per ../config/srclist-update.
92759
92760         Merge from coreutils.
92761         * lib/euidaccess.h: New file.
92762         * lib/euidaccess.c: Include it.
92763         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92764         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92765         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92766
92767 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92768
92769         * config/srclist-update: Add copyright notice.
92770         (remove_id_lines, remove_trailing_blanks): New constants.
92771         (fixfile): Use them to normalize spacing a bit in copied files.
92772         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92773         Normalize leading white space and remove trailing white space.
92774
92775         * config/texinfo.tex: Sync with texinfo.
92776
92777         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92778         strtoul.c from libc, to merge coreutils whitespace changes.
92779
92780         * config/srclist.txt: Get the following m4 files from gettext:
92781         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92782         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92783         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92784         wint_t.m4.
92785
92786 2003-08-12  Karl Berry  <karl@gnu.org>
92787
92788         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92789         been made.
92790
92791 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92792
92793         * modules/gnu-source, m4/gnu-source.m4:
92794         Remove; we're assuming Autoconf 2.54 or later now.
92795         Suggested by Bruno Haible.
92796         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92797
92798 2003-08-11  Bruno Haible  <bruno@clisp.org>
92799
92800         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92801
92802 2003-08-11  Bruno Haible  <bruno@clisp.org>
92803
92804         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92805         (vasnprintf): Use it instead of wcslen.
92806
92807 2003-08-11  Bruno Haible  <bruno@clisp.org>
92808
92809         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92810         value to ensure that _Bool promotes to int. Use #define for _Bool when
92811         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92812
92813 2003-08-10  Karl Berry  <karl@gnu.org>
92814
92815         * lib/regex.h: update from libc (whitespace fix).
92816
92817 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92818
92819         Merge some files from coreutils.  These changes were
92820         originally made by Jim Meyering.
92821         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92822         many older Unixes require this.
92823         * lib/alloca.c (alloca): Remove cast to argument of free;
92824         no longer needed in C89.
92825         * lib/alloca_.h, regex.h: Fix white space to match
92826         what GNU indent does.
92827
92828 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92829
92830         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92831         apparently Emacs's Unicode mode got confused before my 2003-08-05
92832         checkin.
92833
92834 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92835
92836         * m4/extensions.m4: New file.
92837         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92838         Require gl_USE_SYSTEM_EXTENSIONS.
92839         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92840         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92841
92842 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92843
92844         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92845         * modules/extensions, modules/gnu-source: New files.
92846         * modules/timespec, modules/unlocked-io: Depend on extensions.
92847
92848 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92849
92850         * modules/restrict: New file.
92851         * MODULES.html.sh (func_all_modules): Add restrict.
92852         * modules/regex: Depend on restrict.
92853
92854 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92855
92856         * m4/restrict.m4: New file.
92857         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92858
92859 2003-08-07  Bruno Haible  <bruno@clisp.org>
92860
92861         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92862         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92863
92864 2003-08-07  Bruno Haible  <bruno@clisp.org>
92865
92866         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92867         makes the module 'getndelim2' compatible with the module 'getline'.
92868
92869 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92870
92871         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92872         byte with "\201" to avoid glitches when editing that source file
92873         with multi-gnome-terminal.
92874
92875 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92876
92877         * lib/bumpalloc.h: Remove.
92878
92879 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92880
92881         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92882         * modules/bumpalloc: Remove.
92883
92884 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92885
92886         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92887         GNU coding style.
92888
92889         Merge from coreutils.
92890         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92891         1. From glibc.
92892         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92893         from Karl Berry, implemented by Jim Meyering.
92894         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92895         from Dmitry V. Levin.
92896         Remove anachronistic cast of xrealloc.
92897         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92898         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92899         type. Otherwise, it wouldn't compile with at least /bin/cc on
92900         ymp-cray-unicos9.0.2.X.
92901         Combine two mostly-identical uses of alloca into one.
92902         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92903
92904 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92905
92906         [From Emacs.]
92907
92908         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92909         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92910         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92911         obsolete NLIST_NAME_UNION.
92912         [__GNU__]: Undef BSD and FSCALE.
92913         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92914
92915 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92916
92917         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92918         an enum type, so that it's guaranteed to promote to int.  See:
92919         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92920
92921 2003-08-03  Karl Berry  <karl@gnu.org>
92922
92923         * config/depcomp: update from automake.
92924
92925 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92926
92927         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92928         (strerror): Don't assume that a printable int fits in 14 bytes.
92929
92930 2003-07-31  Bruno Haible  <bruno@clisp.org>
92931
92932         * modules/getpass-gnu: New file.
92933         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92934
92935 2003-07-31  Bruno Haible  <bruno@clisp.org>
92936
92937         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92938
92939 2003-07-24  Karl Berry  <karl@gnu.org>
92940
92941         * config/missing: update from automake.
92942
92943 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92944             Bruno Haible  <bruno@clisp.org>
92945
92946         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92947         * lib/getline.c (getline, getdelim): Likewise.
92948         Remove _GNU_SOURCE define; now it's defined in config.h through
92949         m4/getline.m4.
92950
92951 2003-07-23  Karl Berry  <karl@gnu.org>
92952
92953         * config/config.sub: update from prep.
92954
92955 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92956
92957         * modules/xalloc (Depends-on): Add exitfail.
92958         * modules/xmemcoll: Likewise.
92959
92960 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92961
92962         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92963         over-parenthesization in macros.
92964
92965         Sync with coreutils.
92966
92967         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92968         required by C99.
92969
92970         Use `exit_failure' for xalloc and xmemcoll instead of their own
92971         private exit-failure variables.
92972         * lib/xalloc.h (xalloc_exit_failure): Remove.
92973         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92974         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92975         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92976         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92977         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92978
92979 2003-07-20  Jim Meyering  <jim@meyering.net>
92980
92981         * modules/closeout (Depends-on): Add exitfail.
92982         Suggestion from Bruno Haible.
92983
92984 2003-07-19  Karl Berry  <karl@gnu.org>
92985
92986         * config/config.sub: update from prep.
92987
92988 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92989
92990         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92991         Remove.
92992         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92993         to test that it can stand by itself.  Include "exitfail.h".
92994         Clients should set exit_failure instead.
92995         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92996
92997 2003-07-18  Bruno Haible  <bruno@clisp.org>
92998
92999         * modules/getndelim2: New file.
93000         * modules/getline: Share files with module getndelim2.
93001         * modules/getnline: Depend on getndelim2 instead of sharing files with
93002         it. Add getnline.c to lib_SOURCES.
93003         * MODULES.html.sh (func_all_modules): Add getndelim2.
93004
93005 2003-07-18  Bruno Haible  <bruno@clisp.org>
93006
93007         * m4/getndelim2.m4: New file.
93008         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93009         invoke gl_PREREQ_GETNDELIM2.
93010         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93011         gl_PREREQ_GETNDELIM2.
93012         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93013         gl_GETNDELIM2.
93014
93015 2003-07-18  Bruno Haible  <bruno@clisp.org>
93016
93017         * lib/getndelim2.h: New file.
93018         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93019         getndelim2.h.
93020         (getndelim2): Make non-static. Change return type to ssize_t.
93021         * lib/getline.h: Change argument names.
93022         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93023         * lib/getnline.c: Include getndelim2.h.
93024
93025 2003-07-18  Andreas Schwab  <schwab@suse.de>
93026
93027         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93028
93029 2003-07-17  Karl Berry  <karl@gnu.org>
93030
93031         * config/config.sub: update from prep.
93032
93033 2003-07-17  Bruno Haible  <bruno@clisp.org>
93034
93035         * modules/getnline: New file.
93036         * modules/getline: Add lib/getndelim2.c to source file list.
93037         * MODULES.html.sh (func_all_modules): Add getnline.
93038
93039 2003-07-17  Bruno Haible  <bruno@clisp.org>
93040
93041         * m4/getnline.m4: New file.
93042
93043 2003-07-17  Bruno Haible  <bruno@clisp.org>
93044
93045         * m4/Makefile.am.in: Remove file.
93046         * m4/Makefile.am: Remove file.
93047         * m4/Makefile.in: Remove file.
93048
93049 2003-07-17  Bruno Haible  <bruno@clisp.org>
93050
93051         * lib/getnline.h: New file.
93052         * lib/getnline.c: New file.
93053         * lib/getndelim2.c: New file, extracted from getline.c.
93054         (getndelim2): Renamed from getdelim2, with added nmax argument.
93055         * lib/getline.c: Include getndelim2.c.
93056         (getdelim2): Moved out to getndelim2.c.
93057         (getline, getdelim): Update.
93058
93059 2003-07-17  Bruno Haible  <bruno@clisp.org>
93060
93061         * lib/Makefile.am: Remove file.
93062         * lib/Makefile.in: Remove file.
93063
93064 2003-07-17  Bruno Haible  <bruno@clisp.org>
93065
93066         * configure.in: Remove file.
93067         * Makefile.in: Remove file.
93068
93069 2003-07-17  Bruno Haible  <bruno@clisp.org>
93070
93071         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93072
93073 2003-07-16  Karl Berry  <karl@gnu.org>
93074
93075         * config/srclist-update: was running fixlicense twice, which caused
93076                 texinfo.tex to be nullified for some reason.  Simplify,
93077                 $gplsrc is no longer needed as far as I can see?
93078
93079 2003-07-16  Jim Meyering  <jim@meyering.net>
93080
93081         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93082
93083 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93084
93085         * config/srclist.txt: Get the following files from gettext-runtime/intl
93086         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93087         ref-del.sin.  From Bruno Haible.
93088         * config/srclist-update (fixfile): Change grep pattern again, since the
93089         previous fix didn't work (there was another trailing $).  Use
93090         '[$]' to escape the $s.
93091
93092 2003-07-15  Karl Berry  <karl@gnu.org>
93093
93094         * lib/vasnprintf.c: update from gettext.
93095
93096 2003-07-15  Karl Berry  <karl@gnu.org>
93097
93098         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93099         gets expanded when surrounded by '$'.
93100
93101 2003-07-15  Jim Meyering  <jim@meyering.net>
93102
93103         * modules/save-cwd: Don't depend on error.  From Derek Price.
93104
93105 2003-07-15  Jim Meyering  <jim@meyering.net>
93106
93107         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93108
93109 2003-07-14  Simon Josefsson  <jas@extundo.com>
93110
93111         * modules/mempcpy: New file.
93112         * MODULES.html.sh (func_all_modules): Add mempcpy.
93113
93114 2003-07-14  Simon Josefsson  <jas@extundo.com>
93115
93116         * m4/mempcpy.m4: New file.
93117
93118 2003-07-14  Simon Josefsson  <jas@extundo.com>
93119
93120         * lib/mempcpy.h: New file.
93121         * lib/mempcpy.c: New file.
93122
93123 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93124
93125         * modules/getdate, modules/posixtm: Depend on mktime.
93126
93127 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93128
93129         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93130         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93131         unicodeio.c, unicodeio.h, unlocked-io.h:
93132         Switch from LGPL to GPL.
93133
93134 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93135
93136         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93137         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93138         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93139         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93140         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93141         updated automatically by ../config/srclist-update.  This changes
93142         their license from LPGL to GPL.
93143
93144 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93145
93146         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93147         assumed to refer to the root of the most recent stable gettext version.
93148         * config/srclistvars.sh: Add defaults for eggert.
93149         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93150         Match "This program" as well as "The program".  This is needed
93151         for gettext.
93152
93153 2003-07-14  Jim Meyering  <jim@meyering.net>
93154
93155         Don't emit diagnostics.  Let callers do that.
93156         * lib/save-cwd.c: Don't include "error.h".
93157         (save_cwd): Don't call error.  Ensure that errno is valid
93158         when returning nonzero.
93159
93160         * lib/save-cwd.h (restore_cwd): Update prototype.
93161         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93162         Simplify.  Don't call error upon failure.  Let callers do that.
93163         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93164         when auditing is enabled.  But don't bother updating the #if.
93165
93166 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93167
93168         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93169         it breaks C++ compilation.
93170         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93171
93172 2003-07-10  Simon Josefsson  <jas@extundo.com>
93173
93174         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93175
93176 2003-07-10  Jim Meyering  <jim@meyering.net>
93177
93178         * m4/clock_time.m4: Remove trailing blank.
93179         * m4/intmax_t.m4: Likewise.
93180
93181 2003-07-10  Jim Meyering  <jim@meyering.net>
93182
93183         * lib/vasnprintf.c: Remove trailing blanks.
93184         Make cpp indentation consistent.
93185
93186 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93187
93188         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93189         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93190         Switch from LGPL to GPL.
93191
93192 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93193
93194         * config/srclist.txt: Sort sublists.  Add
93195         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93196         that differ from gnulib for one reason or another; we'd like this list
93197         to be smaller but for now let's document what we have.
93198
93199 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93200
93201         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93202         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93203         and sweeter "eval x=$x".
93204         * config/srclist.txt: Get lib/argp* from glibc.
93205
93206 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93207
93208         * lib/mktime.c: Fix some boundary cases and remove need for floating
93209         point.
93210
93211         Issue a compile-time diagnostic if time_t is floating point, or if
93212         two's complement arithmetic is not in effect, or if arithmetic
93213         right shift does not propagate the sign.  These assumptions were
93214         all in the original code but they weren't checked.
93215
93216         (TIME_T_MIDPOINT, verify): New macros.
93217         (__isleap): Remove; it has integer overflow problems.
93218         (leapyear): New function, without those problems.
93219         (ydhms_tm_diff): Remove; splitting into two parts.
93220         (ydhms_diff): New function, containing the arithmetic part of
93221         the old ydhms_tm_diff function.  Issue a compile-time
93222         diagnostic if we are not using C99 integer division.
93223         Avoid casts when possible.
93224         (guess_time_tm): New function, containing the checking part of
93225         the old ydhms_tm_diff function.  Return the new value, rather than
93226         the difference between it and the old.  Accept a new argument T
93227         so that *T specifies the old value.  Check for overflow in the result.
93228
93229         (__mktime_internal): Use a time_t offset, not a long int offset.
93230         This undoes the 2003-06-04 change, which is no longer needed now
93231         that we have better overflow checking.
93232         (localtime_offset): Likewise.
93233
93234         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93235         and long are 64-bit but int is only 32-bit.
93236         (ydhms_diff): Use long int to store year1 and yday1.
93237         Issue a compile-time diagnostic if long int is not wide enough.
93238
93239         (__mktime_internal): Use long int to store adjusted year and yday.
93240         Use plain C rather than preprocessor commands, if that doesn't
93241         affect efficiency.
93242         Check for overflow (and try to repair) after each probe
93243         rather than checking only at the very end.  This avoids some bugs
93244         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93245         does not equal GMT offset at maximum time).
93246         Use integer to check for overflow rather than floating point; this
93247         is more portable to non-IEEE hosts, and is a tad faster.
93248         When we detect that we are oscillating between two values,
93249         don't check whether tm_isdst has the requested value, since
93250         we already know the answer.  When tm_isdst has the wrong value,
93251         use a different heuristic to find the right one, based on the
93252         extreme values actually observed in practice in tz2003a,
93253         rather than the (overly optimistic) "previous 3 calendar quarters".
93254
93255         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93256         "T const" to accommodate glibc style.
93257         (check_result): Use less-confusing report format.  "long" -> "long int.
93258         (main): Likewise.
93259         Don't loop if the iteration overflows time_t.
93260         Allow a negative step in the iteration.
93261
93262 2003-07-06  Karl Berry  <karl@gnu.org>
93263
93264         * config/depcomp: update from automake.
93265         * config/config.sub: update from prep.
93266
93267 2003-07-03  Karl Berry  <karl@gnu.org>
93268
93269         * config/config.guess: update from prep.
93270
93271 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93272
93273         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93274         xreadlink.c now includes it unconditionally.
93275
93276 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93277
93278         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93279         having it depend on HAVE_SYS_TYPES_H.
93280
93281 2003-07-01  Bruno Haible  <bruno@clisp.org>
93282
93283         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93284         <sys/types.h> should be sufficient.
93285         Reported by Paul Eggert.
93286
93287 2003-06-26  Karl Berry  <karl@gnu.org>
93288
93289         * config/depcomp: update from automake.
93290
93291 2003-06-26  Bruno Haible  <bruno@clisp.org>
93292
93293         * modules/human: Depend on module stdbool.
93294
93295 2003-06-25  Bruno Haible  <bruno@clisp.org>
93296
93297         * modules/readlink: New file.
93298         * modules/xreadlink: Depend on it.
93299         * MODULES.html.sh (func_all_modules): Add readlink.
93300
93301 2003-06-25  Bruno Haible  <bruno@clisp.org>
93302
93303         * m4/readlink.m4: New file.
93304
93305 2003-06-25  Bruno Haible  <bruno@clisp.org>
93306
93307         * lib/readlink.c: New file.
93308
93309 2003-06-22  Karl Berry  <karl@gnu.org>
93310
93311         * config/srclist.txt: update mkinstalldirs from automake.
93312         * config/mkinstalldirs: update.
93313
93314 2003-06-22  Bruno Haible  <bruno@clisp.org>
93315
93316         Portability to mingw32.
93317         * m4/ssize_t.m4: New file, from GNU gettext.
93318         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93319         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93320
93321 2003-06-22  Bruno Haible  <bruno@clisp.org>
93322
93323         * modules/safe-read: Add m4/ssize_t.m4.
93324         * modules/xreadlink: Add m4/ssize_t.m4.
93325
93326 2003-06-20  Bruno Haible  <bruno@clisp.org>
93327
93328         Assume C89, so PARAMS isn't needed.
93329         * lib/unicodeio.h (PARAMS): Remove.
93330         * lib/unicodeio.c: Don't use PARAMS.
93331
93332 2003-06-18  Karl Berry  <karl@gnu.org>
93333
93334         * config/config.{guess,sub}: update from prep.
93335
93336 2003-06-18  Jim Meyering  <jim@meyering.net>
93337
93338         Merge changes from coreutils.
93339         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93340         Remove explicit declarations of xmalloc and realloc.
93341         Include xalloc.h.
93342         (read_utmp): Remove anachronistic cast of xmalloc.
93343
93344 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93345
93346         Assume C89, so PARAMS isn't needed.
93347         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93348         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93349         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93350         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93351         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93352         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93353         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93354         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93355         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93356         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93357         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93358         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93359         no longer needed. Anyway, config.h should always be included before any
93360         other file.
93361
93362 2003-06-11  Simon Josefsson  <jas@extundo.com>
93363
93364         * modules/sysexits: New file.
93365         * MODULES.html.sh (func_all_modules): Add sysexits.
93366
93367 2003-06-11  Simon Josefsson  <jas@extundo.com>
93368
93369         * lib/sysexit_.h: New file.
93370
93371 2003-06-11  Derek Price  <derek@ximbiot.com>
93372
93373         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93374         necessary.
93375
93376 2003-06-11  Bruno Haible  <bruno@clisp.org>
93377
93378         * m4/sysexits.m4: New file.
93379
93380 2003-06-10  Simon Josefsson  <jas@extundo.com>
93381
93382         * lib/argp.h: New file, from glibc.
93383         * lib/argp-ba.c: New file, from glibc.
93384         * lib/argp-eexst.c: New file, from glibc.
93385         * lib/argp-fmtstream.c: New file, from glibc.
93386         * lib/argp-fmtstream.h: New file, from glibc.
93387         * lib/argp-fs-xinl.c: New file, from glibc.
93388         * lib/argp-help.c: New file, from glibc.
93389         * lib/argp-namefrob.h: New file, from glibc.
93390         * lib/argp-parse.c: New file, from glibc.
93391         * lib/argp-pv.c: New file, from glibc.
93392         * lib/argp-pvh.c: New file, from glibc.
93393         * lib/argp-xinl.c: New file, from glibc.
93394
93395 2003-06-10  Simon Josefsson  <jas@extundo.com>
93396
93397         * modules/strchrnul: New file.
93398
93399 2003-06-10  Simon Josefsson  <jas@extundo.com>
93400
93401         * modules/argp: New file.
93402
93403 2003-06-10  Simon Josefsson  <jas@extundo.com>
93404
93405         * m4/strchrnul.m4: New file.
93406
93407 2003-06-10  Simon Josefsson  <jas@extundo.com>
93408
93409         * lib/strchrnul.h: New file.
93410         * lib/strchrnul.c: New file.
93411
93412 2003-06-10  Bruno Haible  <bruno@clisp.org>
93413
93414         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93415
93416 2003-06-07  Karl Berry  <karl@gnu.org>
93417
93418         * config/config.{guess,sub}: update from prep.
93419
93420 2003-06-07  Jim Meyering  <jim@meyering.net>
93421
93422         * modules/strtod: Use $(...) notation, not @...@ for
93423         AC_REPLACE'd variables.
93424         * modules/localcharset: Likewise.
93425
93426 2003-06-07  Jim Meyering  <jim@meyering.net>
93427
93428         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93429         in place of my name in the copyright comment.
93430         Remove definition and uses of __P.
93431
93432         From coreutils.
93433         * lib/stat.c: Don't declare xmalloc explicitly.
93434         Instead, include "xalloc.h".
93435         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93436         xrealloc, and xcalloc return values.
93437         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93438         Improve comment.
93439         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93440
93441 2003-06-07  Bruno Haible  <bruno@clisp.org>
93442
93443         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93444         avoid AC_CONFIG_LINKS.
93445         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93446         fnmatch.h, to avoid AC_CONFIG_LINKS.
93447         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93448
93449 2003-06-07  Bruno Haible  <bruno@clisp.org>
93450
93451         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93452         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93453         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93454         directory.
93455         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93456         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93457         directory.
93458
93459 2003-06-06  Jim Meyering  <jim@meyering.net>
93460
93461         Merge from coreutils.
93462         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93463         Consolidate declarations and initializations of *_base* locals.
93464
93465         Merge from coreutils.
93466         This avoids a core dump on systems without GNU putenv,
93467         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93468         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93469         (unsetenv): New static function, from GNU libc.
93470         (rpl_putenv): Use it.
93471
93472         * lib/modechange.c: Remove trailing blanks.
93473
93474         Merge from coreutils.
93475         * lib/fsusage.c: Remove declaration of statfs.
93476         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93477
93478         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93479
93480 2003-06-06  Jim Meyering  <jim@meyering.net>
93481
93482         * lib/stdbool_.h: Renamed from stdbool.h.in.
93483
93484 2003-06-06  Jim Meyering  <jim@meyering.net>
93485             Bruno Haible  <bruno@clisp.org>
93486
93487         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93488         Adjust Makefile.am snippet not to redirect directly to target.
93489         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93490
93491 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93492
93493         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93494         mismatch, look in future quarters as well as past.  This fixes a
93495         bug when processing fall-backwards gaps immediately after a long
93496         period of daylight-saving time.
93497
93498         * lib/mktime.c: Assume freestanding C89 or better.
93499         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93500         (__P): Remove; not used.
93501         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93502         (mktime, not_equal_tm, print_tm, check_result,
93503         main): Use prototypes.  Use const * where appropriate.
93504         (main): Fix typo in testing code that uncovered by above changes.
93505         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93506
93507 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93508
93509         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93510         locale.h, localeconv.  This merges changes from coreutils.
93511
93512         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93513         It can be removed after the next Autoconf is released.
93514         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93515         needed.
93516
93517 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93518
93519         * lib/mktime.c: Fix Debian bug 177940
93520         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93521         (localtime_offset): Now long int, not time_t, because we want it
93522         to be guaranteed to be signed.  All uses changed.
93523         (__mktime_internal): If overflow would occur when adding offset,
93524         don't add it.
93525
93526         Merge 'human' changes from coreutils.  Rewrite to support
93527         locale-specific notations like thousands separators.
93528         * lib/human.c: Simplify authorship notice.
93529         Include human.h immediately after config.h.
93530         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93531         <limits.h>: Do not include, since human.h does.
93532         (SIZE_MAX, UINTMAX_MAX): New macros.
93533         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93534         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93535         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93536         (power_letter): Renamed from suffixes.
93537         (generate_suffix_backwards): Remove.
93538         (adjust_value): Now takes int style (because of human.h changes)
93539         and long double value (for greater precision on some platforms).
93540         (group_number): New function.
93541         (human_readable): Use it.  Use integer options, not enum.
93542         Put the options before the sizes in the arg list.
93543         Support all the new options.
93544         The old human_readable function has been removed;
93545         use inttostr.h instead.
93546         (human_readable, default_block_size, humblock):
93547         Use uintmax_t, not int, for block sizes.
93548         (human_readable_inexact, block_size_types): Remove.
93549         (block_size_opts): New constant.
93550         (human_options): Renamed from human_block_size, with new signature
93551         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93552         * lib/human.h: Add copyright and authorship notice.
93553         Include <limits.h> and <stdbool.h> unconditionally.
93554         (PARAMS): Remove.  All uses removed.
93555         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93556         (enum human_inexact_style): Remove tag; now a nameless enum.
93557         (human_floor, human_ceiling, human_round_to_even): Now have
93558         values 2, 0, 1 rather than -1, 1, 0.
93559         (human_group_digits, human_suppress_point_zero, human_autoscale,
93560         human_base_1024, human_SI, human_B): New constants.
93561         (human_readable_inexact, human_block_size): Remove.
93562         (human_readable): Size args are now uintmax_t, not int.
93563         (human_options): New decl.
93564
93565         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93566         unnecessary now that we assume C89 or better.  This change
93567         imported from coreutils.
93568
93569         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93570         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93571         in the 2003-05-30 sync from glibc.
93572
93573         .h files should stand alone, but we shouldn't include <sys/types.h>
93574         if we can get away with just <stddef.h>.
93575
93576         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93577         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93578         rather than <sys/types.h>, as we merely need size_t.
93579         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93580         to get size_t.
93581         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93582         Include <stdio.h>, to get FILE.
93583         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93584         memcasecmp.h has included <stddef.h> and all we need is size_t.
93585         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93586         our interface, instead of including <sys/types.h>
93587
93588 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93589
93590         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93591         now, as glibc mktime is buggy on non-glibc systems.
93592
93593 2003-06-03  Karl Berry  <karl@gnu.org>
93594
93595         * config/config.sub: update from prep.
93596
93597 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93598
93599         [from coreutils]
93600         Fix some minor time-related bugs with POSIX time arguments.
93601         Some valid time stamps were being rejected (notably -1, and
93602         time stamps before 1900 on 64-bit hosts).  And some invalid
93603         time stamps were being accepted, e.g. September 31.
93604
93605         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93606         that we can return (time_t) -1 successfully.
93607         * lib/posixtm.c: Likewise.
93608         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93609         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93610         (t): Remove static var.
93611         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93612         of static var.  All uses changed.
93613         (year): Do not reject years before 1900; they can occur with
93614         64-bit time_t.
93615         (posix_time_parse): Do not check for out-of-range components;
93616         that is now the caller's responsibility, since our checks were
93617         only approximations.
93618         (posixtime): Use mktime to check for out-of-range components,
93619         since it knows them exactly.
93620         If mktime returns (time_t) -1, check whether an error actually occurred
93621         by invoking localtime on -1.
93622         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93623         posixtime failures better.
93624         Improve the test data (in comments only).
93625
93626 2003-06-02  Karl Berry  <karl@gnu.org>
93627
93628         * config/mkinstalldirs (version): new variable.
93629         (--version): new option.
93630         (usage): improve message.
93631
93632 2003-05-30  Karl Berry  <karl@gnu.org>
93633
93634         * lib/mktime.c: update from libc.
93635
93636 2003-05-30  Bruno Haible  <bruno@clisp.org>
93637
93638         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93639         * config/config.rpath: Upgrade to gettext-0.12.1.
93640
93641 2003-05-30  Bruno Haible  <bruno@clisp.org>
93642
93643         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93644         * m4/nls.m4: New file, from gettext-0.12.1.
93645         * m4/po.m4: New file, from gettext-0.12.1.
93646         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93647
93648 2003-05-30  Bruno Haible  <bruno@clisp.org>
93649
93650         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93651         * lib/localcharset.h: Likewise.
93652         * lib/localcharset.c: Likewise.
93653
93654 2003-05-29  Karl Berry  <karl@gnu.org>
93655
93656         * config/config.rpath: update from gettext.
93657
93658 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93659
93660         Assume the headers required for C89 freestanding compilers.
93661         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93662         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93663         * m4/human.m4 (gl_HUMAN): Likewise.
93664         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93665         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93666         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93667         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93668         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93669         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93670
93671 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93672
93673         Assume the headers required for C89 freestanding compilers.
93674         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93675         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93676         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93677         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93678         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93679         define, since <limits.h> is guaranteed to do that.
93680         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93681         * lib/exclude.c: Include <stdbool.h> unconditionally.
93682         * lib/tempname.c: Include <stddef.h> unconditionally.
93683         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93684         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93685         <stddef.h> does that.
93686         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93687         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93688         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93689         needed.
93690         * lib/xstrtol.c: Likewise.
93691         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93692         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93693
93694         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93695         warnings on some platforms.
93696
93697         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93698         arbitrarily.
93699
93700 2003-05-26  Jim Meyering  <jim@meyering.net>
93701
93702         Merge in a change from coreutils:
93703         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93704         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93705         that condition, rather than `-1' which is slightly misleading.
93706         Change the name of the cache variable to have the gl_ prefix.
93707         Prompted by a patch from Richard Dawe for DJGPP.
93708
93709 2003-05-24  Karl Berry  <karl@gnu.org>
93710
93711         * config/config.guess: update from prep.
93712
93713 2003-05-22  Karl Berry  <karl@gnu.org>
93714
93715         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93716
93717 2003-05-20  Karl Berry  <karl@gnu.org>
93718
93719         * config/config.guess: update from prep.
93720
93721 2003-05-18  Karl Berry  <karl@gnu.org>
93722
93723         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93724         might actually be set by the user.
93725
93726         * config/depcomp, install-sh, mdate-sh: update from automake.
93727
93728 2003-05-17  Bruno Haible  <bruno@clisp.org>
93729
93730         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93731         invalid expansion for AC_EGREP_CPP.
93732         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93733         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93734         Suggested by Akim Demaille <akim@epita.fr> in
93735         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93736
93737 2003-05-12  Jim Meyering  <jim@meyering.net>
93738
93739         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93740         the space-padded-by-default conversion specifiers, %e, %k, %l.
93741
93742 2003-05-12  Bruno Haible  <bruno@clisp.org>
93743
93744         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93745         the string is longer than 4 KB.
93746
93747 2003-05-11  Karl Berry  <karl@gnu.org>
93748
93749         * config/config.{guess,sub}: update from prep.
93750
93751 2003-05-09  Bruno Haible  <bruno@clisp.org>
93752
93753         * modules/error: Add m4/strerror_r.m4 to file list.
93754
93755 2003-05-03  Bruno Haible  <bruno@clisp.org>
93756
93757         Upgrade to Unicode-4.0.
93758         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93759         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93760         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93761         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93762         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93763         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93764         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93765         Change width of U+E0100..U+E01EF from 1 to 0.
93766
93767 2003-04-25  Jim Meyering  <jim@meyering.net>
93768
93769         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93770         of type size_t, not int.
93771
93772 2003-04-25  Bruno Haible  <bruno@clisp.org>
93773
93774         * lib/copy-file.c: Include <stddef.h>, for size_t.
93775
93776 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93777
93778         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93779         code which expansion is under static control.  Patch imported from
93780         Akim Demaille's patch to Bison; see
93781         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93782
93783 2003-04-14  Bruno Haible  <bruno@clisp.org>
93784
93785         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93786
93787 2003-04-11  Jim Meyering  <jim@meyering.net>
93788
93789         Merge changes from Coreutils.
93790
93791         2003-03-22  Jim Meyering  <jim@meyering.net>
93792
93793         * lib/strftime.c (widen): Cast alloca return value to proper type.
93794
93795         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93796
93797         From GNU libc.
93798         * lib/strftime.c (my_strftime): Handle very large width
93799         specifications for numeric values correctly.  Improve checks for
93800         overflow.
93801
93802         2003-01-19  Jim Meyering  <jim@meyering.net>
93803
93804         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93805         definitions.
93806         (nl_get_alt_digit) [! defined my_strftime]: Define.
93807         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93808         _nl_get_alt_digit and _nl_get_walt_digit.
93809
93810         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93811         libc. These changes have no effect outside of _LIBC.
93812
93813 2003-04-10  Bruno Haible  <bruno@clisp.org>
93814
93815         * modules/findprog: New file.
93816         * MODULES.html.sh (func_all_modules): Add it.
93817
93818 2003-04-10  Bruno Haible  <bruno@clisp.org>
93819
93820         * m4/findprog.m4: New file.
93821         * m4/eaccess.m4: New file.
93822
93823 2003-04-10  Bruno Haible  <bruno@clisp.org>
93824
93825         * lib/findprog.h: New file, from GNU gettext.
93826         * lib/findprog.c: New file, from GNU gettext.
93827
93828 2003-04-05  Jim Meyering  <jim@meyering.net>
93829
93830         Merge changes from Coreutils.
93831
93832         * lib/exclude.h (PARAMS): Remove definition and uses.
93833         * lib/exclude.c: Remove uses of `PARAMS'.
93834
93835         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93836         Add test-cases for DOS filenames. Declare program_name.
93837         (main): Set up program_name.  Patch by Rich Dawe.
93838
93839         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93840         error from mntctl.
93841         Use mntctl's return value to drive the entry-processing loop, since
93842         we can't rely on the value of the vmt_length member in the last
93843         entry.  On some systems doing so could result in exhausting
93844         virtual memory.  Based in part on a patch from Mike Jetzer.
93845
93846 2003-04-04  Bruno Haible  <bruno@clisp.org>
93847
93848         * modules/linebreak: New file.
93849         * MODULES.html.sh (func_all_modules): Add it.
93850
93851 2003-04-04  Bruno Haible  <bruno@clisp.org>
93852
93853         * m4/linebreak.m4: New file.
93854
93855 2003-04-04  Bruno Haible  <bruno@clisp.org>
93856
93857         * lib/linebreak.h: New file, from GNU gettext.
93858         * lib/linebreak.c: New file, from GNU gettext with slight
93859         modifications.
93860         * lib/lbrkprop.h: New file, from GNU gettext.
93861
93862 2003-04-03  Bruno Haible  <bruno@clisp.org>
93863
93864         * modules/utf8-ucs4: New file.
93865         * modules/utf16-ucs4: New file.
93866         * modules/ucs4-utf8: New file.
93867         * modules/ucs4-utf16: New file.
93868         * MODULES.html.sh (func_all_modules): Add them.
93869
93870 2003-04-03  Bruno Haible  <bruno@clisp.org>
93871
93872         * m4/utf-ucs4.m4: New file.
93873         * m4/ucs4-utf.m4: New file.
93874
93875 2003-04-03  Bruno Haible  <bruno@clisp.org>
93876
93877         * lib/utf8-ucs4.h: New file, from GNU gettext.
93878         * lib/utf16-ucs4.h: New file, from GNU gettext.
93879         * lib/ucs4-utf8.h: New file, from GNU gettext.
93880         * lib/ucs4-utf16.h: New file, from GNU gettext.
93881
93882 2003-04-02  Bruno Haible  <bruno@clisp.org>
93883
93884         * modules/binary-io: New file.
93885         * MODULES.html.sh (func_all_modules): Add it.
93886
93887 2003-04-02  Bruno Haible  <bruno@clisp.org>
93888
93889         * lib/binary-io.h: New file, from GNU gettext.
93890
93891 2003-04-01  Bruno Haible  <bruno@clisp.org>
93892
93893         * modules/pathname: New file.
93894         * MODULES.html.sh (func_all_modules): Add it.
93895
93896 2003-04-01  Bruno Haible  <bruno@clisp.org>
93897
93898         * lib/pathname.h: New file, from GNU gettext.
93899         * lib/concatpath.c: New file, from GNU gettext.
93900
93901 2003-03-30  Bruno Haible  <bruno@clisp.org>
93902
93903         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93904
93905 2003-03-30  Bruno Haible  <bruno@clisp.org>
93906
93907         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93908         function chown() doesn't exist.
93909
93910 2003-03-28  Bruno Haible  <bruno@clisp.org>
93911
93912         * modules/copy-file: New file.
93913         * MODULES.html.sh (func_all_modules): Add it.
93914
93915 2003-03-28  Bruno Haible  <bruno@clisp.org>
93916
93917         * m4/copy-file.m4: New file.
93918
93919 2003-03-28  Bruno Haible  <bruno@clisp.org>
93920
93921         * lib/copy-file.h: New file, from GNU gettext.
93922         * lib/copy-file.c: New file, from GNU gettext.
93923
93924 2003-03-18  Jim Meyering  <jim@meyering.net>
93925
93926         * lib/quote.c (quote_n): Fix typo in comment.
93927
93928 2003-03-18  Bruno Haible  <bruno@clisp.org>
93929
93930         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93931         checking.
93932         * m4/onceonly_2_57.m4: Likewise.
93933
93934 2003-03-17  Bruno Haible  <bruno@clisp.org>
93935
93936         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93937         (m4_quote): Remove macro.
93938         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93939
93940 2003-03-14  Jim Meyering  <jim@meyering.net>
93941
93942         Merge changes from Coreutils.
93943         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93944         to be const, in order to avoid warnings.
93945         (obstack_room): Likewise.
93946         (obstack_empty_p): Likewise.
93947
93948 2003-03-14  Bruno Haible  <bruno@clisp.org>
93949
93950         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93951         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93952
93953 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93954
93955         Merge changes from Bison.
93956         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93957         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93958         when compiling Bison 1.875's `bitset bset = obstack_alloc
93959         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93960         * lib/hash.c: Include <stdbool.h> unconditionally.
93961
93962 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93963
93964         * m4/onceonly.m4 (m4_quote): New macro.
93965         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93966         Quote AC_FOREACH variable-expansions properly.
93967
93968 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93969
93970         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93971
93972 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93973
93974         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93975         Reported by Bruce Becker; see:
93976         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93977
93978 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93979             Bruno Haible  <bruno@clisp.org>
93980
93981         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93982         Reported by John Hughes, see
93983         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93984
93985 2003-02-20  Bruno Haible  <bruno@clisp.org>
93986
93987         * MODULES.html.sh (func_all_modules): Add poll.
93988
93989 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93990
93991         * modules/poll: New file.
93992
93993 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93994
93995         * lib/poll_.h: New file.
93996         * lib/poll.c: New file.
93997
93998 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93999
94000         * m4/poll.m4: New file.
94001
94002 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94003
94004         * modules/mathl: New file.
94005
94006 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94007
94008         * lib/mathl.h: New file.
94009         * lib/acosl.c: New file.
94010         * lib/asinl.c: New file.
94011         * lib/atanl.c: New file.
94012         * lib/ceill.c: New file.
94013         * lib/cosl.c: New file.
94014         * lib/expl.c: New file.
94015         * lib/floorl.c: New file.
94016         * lib/frexpl.c: New file.
94017         * lib/ldexpl.c: New file.
94018         * lib/logl.c: New file.
94019         * lib/sincosl.c: New file.
94020         * lib/sinl.c: New file.
94021         * lib/sqrtl.c: New file.
94022         * lib/tanl.c: New file.
94023         * lib/trigl.c: New file.
94024         * lib/trigl.h: New file.
94025
94026 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94027
94028         * m4/mathl.m4: New file.
94029
94030 2003-02-18  Bruno Haible  <bruno@clisp.org>
94031
94032         * MODULES.html.sh (func_all_modules): Add mathl.
94033
94034 2003-02-17  Bruno Haible  <bruno@clisp.org>
94035
94036         * modules/mkdtemp: New module.
94037         * MODULES.html.sh (func_all_modules): Add it.
94038
94039 2003-02-17  Bruno Haible  <bruno@clisp.org>
94040
94041         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94042
94043 2003-02-17  Bruno Haible  <bruno@clisp.org>
94044
94045         * lib/mkdtemp.h: New file, from GNU gettext.
94046         * lib/mkdtemp.c: New file, from GNU gettext.
94047
94048 2003-02-02  Jim Meyering  <jim@meyering.net>
94049
94050         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94051         e.g. glibc-2.2.93.
94052
94053 2003-01-31  Bruno Haible  <bruno@clisp.org>
94054
94055         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94056         'rpl_rename'.
94057         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94058         'rpl_strnlen'.
94059         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94060         'rpl_strtod'.
94061         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94062         'rpl_utime'.
94063
94064 2003-01-31  Bruno Haible  <bruno@clisp.org>
94065
94066         * lib/rename.c: #undef rename before defining rpl_rename.
94067         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94068
94069 2003-01-30  Bruno Haible  <bruno@clisp.org>
94070
94071         * modules/vasnprintf, modules/vasprintf: New modules.
94072         * MODULES.html.sh (func_all_modules): Add them.
94073
94074 2003-01-30  Bruno Haible  <bruno@clisp.org>
94075
94076         * m4/signed.m4: New file, from GNU gettext.
94077         * m4/longdouble.m4: New file, from GNU gettext.
94078         * m4/wchar_t.m4: New file, from GNU gettext.
94079         * m4/wint_t.m4: New file, from GNU gettext.
94080         * m4/vasnprintf.m4: New file.
94081         * m4/vasprintf.m4: New file.
94082
94083 2003-01-30  Bruno Haible  <bruno@clisp.org>
94084
94085         * lib/printf-args.h: New file, from GNU gettext.
94086         * lib/printf-args.c: New file, from GNU gettext.
94087         * lib/printf-parse.h: New file, from GNU gettext.
94088         * lib/printf-parse.c: New file, from GNU gettext.
94089         * lib/vasnprintf.h: New file, from GNU gettext.
94090         * lib/vasnprintf.c: New file, from GNU gettext.
94091         * lib/asnprintf.c: New file, from GNU gettext.
94092         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94093         * lib/vasprintf.c: New file, from GNU gettext.
94094         * lib/asprintf.c: New file, from GNU gettext.
94095
94096 2003-01-29  Bruno Haible  <bruno@clisp.org>
94097
94098         * modules/stpncpy: New module.
94099         * MODULES.html.sh (func_all_modules): Add it.
94100
94101 2003-01-29  Bruno Haible  <bruno@clisp.org>
94102
94103         * m4/stpncpy.m4: New file.
94104
94105 2003-01-29  Bruno Haible  <bruno@clisp.org>
94106
94107         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94108         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94109
94110 2003-01-28  Bruno Haible  <bruno@clisp.org>
94111
94112         * modules/c-ctype: New module.
94113         * MODULES.html.sh (func_all_modules): Add it.
94114
94115 2003-01-28  Bruno Haible  <bruno@clisp.org>
94116
94117         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94118         Paul Eggert.
94119         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94120         Paul Eggert.
94121
94122 2003-01-27  Bruno Haible  <bruno@clisp.org>
94123
94124         * modules/xsetenv: New module.
94125         * MODULES.html.sh (func_all_modules): Add it.
94126
94127 2003-01-27  Bruno Haible  <bruno@clisp.org>
94128
94129         * lib/xsetenv.h: New file, from GNU gettext.
94130         * lib/xsetenv.c: New file, from GNU gettext.
94131
94132 2003-01-23  Jim Meyering  <jim@meyering.net>
94133
94134         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94135         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94136
94137 2003-01-23  Bruno Haible  <bruno@clisp.org>
94138
94139         * modules/minmax: New module.
94140         * MODULES.html.sh (func_all_modules): Add it.
94141
94142 2003-01-23  Bruno Haible  <bruno@clisp.org>
94143
94144         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94145         Eggert.
94146
94147 2003-01-22  Bruno Haible  <bruno@clisp.org>
94148
94149         * modules/exit: New module.
94150         * MODULES.html.sh (func_all_modules): Add it.
94151
94152 2003-01-22  Bruno Haible  <bruno@clisp.org>
94153
94154         * lib/exit.h: New file, from GNU gettext.
94155
94156 2003-01-19  Bruno Haible  <bruno@clisp.org>
94157
94158         * gnulib-tool: Recognize option --extract-maintainer.
94159         (func_get_maintainer): New function.
94160         * modules/*: Add Maintainer entry.
94161
94162 2003-01-16  Jim Meyering  <jim@meyering.net>
94163
94164         * m4/regex.m4: The `regex' struct is both input and output.
94165         Initialize it before each use.  Patch by Tim Waugh.
94166
94167 2003-01-16  Bruno Haible  <bruno@clisp.org>
94168
94169         * MODULES.html.sh: Add a table of contents. Add the module name as
94170         leftmost column. Add hyperlinks.
94171
94172 2003-01-15  Bruno Haible  <bruno@clisp.org>
94173
94174         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94175
94176 2003-01-15  Bruno Haible  <bruno@clisp.org>
94177
94178         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94179         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94180         suffix.
94181
94182 2003-01-15  Bruno Haible  <bruno@clisp.org>
94183
94184         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94185
94186 2003-01-15  Bruno Haible  <bruno@clisp.org>
94187
94188         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94189         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94190
94191 2003-01-14  Jim Meyering  <jim@meyering.net>
94192
94193         * lib/same.c (same_name): Tweak a comment.
94194
94195 2003-01-14  Bruno Haible  <bruno@clisp.org>
94196
94197         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94198         when a string comparison is sufficient.
94199
94200 2003-01-14  Bruno Haible  <bruno@clisp.org>
94201
94202         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94203         'unsigned int'.
94204
94205 2003-01-14  Bruno Haible  <bruno@clisp.org>
94206
94207         * lib/hash-pjw.c: Add comment about low quality of this function.
94208
94209 2003-01-13  Bruno Haible  <bruno@clisp.org>
94210
94211         * modules/stpcpy: Distribute lib/stpcpy.h.
94212         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94213
94214 2003-01-13  Bruno Haible  <bruno@clisp.org>
94215
94216         * modules/*: Add a description.
94217         * modules/strpbrk: Fix Makefile.am snippet.
94218         * modules/strtoimax: Fix dependencies.
94219         * modules/strtoumax: Likewise.
94220
94221 2003-01-13  Bruno Haible  <bruno@clisp.org>
94222
94223         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94224         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94225         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94226
94227 2003-01-13  Bruno Haible  <bruno@clisp.org>
94228
94229         * gnulib-tool (func_create_testdir): Store config/* files in the main
94230         directory.
94231         * config.rpath: Move to ...
94232         * config/config.rpath: ... here.
94233         * modules/gettext: Contains config/config.rpath, not config.rpath.
94234         * modules/iconv: Likewise.
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         * m4/getstr.m4: Remove.
94242         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94243
94244 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94245
94246         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94247         to avoid collisions with libcurses and libreadline.
94248
94249         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94250         * lib/getstr.h, getstr.c: Remove.
94251         * lib/getline.c: Include "getline.h", to check interface.
94252         Move body of old getstr.c here: this defines MIN_CHUNK and
94253         declares getdelim2, which is renamed from getstr.
94254         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94255
94256         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94257         All uses changed.
94258         * lib/linebuffer.h: Likewise.
94259         (readline): Remove backward-compatibility macro.
94260
94261 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94262
94263         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94264         to avoid collisions with libcurses and libreadline.
94265         * getstr: Remove.
94266         * MODULES.html.sh: Remove getstr.
94267         * modules/getline: Depend on unlocked-io, not getstr.
94268
94269 2003-01-12  Jim Meyering  <jim@meyering.net>
94270
94271         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94272
94273 2003-01-10  Bruno Haible  <bruno@clisp.org>
94274
94275         * modules/alloca: Change Makefile.am requirements. Simplify Include
94276         requirements. Add lib/alloca_.h to file list.
94277
94278 2003-01-10  Bruno Haible  <bruno@clisp.org>
94279
94280         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94281
94282 2003-01-10  Bruno Haible  <bruno@clisp.org>
94283
94284         * lib/alloca_.h: New file.
94285         * lib/getdate.y: Unconditionally include alloca.h.
94286         * lib/makepath.c: Likewise.
94287         * lib/setenv.c: Likewise.
94288         * lib/userspec.c: Likewise.
94289
94290 2003-01-09  Karl Berry  <karl@gnu.org>
94291
94292         * MODULES.html.sh: include `dirname $0` in PATH, to find
94293         gnulib-tool.
94294
94295 2003-01-09  Bruno Haible  <bruno@clisp.org>
94296
94297         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94298         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94299
94300 2003-01-09  Bruno Haible  <bruno@clisp.org>
94301
94302         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94303
94304 2003-01-09  Bruno Haible  <bruno@clisp.org>
94305
94306         * lib/stdbool.h.in: New file.
94307
94308 2003-01-09  Bruno Haible  <bruno@clisp.org>
94309
94310         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94311         * MODULES.html.sh: Likewise.
94312
94313 2003-01-08  Jim Meyering  <jim@meyering.net>
94314
94315         * lib/full-write.c: Undefine and define-away `const' after inclusion
94316         of errno.h, not before.  Suggestion from Bruno Haible.
94317
94318 2003-01-08  Bruno Haible  <bruno@clisp.org>
94319
94320         * modules/full-read: Depend on full-write.
94321
94322 2003-01-08  Bruno Haible  <bruno@clisp.org>
94323
94324         * lib/safe-read.c: Include specification header first, to ensure its
94325         selfcontainedness.
94326         * lib/full-write.c: Likewise.
94327
94328 2003-01-07  Jim Meyering  <jim@meyering.net>
94329
94330         * lib/full-write.c: Rework so that it may serve to define full_read,
94331         too.
94332         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94333
94334 2003-01-07  Bruno Haible  <bruno@clisp.org>
94335
94336         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94337         <inttypes.h>.
94338         * lib/xstrtol.h: Likewise.
94339         * lib/xstrtoimax.c: Likewise.
94340         * lib/xstrtoumax.c: Likewise.
94341         * lib/human.h: Likewise.
94342
94343         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94344         on systems that have <inttypes.h> but not <stdint.h>.
94345
94346 2003-01-07  Bruno Haible  <bruno@clisp.org>
94347
94348         * MODULES.html.sh: Add copyright notice.
94349         (missed_files): Omit CVS directory entries.
94350         (func_module): Make it work with sed-3.02.
94351         * MODULES.txt: Remove file.
94352
94353 2003-01-06  Jim Meyering  <jim@meyering.net>
94354
94355         * lib/version-etc.c: Update year in translatable copyright string.
94356
94357 2003-01-03  Karl Berry  <karl@gnu.org>
94358
94359         * config/config.{guess,sub}: update from prep.
94360
94361 2003-01-02  Karl Berry  <karl@gnu.org>
94362
94363         * doc/COPYING.DOC: belatedly updated to 1.2.
94364
94365 2003-01-01  Karl Berry  <karl@gnu.org>
94366
94367         * gnulib-tool (func_verify_module): report module name $module in
94368         error message, not $1.
94369         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94370         be created, only if it doesn't exist.
94371         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94372
94373 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94374
94375         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94376
94377 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94378
94379         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94380         memcmp if strcoll doesn't work.
94381
94382 2002-12-31  Bruno Haible  <bruno@clisp.org>
94383
94384         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94385         nonempty.
94386
94387 2002-12-31  Bruno Haible  <bruno@clisp.org>
94388
94389         * lib/memcoll.c (STRCOLL): New macro.
94390         (memcoll): Use it.
94391
94392 2002-12-31  Bruno Haible  <bruno@clisp.org>
94393
94394         * lib/localcharset.h: New file.
94395         * lib/localcharset.c: Include it.
94396         * lib/unicodeio.c: Likewise.
94397
94398 2002-12-31  Bruno Haible  <bruno@clisp.org>
94399
94400         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94401         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94402
94403 2002-12-31  Bruno Haible  <bruno@clisp.org>
94404
94405         * lib/getline.h: Include <stddef.h>, for size_t.
94406
94407         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94408         * lib/unicodeio.c: Don't include <stddef.h>.
94409
94410 2002-12-31  Bruno Haible  <bruno@clisp.org>
94411
94412         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94413         HAVE_TM_ZONE.
94414
94415 2002-12-24  Karl Berry  <karl@gnu.org>
94416
94417         * config/config.guess: update from prep.
94418
94419 2002-12-24  Bruno Haible  <bruno@clisp.org>
94420
94421         General infrasructure.
94422         * m4/README: Rewritten.
94423         * m4/onceonly.m4: New file.
94424         * m4/onceonly_2_57.m4: New file.
94425
94426         Module atexit.
94427         * m4/atexit.m4: New file.
94428
94429         Module strtod.
94430         * m4/strtod.m4: New file.
94431
94432         Module strtol.
94433         * m4/strtol.m4: New file.
94434
94435         Module strtoul.
94436         * m4/strtoul.m4: New file.
94437
94438         Module memchr.
94439         * m4/memchr.m4: New file.
94440
94441         Module memcmp.
94442         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94443         (jm_FUNC_MEMCMP): Invoke it.
94444
94445         Module memcpy.
94446         * m4/memcpy.m4: New file.
94447
94448         Module memmove.
94449         * m4/memmove.m4: New file.
94450
94451         Module memset.
94452         * m4/memset.m4: New file.
94453
94454         Module strcspn.
94455         * m4/strcspn.m4: New file.
94456
94457         Module strpbrk.
94458         * m4/strpbrk.m4: New file.
94459
94460         Module strstr.
94461         * m4/strstr.m4: New file.
94462
94463         Module strerror.
94464         * m4/strerror.m4: New file.
94465
94466         Module mktime.
94467         * m4/mktime.m4: Renamed from jm-mktime.m4.
94468         (gl_PREREQ_MKTIME): New macro.
94469         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94470
94471         Module malloc.
94472         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94473         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94474         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94475
94476         Module realloc.
94477         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94478         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94479         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94480
94481         Module strftime.
94482         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94483         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94484         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94485         gl_TM_GMTOFF.
94486         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94487
94488         Module xalloc.
94489         * m4/xalloc.m4: New file.
94490
94491         Module alloca.
94492         * m4/alloca.m4: New file.
94493
94494         Module putenv.
94495         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94496         (jm_FUNC_PUTENV): Invoke it.
94497
94498         Module setenv.
94499         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94500         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94501         when invoked twice.
94502         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94503         gt_FUNC_SETENV.
94504
94505         Module memrchr.
94506         * m4/memrchr.m4: New file.
94507
94508         Module stpcpy.
94509         * m4/stpcpy.m4: New file.
94510
94511         Module strcase.
94512         * m4/strcase.m4: New file.
94513
94514         Module strdup.
94515         * m4/strdup.m4: New file.
94516
94517         Module strnlen.
94518         * m4/strnlen.m4: New file.
94519
94520         Module strndup.
94521         * m4/strndup.m4: New file.
94522
94523         Module xstrtod.
94524         * m4/xstrtod.m4: New file.
94525
94526         Module xstrtol.
94527         * m4/xstrtol.m4: New file.
94528
94529         Module getdate.
94530         * m4/getdate.m4: New file.
94531
94532         Module unlocked-io.
94533         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94534         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94535         * m4/jm-glibc-io.m4n: Remove file.
94536
94537         Module long-options.
94538         * m4/long-options.m4: New file.
94539
94540         Module md5.
94541         * m4/md5.m4: New file.
94542
94543         Module sha.
94544         * m4/sha.m4: New file.
94545
94546         Module getstr.
94547         * m4/getstr.m4: New file.
94548
94549         Module getline.
94550         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94551         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94552         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94553         simply getline. Infoke gl_PREREQ_GETLINE.
94554
94555         Module obstack.
94556         * m4/obstack.m4: New file.
94557
94558         Module hash.
94559         * m4/hash.m4: New file.
94560
94561         Module readtokens.
94562         * m4/readtokens.m4: New file.
94563
94564         Module strverscmp.
94565         * m4/strverscmp.m4: New file.
94566
94567         Module stdbool.
94568         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94569         OSF/1.
94570
94571         Module strtoll.
94572         * m4/strtoll.m4: New file.
94573
94574         Module strtoull.
94575         * m4/strtoull.m4: New file.
94576
94577         Module strtoimax.
94578         * m4/strtoimax.m4: New file.
94579
94580         Module strtoumax.
94581         * m4/strtoumax.m4: New file.
94582
94583         Module xstrtoimax.
94584         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94585         jm_AC_PREREQ_XSTRTOIMAX.
94586         Moved the strtol prerequisites to strtol.m4.
94587         Moved the strtoll prerequisites to strtoll.m4.
94588         Moved the strtoimax prerequisites to strtoimax.m4.
94589
94590         Module xstrtoumax.
94591         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94592         jm_AC_PREREQ_XSTRTOUMAX.
94593         Moved the strtoul prerequisites to strtoul.m4.
94594         Moved the strtoull prerequisites to strtoull.m4.
94595         Moved the strtoumax prerequisites to strtoumax.m4.
94596
94597         Module chown.
94598         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94599         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94600
94601         Module dup2.
94602         * m4/dup2.m4: New file.
94603
94604         Module ftruncate.
94605         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94606         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94607
94608         Module getgroups.
94609         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94610         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94611
94612         Module gettimeofday.
94613         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94614         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94615         gl_PREREQ_GETTIMEOFDAY.
94616
94617         Module mkdir.
94618         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94619         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94620
94621         Module mkstemp.
94622         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94623         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94624         jm_AC_TYPE_UINTMAX_T.
94625         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94626
94627         Module stat.
94628         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94629         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94630
94631         Module lstat.
94632         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94633         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94634
94635         Module timespec.
94636         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94637         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94638         * m4/st_mtim.m4: Indentation.
94639
94640         Module nanosleep.
94641         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94642         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94643         gl_PREREQ_NANOSLEEP.
94644
94645         Module regex.
94646         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94647         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94648         (gl_REGEX): New macro.
94649
94650         Module rename.
94651         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94652         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94653
94654         Module rmdir.
94655         * m4/rmdir.m4: New file.
94656
94657         Module utime.
94658         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94659         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94660         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94661
94662         Module dirname.
94663         * m4/dirname.m4: New file.
94664
94665         Module getopt.
94666         * m4/getopt.m4: New file.
94667
94668         Module unistd-safer.
94669         * m4/unistd-safer.m4: New file.
94670
94671         Module fnmatch.
94672         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94673         declaration.
94674         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94675         (gl_FUNC_FNMATCH_POSIX): New macro.
94676         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94677         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94678         simply fnmatch.
94679
94680         Module exclude.
94681         * m4/exclude.m4: New file.
94682
94683         Module human.
94684         * m4/human.m4: New file.
94685
94686         Module acl.
94687         * m4/acl.m4: Nop.
94688
94689         Module backupfile.
94690         * m4/backupfile.m4: New file.
94691         * m4/d-ino.m4: Indentation.
94692
94693         Module fsusage.
94694         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94695         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94696         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94697
94698         Module dirfd.
94699         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94700         requirements.
94701
94702         Module euidaccess.
94703         * m4/euidaccess.m4: New file.
94704
94705         Module file-type.
94706         * m4/file-type.m4: New file.
94707
94708         Module fileblocks.
94709         * m4/fileblocks.m4: New file.
94710
94711         Module filemode.
94712         * m4/filemode.m4: New file.
94713
94714         Module isdir.
94715         * m4/isdir.m4: New file.
94716
94717         Module lchown.
94718         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94719         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94720
94721         Module makepath.
94722         * m4/makepath.m4: New file.
94723
94724         Module modechange.
94725         * m4/modechange.m4: New file.
94726
94727         Module mountlist.
94728         * m4/mountlist.m4: New file.
94729         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94730         Indentation.
94731
94732         Module path-concat.
94733         * m4/path-concat.m4: New file.
94734
94735         Module pathmax.
94736         * m4/pathmax.m4: New file.
94737
94738         Module same.
94739         * m4/same.m4: New file.
94740
94741         Module save-cwd.
94742         * m4/save-cwd.m4: New file.
94743
94744         Module savedir.
94745         * m4/savedir.m4: New file.
94746
94747         Module xgetcwd.
94748         * m4/xgetcwd.m4: New file.
94749         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94750
94751         Module xreadlink.
94752         * m4/xreadlink.m4: New file.
94753
94754         Module safe-read.
94755         * m4/safe-read.m4: New file.
94756
94757         Module safe-write.
94758         * m4/safe-write.m4: New file.
94759
94760         Module closeout.
94761         * m4/closeout.m4: New file.
94762
94763         Module stdio-safer.
94764         * m4/stdio-safer.m4: New file.
94765
94766         Module getpass.
94767         * m4/getpass.m4: New file.
94768
94769         Module getugroups.
94770         * m4/getugroups.m4: New file.
94771
94772         Module group-member.
94773         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94774         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94775
94776         Module idcache.
94777         * m4/idcache.m4: New file.
94778
94779         Module userspec.
94780         * m4/userspec.m4: New file.
94781
94782         Module gettime.
94783         * m4/clock_time.m4: New file.
94784         * m4/gettime.m4: New file.
94785
94786         Module settime.
94787         * m4/settime.m4: New file.
94788
94789         Module posixtm.
94790         * m4/posixtm.m4: New file.
94791
94792         Module gethostname.
94793         * m4/gethostname.m4: New file.
94794
94795         Module canon-host.
94796         * m4/canon-host.m4: New file.
94797
94798         Module gettext.
94799         * m4/codeset.m4: New file, from gettext-0.11.5.
94800         * m4/gettext.m4: New file, from gettext-0.11.5.
94801         * m4/glibc21.m4: New file, from gettext-0.11.5.
94802         * m4/iconv.m4: New file, from gettext-0.11.5.
94803         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94804         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94805         * m4/inttypes.m4: New file, from gettext-0.11.5.
94806         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94807         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94808         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94809         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94810         * m4/lib-link.m4: New file, from gettext-0.11.5.
94811         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94812         * m4/progtest.m4: New file, from gettext-0.11.5.
94813         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94814         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94815         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94816
94817         Module localcharset.
94818         * m4/localcharset.m4: New file.
94819
94820         Module hard-locale.
94821         * m4/hard-locale.m4: New file.
94822
94823         Module mbswidth.
94824         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94825         onceonly macros.
94826         * m4/mbrtowc.m4: Add comment.
94827
94828         Module memcasecmp.
94829         * m4/memcasecmp.m4: New file.
94830
94831         Module memcoll.
94832         * m4/memcoll.m4: New file.
94833
94834         Module unicodeio.
94835         * m4/unicodeio.m4: New file.
94836
94837         Module rpmatch.
94838         * m4/rpmatch.m4: New file.
94839
94840         Module yesno.
94841         * m4/yesno.m4: New file.
94842
94843         Module exitfail.
94844         * m4/exitfail.m4: New file.
94845
94846         Module c-stack.
94847         * m4/c-stack.m4 (gl_C_STACK): New macro.
94848         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94849
94850         Module error.
94851         * m4/error.m4 (gl_ERROR): New macro.
94852         (jm_PREREQ_ERROR): Use onceonly macros.
94853
94854         Module fatal.
94855         * m4/fatal.m4: New file.
94856
94857         Module getloadavg.
94858         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94859         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94860
94861         Module getpagesize.
94862         * m4/getpagesize.m4: New file.
94863
94864         Module getusershell.
94865         * m4/getusershell.m4: New file.
94866
94867         Module physmem.
94868         * m4/physmem.m4: New file.
94869
94870         Module posixver.
94871         * m4/posixver.m4: New file.
94872
94873         Module quotearg.
94874         * m4/quotearg.m4: New file.
94875
94876         Module quote.
94877         * m4/quote.m4: New file.
94878
94879         Module readutmp.
94880         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94881
94882         Module sig2str.
94883         * m4/sig2str.m4: New file.
94884
94885         Other.
94886         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94887         ulonglong.m4.
94888         * m4/intmax_t.m4: New file.
94889         * m4/d-type.m4: Indentation.
94890         * m4/jm-macros.m4: Update.
94891         * m4/prereq.m4 (jm_PREREQ): Update.
94892         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94893         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94894         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94895         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94896         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94897         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94898         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94899         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94900         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94901         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94902         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94903         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94904         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94905         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94906         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94907         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94908         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94909         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94910         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94911
94912 2002-12-24  Bruno Haible  <bruno@clisp.org>
94913
94914         * MODULES.txt: Update according to m4/ changes.
94915
94916         Module gettext.
94917         * config.rpath: New file, from gettext-0.11.5.
94918
94919         * modules/*: New module descriptions.
94920         * gnulib-tool: New file.
94921         * MODULES.html.sh: New file.
94922
94923 2002-12-21  Karl Berry  <karl@gnu.org>
94924
94925         * doc/fdl.texi: update to version 1.2.
94926
94927 2002-12-19  Karl Berry  <karl@gnu.org>
94928
94929         * config/config.guess: update from prep.
94930
94931 2002-12-18  Bruno Haible  <bruno@clisp.org>
94932
94933         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94934         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94935
94936 2002-12-17  Bruno Haible  <bruno@clisp.org>
94937
94938         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94939         stdlib.h, string.h.
94940
94941 2002-12-17  Bruno Haible  <bruno@clisp.org>
94942
94943         * lib/canon-host.c (strdup): Remove unused declaration.
94944
94945         * lib/fsusage.c: Include full_read.h.
94946         (get_fs_usage): Use full_read instead of safe_read.
94947
94948         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94949
94950 2002-12-12  Karl Berry  <karl@gnu.org>
94951
94952         * config/config.guess: update from prep.
94953
94954 2002-12-11  Bruno Haible  <bruno@clisp.org>
94955
94956         * m4/setenv.m4: New file, from gettext-0.11.5.
94957
94958 2002-12-11  Bruno Haible  <bruno@clisp.org>
94959
94960         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94961         not unsetenv().
94962         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94963         modifications:
94964
94965         2002-12-11  Bruno Haible  <bruno@clisp.org>
94966
94967                 * setenv.c (alloca): Fall back to malloc.
94968                 (freea): New macro.
94969                 (setenv): Use freea() to free memory allocated with alloca().
94970
94971         2002-11-13  Bruno Haible  <bruno@clisp.org>
94972
94973                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94974                 function declarations.
94975                 * unsetenv.c (unsetenv): Likewise.
94976
94977         2002-03-04  Bruno Haible  <bruno@clisp.org>
94978
94979                 Portability to AIX 4.3.3.
94980                 * unsetenv.c: New file, extracted from setenv.c.
94981                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94982
94983         2001-12-20  Bruno Haible  <bruno@clisp.org>
94984
94985                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94986                 use malloc instead. For SunOS 4.
94987
94988         2001-12-11  Bruno Haible  <bruno@clisp.org>
94989
94990                 * setenv.c: Declare alloca.
94991                 (compar_fn_t): New typedef.
94992                 (KNOWN_VALUE, STORE_VALUE): Use it.
94993
94994         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94995         setenv.h.
94996
94997 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94998
94999         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95000         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95001         Choose values that are less likely to collide with system fnmatch
95002         options.
95003         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95004         defined (e.g., a pure POSIX system).
95005         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95006         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95007
95008 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95009
95010         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95011         a pain in practice to deal with generated m4 files.  This change
95012         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95013
95014         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95015         and jm-glibc-io.m4, as they are no longer a special case.
95016         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95017         kludge and the auto-generation stuff.  Check only whether the
95018         functions are declared, not whether they exist, since older hosts
95019         that don't declare the functions can't use the optimization anyway.
95020
95021 2002-12-06  Jim Meyering  <jim@meyering.net>
95022
95023         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95024
95025         Merge in changes from libc's misc/error.c, in preparation
95026         for the merge of gnulib's changes back into libc.
95027
95028         * lib/error.c (_): Define only if not already defined.
95029         Move definition to follow all #include directives.
95030         Include unlocked-io.h only if !_LIBC.
95031         [_LIBC]: Include <libio/libioP.h>.
95032         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95033         (fflush): Tweak definition to use INTUSE.
95034         (putc): Define.
95035
95036 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95037
95038         * lib/alloca.c [defined emacs]: Include "lisp.h".
95039         (xalloc_die) [defined emacs]: New macro.
95040         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95041         [! defined emacs]: Include <xalloc.h>.
95042         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95043         (pointer): Typedef to POINTER_TYPE *.
95044         (malloc): Remove decl; we now always use xmalloc.
95045         (alloca): Use old-style definition, since Emacs needs this.
95046         Check for arithmetic overflow when computing combined size.
95047
95048 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95049
95050         Do not generate unlocked-io.h automatically, since it's easier to
95051         maintain it by hand.
95052
95053         * lib/unlocked-io.h: New file, from GNU diffutils,
95054         but with proper copyright notice and attribution.
95055         * lib/gen-uio: Remove.
95056         * lib/Makefile.am: Add copyright notice.
95057         (libfetish_a_SOURCES): Add unlocked-io.h.
95058         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95059         (DISTCLEANFILES, io_functions): Remove macros.
95060         (EXTRA_DIST): Remove gen_uio.
95061         (unlocked-io.h): Remove rule.
95062
95063 2002-12-04  Jim Meyering  <jim@meyering.net>
95064
95065         Reflect the fact that stat.c and lstat.c are no longer generated.
95066         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95067         (DISTCLEANFILES): Likewise.
95068         (EXTRA_DIST): Likewise.
95069         (all_local): Don't depend on stat.c or lstat.c.
95070         (stat.c, lstat.c): Remove rules.
95071         (EXTRA_DIST): Remove xstat.in.
95072
95073         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95074         * lib/stat.c: New file.  Contents mostly from xstat.in.
95075         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95076         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95077
95078         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95079         too.
95080         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95081
95082 2002-12-03  Jim Meyering  <jim@meyering.net>
95083
95084         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95085         but not semantics, to minimize the differences between these two files.
95086         (safe_read): Change comment to mention SAFE_READ_ERROR.
95087
95088         * lib/safe-read.c (IS_EINTR): Define.
95089         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95090
95091 2002-12-02  Jim Meyering  <jim@meyering.net>
95092
95093         * lib/safe-read.c (EINTR): Define.
95094         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95095         (INT_MAX): Provide fallback.
95096         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95097
95098         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95099
95100 2002-12-02  Bruno Haible  <bruno@clisp.org>
95101
95102         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95103         Define, taken from safe-read.c.
95104         (INT_MAX): Provide fallback.
95105         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95106         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95107
95108         * lib/safe-read.c (EINTR): Remove definition.
95109         (safe_read): Don't use EINTR if it is absent.
95110
95111 2002-12-01  Jim Meyering  <jim@meyering.net>
95112
95113         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95114         zero.
95115         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95116
95117 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95118
95119         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95120         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95121         with `if (! (value < limit)) abort ();', for readability.
95122
95123 2002-11-26  Karl Berry  <karl@gnu.org>
95124
95125         * lib/strdup.c: copy from libc again, with jim's ok.
95126         * lib/.cppi-disable: re-add strdup.c
95127
95128 2002-11-25  Karl Berry  <karl@gnu.org>
95129
95130         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95131         instead of "strtol.c".
95132
95133 2002-11-25  Karl Berry  <karl@gnu.org>
95134
95135         * config/install-sh: update from automake for variable quoting, $0 in
95136         error msgs, etc.
95137
95138         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95139         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95140         entry.
95141
95142 2002-11-25  Jim Meyering  <jim@meyering.net>
95143
95144         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95145
95146 2002-11-24  Karl Berry  <karl@gnu.org>
95147
95148         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95149         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95150
95151 2002-11-24  Jim Meyering  <jim@meyering.net>
95152
95153         Update from coreutils:
95154
95155         * lib/mktime.c: Merge in changes from libc.
95156
95157         Avoid a link-time failure on some Linux systems.
95158         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95159         (otherwise).
95160         (__mon_yday): Declare with the STATIC attribute.
95161         (__mktime_internal): Likewise.
95162         Based on a report from Greg Schafer.
95163
95164 2002-11-23  Jim Meyering  <jim@meyering.net>
95165
95166         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95167         Use `unsigned', not `int', as type of index.
95168
95169         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95170
95171         * lib/fsusage.c: Remove unneeded parentheses around operands of
95172         `defined'.
95173
95174 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95175
95176         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95177         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95178         so that we can be included first.
95179         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95180         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95181         No need to include stddef.h or sys/types.h any more.
95182         Surround local include files with "", not "<>".
95183         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95184         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95185         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95186         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95187         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95188         (ISPRINT): Remove; no longer needed now that we assume C89.
95189
95190         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95191         Preserve errno.
95192
95193         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95194         quotearg_char): Use SIZE_MAX rather than
95195         (size_t) -1 when we are talking about "infinity".
95196
95197         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95198
95199 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95200
95201         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95202         hint that one should use `if (! x) abort ();' rather than `assert
95203         (x);', and anyway it's one less thing to worry about configuring.
95204         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95205         hash_rehash, hash_insert): Use abort rather than assert.
95206
95207 2002-11-22  Bruno Haible  <bruno@clisp.org>
95208
95209         * lib/safe-read.h: Assume C89. Add comments.
95210         (safe_read): Change return type to size_t.
95211         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95212         byte counts > SSIZE_MAX correctly.
95213         * lib/safe-write.h: New file.
95214         * lib/safe-write.c: New file.
95215         * lib/full-read.h: New file.
95216         * lib/full-read.c: New file.
95217         * lib/full-write.h: Assume C89. Add comments.
95218         * lib/full-write.c: Include safe-write.h.
95219         (full_write): Rewritten to use safe_write.
95220         Suggested by Jim Meyering and Paul Eggert.
95221
95222 2002-11-21  Jim Meyering  <jim@meyering.net>
95223
95224         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95225
95226         Merge in changes from the coreutils.
95227
95228         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95229         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95230         <stdint.h>.
95231         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95232         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95233         int.  Work more efficiently if X is the same width as uintmax_t.
95234         Do not compare X to -1, to avoid bogus compiler warning.
95235         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95236         Don't assume that f_frsize and f_bsize are the same type.
95237
95238         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95239         warning on FreeBSD.
95240
95241         * lib/makepath.c (make_path): Restore umask *before* creating the final
95242         component.
95243         (make_path): Minor reformatting.
95244
95245         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95246         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95247         HAVE_MALLOC/HAVE_REALLOC.
95248
95249         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95250         dummy ones.  At least on GNU/Linux systems, `auto' means something
95251         else.
95252         From Michael Stone.
95253
95254 2002-11-21  Bruno Haible  <bruno@clisp.org>
95255
95256         Remove case insensitive option matching.
95257         * lib/argmatch.h (argcasematch): Remove declaration.
95258         (ARGCASEMATCH): Remove macro.
95259         (__xargmatch_internal): Remove case_sensitive argument.
95260         (XARGMATCH): Update.
95261         (XARGCASEMATCH): Remove macro.
95262         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95263         case_sensitive argument.
95264         (argcasematch): Remove function.
95265         (__xargmatch_internal): Remove case_sensitive argument.
95266         (main): Use XARGMATCH instead of XARGCASEMATCH.
95267
95268         * lib/xmalloc.c: Change compile-time error message. Add comment about
95269         required autoconf version.
95270
95271 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95272
95273         Merge argmatch cleanups from Bison.  Assume C89.
95274
95275         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95276         Include stdlib.h, for EXIT_FAILURE.
95277         Always include <string.h>, since we assume C89.
95278         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95279         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95280         Include <stddef.h> instead, since it's all we need for size_t.
95281         (PARAMS): Remove.  All uses removed.
95282         (ARRAY_CARDINALITY): Do not bother to #undef.
95283         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95284         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95285         Remove unnecessary parentheses.
95286         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95287         Insert necessary parentheses.
95288         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95289         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95290
95291 2002-11-19  Bruno Haible  <bruno@clisp.org>
95292
95293         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95294         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95295
95296         * lib/mbswidth.h (PARAMS): Remove macro.
95297         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95298         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95299
95300         * lib/gcd.h (PARAMS): Remove macro.
95301         (gcd): Use ANSI C function declarations.
95302         * lib/gcd.c (gcd): Likewise.
95303
95304 2002-11-15  Bruno Haible  <bruno@clisp.org>
95305
95306         * lib/strcspn.c: Include <stddef.h>.
95307         (strcspn): Use ANSI C function declaration. Change return type to
95308         size_t. Use NULL.
95309         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95310         (strpbrk): Use NULL.
95311         * lib/strpbrk.h (PARAMS): Remove macro.
95312         (strpbrk): Use ANSI C function declaration.
95313         * lib/strstr.c: Don't include <sys/types.h>.
95314         * lib/strstr.h (PARAMS): Remove macro.
95315         (strstr): Use ANSI C function declarations.
95316
95317 2002-11-14  Karl Berry  <karl@gnu.org>
95318
95319         * config/mkinstalldirs: `do' on separate line, instead of
95320         `for var; do'.
95321
95322 2002-11-06  Bruno Haible  <bruno@clisp.org>
95323
95324         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95325         * lib/gcd.c (gcd): Likewise.
95326
95327 2002-11-05  Bruno Haible  <bruno@clisp.org>
95328
95329         * lib/gcd.h: New file, from gettext-0.11.5.
95330         * lib/gcd.c: New file, from gettext-0.11.5.
95331
95332 2002-11-05  Bruno Haible  <bruno@clisp.org>
95333
95334         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95335         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95336         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95337         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95338
95339         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95340         <libintl.h>.
95341         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95342         <libintl.h>.
95343
95344         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95345         * lib/human.c: Include gettext.h instead of <libintl.h>.
95346         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95347         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95348         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95349         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95350         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95351         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95352         (textdomain): Remove definition.
95353         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95354
95355         * lib/long-options.c: Remove include of <libintl.h> and definition of
95356         _.
95357         * lib/same.c: Remove include of <libintl.h> and definition of _.
95358
95359 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95360
95361         * lib/config.charset: A few additions for Solaris.
95362
95363 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95364
95365         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95366         * lib/localcharset.c (locale_charset): Declare as extern "C".
95367
95368 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95369
95370         * lib/config.charset: msdos in uk_UA uses CP1125.
95371
95372 2002-11-04  Bruno Haible  <bruno@clisp.org>
95373
95374         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95375         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95376         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95377         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95378         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95379
95380 2002-11-04  Bruno Haible  <bruno@clisp.org>
95381
95382         * lib/localcharset.c (locale_charset): Don't return an empty string.
95383
95384 2002-11-04  Bruno Haible  <bruno@clisp.org>
95385
95386         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95387         aliases.
95388
95389 2002-11-04  Bruno Haible  <bruno@clisp.org>
95390
95391         * lib/config.charset: Update for newest glibc. Add canonical names
95392         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95393
95394 2002-11-04  Bruno Haible  <bruno@clisp.org>
95395
95396         * lib/config.charset: Add support for NetBSD.
95397
95398 2002-11-04  Bruno Haible  <bruno@clisp.org>
95399
95400         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95401
95402 2002-11-01  Bruno Haible  <bruno@clisp.org>
95403
95404         * configure.in: Add AC_CONFIG_AUX_DIR call.
95405         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95406         test/Makefile.
95407         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95408
95409 2002-09-28  Karl Berry  <karl@gnu.org>
95410
95411         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95412         installed automake until the next release, since changes have been
95413         made.
95414
95415 2002-09-25  Karl Berry  <karl@gnu.org>
95416
95417         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95418         * lib/getopt*: copy from libc/posix.
95419         * lib/gettext.h: copy from gettext.
95420         * lib/.cppi-disable: add strdup.c, gettext.h.
95421
95422 2002-09-25  Karl Berry  <karl@gnu.org>
95423
95424         * config/srclist.txt: enable gettext.h check.
95425         * config/config.{guess,sub}: update from prep.
95426         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95427                 from automake 1.6.3.
95428         See srclist*.
95429
95430 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95431
95432         * regex.c (PATFETCH): Remove the translating fetch.
95433         (PATFETCH_RAW): Rename to PATFETCH.
95434         (set_image_of_range): New fun.
95435         (SET_RANGE_TABLE_WORK_AREA): Use it.
95436         (regex_compile): Don't translate the pattern chars so eagerly.
95437         Only do it when inserting an `exactn' bytecode or when handling
95438         a char-range.
95439         (mutually_exclusive_p): Avoid empty statement.
95440
95441 2002-07-06  Jim Meyering  <meyering@lucent.com>
95442
95443         * m4/README: Don't mention Makefile.am.in.
95444         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95445
95446 2002-07-01  Jim Meyering  <meyering@lucent.com>
95447
95448         * lib/c-stack.c: Include sys/time.h.
95449         From Volker Borchert.
95450
95451 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95452
95453         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95454
95455 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95456
95457         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95458         New macro.  Use it uniformly instead of
95459         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95460         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95461         reported by Vin Shelton.
95462
95463 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95464
95465         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95466         Do not assume SA_SIGINFO behavior.
95467         Bug reported by Jim Meyering on NetBSD 1.5.2.
95468
95469 2002-06-22  Jim Meyering  <meyering@lucent.com>
95470
95471         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95472         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95473
95474         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95475         now that configure.ac uses AC_GNU_SOURCE.
95476         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95477         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95478
95479         Update to latest tools.  Suggestions from Paul Eggert.
95480         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95481         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95482         * m4/fnmatch.m4: Likewise.
95483         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95484         to AC_HEADER_STDBOOL
95485
95486 2002-06-22  Jim Meyering  <meyering@lucent.com>
95487
95488         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95489         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95490
95491 2002-06-22  Jim Meyering  <meyering@lucent.com>
95492
95493         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95494
95495         * lib/exitfail.c, exitfail.h: Likewise.
95496         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95497
95498         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95499         of fnmatch.h.
95500         (EXTRA_DIST): Add fnmatch_loop.c.
95501         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95502
95503         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95504         * lib/fnmatch.c: Update from diffutils-2.8.2.
95505         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95506         * lib/fnmatch.h: Remove file.
95507
95508 2002-06-21  Jim Meyering  <meyering@lucent.com>
95509
95510         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95511         * m4/mbrtowc.m4: Likewise.
95512
95513         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95514         * m4/mbswidth.m4: Reflect name change:
95515         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95516         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95517
95518         * m4/lib-link.m4: Update from gettext-0.11.2.
95519         * m4/gettext.m4: Likewise.
95520
95521         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95522         From Alfred M. Szmidt.
95523
95524 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95525
95526         * lib/file-type.h: Report an error if neither S_ISREG nor
95527         S_IFREG is defined, instead of using a test specific to glibc
95528         2.2.  This should be safe, since POSIX requires S_ISREG and
95529         Unix Version 7 had S_IFREG.  We don't need to check for
95530         <sys/types.h> since we don't use any symbols that it defines.
95531
95532 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95533
95534         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95535         $@-t, so that each temporary file name is unique and valid in the first
95536         8 characters, for operation under DOS.
95537
95538 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95539
95540         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95541
95542 2002-06-15  Jim Meyering  <meyering@lucent.com>
95543
95544         Work even with DJGPP 2.03, which lacks support for symlinks.
95545         From Richard Dawe.
95546         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95547         is defined.
95548         * lib/lchown.c (S_ISLNK): Likewise.
95549
95550 2002-06-15  Jim Meyering  <meyering@lucent.com>
95551
95552         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95553         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95554         have been included before this file.
95555
95556 2002-06-14  Jim Meyering  <meyering@lucent.com>
95557
95558         * lib/file-type.h: Use the version from diffutils-2.8.2.
95559         * lib/file-type.c: Likewise.
95560
95561 2002-06-07  Jim Meyering  <meyering@lucent.com>
95562
95563         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95564         They're needed at least for NetBSD 1.5.2.
95565         ($statxfs_includes): Include those same headers.
95566         ($statxfs_includes): Include sys/vfs.h if available.
95567         ($statxfs_includes): Likewise for sys/statvfs.h.
95568         Check for the following members in both structs statfs and statvfs:
95569         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95570
95571 2002-06-01  Jim Meyering  <meyering@lucent.com>
95572
95573         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95574         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95575
95576 2002-05-28  Jim Meyering  <meyering@lucent.com>
95577
95578         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95579         Reported by Volker Borchert.
95580
95581 2002-05-27  Jim Meyering  <meyering@lucent.com>
95582
95583         Fix a problem seen only on nonconforming systems whereby ls.c's
95584         use of localtime, and then of gettimeofday would cause trouble:
95585         the localtime call used to initialize rpl_gettimeofday's save
95586         mechanism would clobber ls's current local time information so
95587         that in any long listing the first file would always be listed
95588         with date 1970-01-01.  Analysis by Volker Borchert.
95589
95590         * lib/gettimeofday.c (localtime): Undefine.
95591         (rpl_localtime): New function.
95592
95593 2002-05-27  Jim Meyering  <meyering@lucent.com>
95594
95595         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95596         localtime.
95597
95598         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95599         use the replacement function; it wouldn't resolve at link time.
95600         Reported by Volker Borchert.
95601
95602 2002-05-22  Jim Meyering  <meyering@lucent.com>
95603
95604         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95605         file-type.h.
95606         * lib/file-type.h: New file.
95607         * lib/file-type.c (file_type): New file/function.  Extracted from
95608         diffutils.
95609
95610 2002-04-30  Jim Meyering  <meyering@lucent.com>
95611
95612         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95613
95614 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95615
95616         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95617
95618 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95619
95620         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95621         Do not check for alloca.h (no longer used) or stdbool.h (was never
95622         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95623
95624 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95625
95626         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95627
95628 2002-04-29  Jim Meyering  <meyering@lucent.com>
95629
95630         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95631         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95632         Use AC_FUNC_STRNLEN here instead.
95633
95634         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95635         With autoconf-2.53a, it's part of AC_PROG_CC.
95636
95637 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95638
95639         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95640         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95641
95642 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95643
95644         * lib/sig2str.h, lib/sig2str.c: New files.
95645         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95646
95647 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95648
95649         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95650         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95651         of 127, since 64 is the largest conceivable number for ancient
95652         nonstandard hosts.
95653         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95654
95655 2002-04-28  Jim Meyering  <meyering@lucent.com>
95656
95657         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95658
95659 2002-04-24  Jim Meyering  <meyering@lucent.com>
95660
95661         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95662         (jm_PREREQ): Use it.
95663
95664         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95665         mach/mach.h fcntl.h.
95666         Check for this function: setlocale.
95667
95668 2002-04-24  Jim Meyering  <meyering@lucent.com>
95669
95670         * lib/gettext.h: New file, from Gettext.
95671         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95672         (libfetish_a_SOURCES): Add gettext.h.
95673
95674 2002-04-16  Jim Meyering  <meyering@lucent.com>
95675
95676         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95677         ut_pid, ut_id, ut_exit.
95678
95679 2002-04-16  Jim Meyering  <meyering@lucent.com>
95680
95681         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95682         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95683         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95684
95685 2002-04-12  Jim Meyering  <meyering@lucent.com>
95686
95687         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95688         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95689         existence of the getmntinfo function.  Needed for Darwin 5.3.
95690
95691         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95692         This is necessary at least on Darwin 5.3.
95693
95694         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95695         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95696         strnlen.o in the library, and that makes some versions of ranlib
95697         object.
95698
95699 2002-04-12  Jim Meyering  <meyering@lucent.com>
95700
95701         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95702
95703 2002-04-09  Jim Meyering  <meyering@lucent.com>
95704
95705         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95706         to be more precise.  Rather than saying we're checking whether the
95707         function `works', say what we're testing.
95708         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95709         Reported by Bruno Haible.
95710
95711 2002-03-10  Jim Meyering  <meyering@lucent.com>
95712
95713         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95714         Suggestion from Santiago Vila.
95715
95716 2002-03-08  Jim Meyering  <meyering@lucent.com>
95717
95718         * lib/rename.c: Mention that this wrapper is needed also on
95719         mips-dec-ultrix4.4 systems.
95720
95721 2002-03-02  Jim Meyering  <meyering@lucent.com>
95722
95723         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95724         not HAVE_CLOCK_SETTIME.
95725
95726 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95727
95728         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95729         Check for clock_settime.
95730
95731 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95732
95733         * lib/nanosleep.h: Rename to....
95734         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95735
95736         * lib/gettime.c: New file.
95737         * lib/settime.c: New file.
95738         * lib/stime.c: Remove.
95739
95740         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95741         timespec.h.  Remove nanosleep.h.
95742
95743 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95744
95745         * m4/acl.m4: New file.
95746         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95747         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95748
95749 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95750
95751         * lib/acl.c, lib/acl.h: New files.
95752         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95753
95754 2002-02-24  Jim Meyering  <meyering@lucent.com>
95755
95756         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95757         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95758         cause trouble.  Reported by Nelson Beebe.
95759
95760 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95761
95762         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95763         compilers that don't know that xalloc_die never returns.
95764
95765 2002-02-20  Jim Meyering  <meyering@lucent.com>
95766
95767         * lib/getdate.c: Regenerate using bison-1.33.
95768
95769 2002-02-17  Jim Meyering  <meyering@lucent.com>
95770
95771         * config/config.guess (main): Don't use `head -1'; it's no longer
95772         portable. Use `sed 1q' instead.
95773
95774 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95775
95776         * m4/codeset.m4: Upgrade to gettext-0.11.
95777         * m4/gettext.m4: Upgrade to gettext-0.11.
95778         * m4/glibc21.m4: Upgrade to gettext-0.11.
95779         * m4/iconv.m4: Upgrade to gettext-0.11.
95780         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95781         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95782         * m4/lib-ld.m4: New file, from gettext-0.11.
95783         * m4/lib-link.m4: New file, from gettext-0.11.
95784         * m4/lib-prefix.m4: New file, from gettext-0.11.
95785         * m4/progtest.m4: Upgrade to gettext-0.11.
95786
95787 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95788
95789         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95790         (jm_PREREQ): Use it.
95791
95792 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95793
95794         * lib/posixver.c, lib/posixver.h: New files.
95795         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95796
95797 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95798             Bruno Haible  <bruno@clisp.org>
95799
95800         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95801         (fwrite_success_callback): New declaration.
95802         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95803         print_unicode_char. Call failure callback instead of error.
95804         (fwrite_success_callback): New function.
95805         (exit_failure_callback): New function.
95806         (fallback_failure_callback): New function.
95807         (print_unicode_char): Call unicode_to_mb.
95808
95809 2002-01-26  Jim Meyering  <meyering@lucent.com>
95810
95811         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95812         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95813
95814 2002-01-26  Jim Meyering  <meyering@lucent.com>
95815
95816         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95817
95818 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95819
95820         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95821
95822 2002-01-22  Jim Meyering  <meyering@lucent.com>
95823
95824         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95825         Otherwise, some versions of automake would omit the rule that makes
95826         Makefile from Makefile.in.
95827
95828 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95829
95830         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95831         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95832         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95833         (memcoll): Set errno to zero if there is no error.
95834
95835         * lib/quotearg.c (quotearg_buffer_restyled):
95836         Fix bug with quoting buffers containing NUL when backslashing escapes.
95837         This bug was exposed by the other changes in this patch.
95838         (quotearg_n_options): New arg ARGSIZE.
95839         All callers changed.
95840         (quoting_options_from_style): New function.
95841         (quotearg_n_style): Use it.
95842         (quotearg_n_style_mem): New function.
95843
95844         * lib/quotearg.h (quotearg_n_style_mem): New function.
95845
95846 2002-01-19  Jim Meyering  <meyering@lucent.com>
95847
95848         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95849         Remove useless quotes: DF_PROG="df".
95850         * m4/strnlen.m4: New file.
95851
95852 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95853
95854         * lib/backupfile.c (ISDIGIT): Comment fix.
95855         * lib/getdate.y (ISDIGIT): Likewise.
95856         * lib/posixtm.c (ISDIGIT, year): Likewise.
95857         * lib/strverscmp.c (ISDIGIT): Likewise.
95858         * lib/userspec.c (ISDIGIT): Likewise.
95859
95860 2002-01-16  Jim Meyering  <meyering@lucent.com>
95861
95862         * lib/getdate.y: Add three semicolons, each just before a closing
95863         brace. Bison (as of version 1.31) no longer papers over that mistake.
95864
95865 2002-01-05  Jim Meyering  <meyering@lucent.com>
95866
95867         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95868
95869 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95870
95871         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95872         not silently exit merely because the output buffer happens to
95873         have nothing pending.
95874
95875 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95876
95877         See the big note in ../ChangeLog.
95878         * lib/human.c (suffixes): Prefer K to k for 1024.
95879         (generate_suffix_backwards): New function.
95880         (human_readable_inexact): Use it.
95881         * lib/xstrtol.c (__xstrtol): If there is no number but there
95882         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95883         Accept 'K' as well as 'k'.
95884
95885 2001-12-15  Jim Meyering  <meyering@lucent.com>
95886
95887         * lib/regex.h (__restrict_arr): Update from libc.
95888
95889         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95890         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95891         (STREQ): Define.
95892
95893 2001-12-14  Jim Meyering  <meyering@lucent.com>
95894
95895         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95896         Suggestion from Bruno Haible.
95897
95898 2001-12-10  Jim Meyering  <meyering@lucent.com>
95899
95900         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95901         xrealloc, Instead, include "xalloc.h".
95902         (initbuffer): Don't cast xmalloc return value to char*.
95903         (readline): Reword comment.
95904         Don't cast xrealloc return value to char*
95905         Return NULL, not 0.
95906
95907 2001-12-09  Jim Meyering  <meyering@lucent.com>
95908
95909         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95910         about `signed and unsigned type in conditional expression'.
95911         * lib/posixtm.c (posix_time_parse): Likewise.
95912
95913         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95914
95915         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95916         to avoid a pedantic warning.
95917
95918         * lib/getstr.c: Don't include assert.h.
95919         (getstr): Remove warning-evoking assertions.
95920         Return -1 if offset parameter is out of bounds.
95921         Change the type of a local from int to size_t.
95922
95923         * lib/strftime.c (my_strftime_localtime_r): Include this function
95924         definition in the `#if ! HAVE_TM_GMTOFF' block.
95925
95926         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95927         Include xalloc.h instead.
95928
95929 2001-12-02  Jim Meyering  <meyering@lucent.com>
95930
95931         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95932         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95933         included.
95934
95935         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95936         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95937
95938 2001-11-30  Akim Demaille  <akim@epita.fr>
95939
95940         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95941         before being defined.
95942
95943 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95944
95945         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95946         First arg is int, not unsigned.
95947         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95948         (SIZE_MAX, UINT_MAX): New macros.
95949         (quotearg_n_options): Abort if N is negative.
95950         Avoid overflow check on hosts where size_t is 64 bits and int
95951         is 32 bits, as overflow is impossible there.
95952         Fix off-by-one typo that caused unnecessary reallocation.
95953
95954 2001-11-27  Jim Meyering  <meyering@lucent.com>
95955
95956         * lib/tempname.c: Merge with version from libc.
95957         * lib/regex.c: Likewise.
95958
95959         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95960         systems for which STDC_HEADERS is 0, it was not included, resulting in
95961         a warning about an integer-to-pointer conversion problem with getenv.
95962         Reported by Volker Borchert.
95963
95964 2001-11-26  Jim Meyering  <meyering@lucent.com>
95965
95966         * lib/gtod.h: Remove file.
95967         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95968         * lib/gettimeofday.c: Don't include gtod.h.
95969         (GTOD_init): Remove function.
95970         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95971         Suggestion from Volker Borchert.
95972
95973 2001-11-23  Jim Meyering  <meyering@lucent.com>
95974
95975         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95976         it.
95977         * lib/hash.c (struct hash_table): Define it here instead.
95978
95979 2001-11-22  Jim Meyering  <meyering@lucent.com>
95980
95981         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95982
95983 2001-11-20  Jim Meyering  <meyering@lucent.com>
95984
95985         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95986         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95987
95988 2001-11-19  Jim Meyering  <meyering@lucent.com>
95989
95990         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95991         directory.  Use "conftestXXXXXX" as the template.
95992         Suggestion from Paul Eggert.
95993
95994         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95995         immediately, so the test doesn't mistakenly hit the max-open-files
95996         limit.
95997
95998 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95999
96000         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96001         (TEMPORARIES): New macro.
96002         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96003         removes an artificial limitation (e.g. HP-UX 10.20, where
96004         TMP_MAX is 17576).
96005
96006 2001-11-18  Jim Meyering  <meyering@lucent.com>
96007
96008         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96009
96010 2001-11-18  Jim Meyering  <meyering@lucent.com>
96011
96012         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96013         on SunOS 4.
96014
96015         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96016         files will be created before anything else.
96017
96018 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96019
96020         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96021         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96022
96023 2001-11-17  Jim Meyering  <meyering@lucent.com>
96024
96025         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96026         Prompted by a report from Bob Proulx.
96027
96028         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96029         Instead, require UTILS_FUNC_MKSTEMP.
96030
96031 2001-11-17  Jim Meyering  <meyering@lucent.com>
96032
96033         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96034         Now, that's done as part of AC_FUNC_STRTOD.
96035
96036 2001-11-17  Jim Meyering  <meyering@lucent.com>
96037
96038         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96039         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96040         rather than group writable.  Patch by Juan F. Codagnone.
96041
96042         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96043         xrealloc, Instead, include "xalloc.h".
96044
96045         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96046         Remove explicit declarations of xmalloc, xrealloc,
96047         and xstrdup.  Instead, include "xalloc.h".
96048
96049         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96050         unlocked-io.h.
96051         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96052         Likewise.
96053         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96054
96055         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96056         Reported by Padraig Brady.
96057
96058         * lib/mkstemp.c: #undef mkstemp.
96059         Include config.h.
96060         (rpl_mkstemp): Rename from mkstemp.
96061         Protoize.
96062
96063 2001-11-16  Jim Meyering  <meyering@lucent.com>
96064
96065         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96066         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96067         determine the amount of total physical memory, use pstat_getstatic.
96068         HPUX-11 doesn't define _SC_PHYS_PAGES.
96069         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96070         If sysconf couldn't be used to determine the amount of available
96071         physical memory, use both pstat_getstatic and pstat_getdynamic.
96072         Based on a patch from Bob Proulx.
96073
96074 2001-11-10  Jim Meyering  <meyering@lucent.com>
96075
96076         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96077         (jm_PREREQ): Use it.
96078
96079 2001-11-09  Jim Meyering  <meyering@lucent.com>
96080
96081         * m4/jm-macros.m4: Require autoconf-2.52f.
96082         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96083         Use these AC_-prefixed names, not the AM_-prefixed ones.
96084
96085         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96086
96087 2001-11-05  Jim Meyering  <meyering@lucent.com>
96088
96089         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96090
96091 2001-11-04  Jim Meyering  <meyering@lucent.com>
96092
96093         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96094         $DEFS.
96095
96096 2001-11-03  Jim Meyering  <meyering@lucent.com>
96097
96098         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96099         of AC_DEFUN.
96100
96101         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96102         know the name of the variable in the macro definition.
96103
96104 2001-11-03  Jim Meyering  <meyering@lucent.com>
96105
96106         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96107         in argmatch_to_argument call.
96108
96109         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96110         argument.
96111
96112         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96113         e.g., a fault due to an attempt to free a NULL pointer.
96114
96115 2001-11-01  Jim Meyering  <meyering@lucent.com>
96116
96117         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96118         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96119
96120 2001-11-01  Jim Meyering  <meyering@lucent.com>
96121
96122         * lib/dirfd.c, lib/dirfd.h: New files.
96123         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96124
96125         * lib/hash.c (hash_print) [TESTING]: Clean up.
96126
96127 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96128
96129         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96130         to avoid a warning if -Wall.
96131
96132 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96133
96134         * README: New file
96135         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96136         (per RMS's instructions, this is now the canonical source)
96137         * lgpl/, gpl/: New directories.
96138
96139 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96140
96141         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96142
96143 2001-10-21  Jim Meyering  <meyering@lucent.com>
96144
96145         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96146         this code would end up calling gettext even in packages built
96147         with --disable-nls.
96148         * lib/getopt.c (_): Likewise.
96149         * lib/regex.c (_): Likewise.
96150
96151 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96152
96153         * m4/error.m4 (jm_PREREQ_ERROR):
96154         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96155         AC_FUNC_STRERROR_R does that.
96156         Check for strerror declaration.
96157
96158         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96159         are supposed to have them these days.
96160         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96161         Merge changes from latest Autoconf CVS.
96162         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96163         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96164         POSIX decided to standardize on the int flavor of strerror_r.
96165
96166 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96167
96168         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96169         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96170         Use strerror_r that is only a macro, even if it is not a function.
96171         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96172         (private_strerror): Use prototypes, not old-style function definition.
96173         (print_errno_message): New function.
96174         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96175         char*-flavored one.
96176         (error_tail, error, error_at_line): Use it.
96177
96178 2001-10-11  Jim Meyering  <meyering@lucent.com>
96179
96180         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96181         and quote_n (1, ... to avoid clobbering a buffer.
96182
96183 2001-10-05  Jim Meyering  <meyering@lucent.com>
96184
96185         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96186         hash-pjw.h.
96187         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96188         * lib/hash-pjw.h: New file.
96189
96190 2001-09-30  Jim Meyering  <meyering@lucent.com>
96191
96192         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96193         `struct fsstat' has the `f_fstypename' member.
96194         Use that to define FS_TYPE, which is now used to make
96195         the getfsstat link test tighter.
96196
96197 2001-09-30  Jim Meyering  <meyering@lucent.com>
96198
96199         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96200         Include <sys/ucred.h>, for Apple Darwin.
96201         Include sys/mount.h and sys/fs_types.h only if available.
96202         (FS_TYPE): Define.
96203         (read_filesystem_list): Use FS_TYPE.
96204
96205 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96206
96207         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96208         a boolean context.
96209
96210 2001-09-29  Jim Meyering  <meyering@lucent.com>
96211
96212         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96213         [one-argument getmntent function]): Include stdio.h before mntent.h.
96214         SunOS 4.1.x needs it for the declaration of `FILE'.
96215         Patch by Volker Borchert.
96216
96217         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96218         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96219         sys/fs_types.h, and make the link-test for getfsstat guard #include
96220         directives with appropriate #if HAVE_*_H tests so that we can
96221         detect getfsstat on Apple Darwin1.3.7 systems.
96222         Reported by Nelson Beebe.
96223         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96224
96225 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96226
96227         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96228         #defines strtoimax.  Also treat the other strto* functions
96229         like strtoimax.
96230
96231         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96232         Check for strtoul and strtoumax,
96233         as those declarations are made even in the signed case.
96234         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96235         Likewise, for strtol and strtoimax.
96236
96237 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96238
96239         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96240         #defines strtoimax.  Also treat the other strto* functions
96241         like strtoimax.
96242
96243         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96244         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96245         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96246
96247 2001-09-26  Jim Meyering  <meyering@lucent.com>
96248
96249         Most macros in unlocked-io.h had the wrong number of arguments.
96250         * lib/gen-uio: New script.
96251         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96252         * lib/unlocked-io.hin: Remove file.
96253         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96254         rather than trying to embed it here.
96255         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96256         Reported by Padraig Brady.
96257
96258 2001-09-25  Volker Borchert  <bt@teknon.de>
96259
96260         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96261         `result'.
96262
96263 2001-09-24  Jim Meyering  <meyering@lucent.com>
96264
96265         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96266
96267 2001-09-23  Jim Meyering  <meyering@lucent.com>
96268
96269         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96270         instead of the mere test for existence of mntent.h.  The latter
96271         would get a false-positive on AIX 3.4 systems.
96272         In the outer getmntent if-block, don't die if neither of the getmntent
96273         tests succeeds.  Instead, just fall through and continue with the
96274         remaining tests.
96275
96276 2001-09-23  Jim Meyering  <meyering@lucent.com>
96277
96278         * lib/mountlist.c: Remove useless parentheses in #if directives.
96279         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96280         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96281
96282 2001-09-22  Jim Meyering  <meyering@lucent.com>
96283
96284         * m4/gettext.m4: New file.  From gettext.
96285         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96286         * m4/progtest.m4: Likewise
96287         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96288         * m4/glibc21.m4: Likewise.
96289
96290         * m4/libintl.m4: Remove.  No longer used.
96291
96292 2001-09-22  Jim Meyering  <meyering@lucent.com>
96293
96294         * lib/localcharset.c: Update from latest gettext.
96295         * lib/config.charset: Likewise.
96296
96297 2001-09-20  Jim Meyering  <meyering@lucent.com>
96298
96299         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96300         strtoimax.
96301         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96302         strtoumax.
96303
96304 2001-09-20  Jim Meyering  <meyering@lucent.com>
96305
96306         * lib/xstrtol.c (strtoimax): Guard declaration with
96307         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96308         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96309         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96310         (strtoumax): Likewise, for completeness (it wasn't necessary).
96311
96312 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96313
96314         * lib/strtoimax.c (HAVE_LONG_LONG):
96315         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96316         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96317         to work around bug in IBM C compiler.
96318
96319 2001-09-17  Jim Meyering  <meyering@lucent.com>
96320
96321         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96322         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96323         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96324         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96325         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96326         whenever the right hand side need not be expanded by the shell.
96327
96328 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96329
96330         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96331         library.  It's not correct, as some older glibcs are buggy.
96332         fnmatch wasn't fixed until glibc 2.2.
96333
96334         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96335         special shell magic here.
96336
96337 2001-09-16  Jim Meyering  <meyering@lucent.com>
96338
96339         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96340         * m4/jm-macros.m4: Require it.
96341
96342 2001-09-16  Jim Meyering  <meyering@lucent.com>
96343
96344         * lib/mkdir.c: New file.
96345
96346 2001-09-15  Jim Meyering  <meyering@lucent.com>
96347
96348         * m4/jm-macros.m4: Check for help2man.
96349
96350 2001-09-11  Jim Meyering  <meyering@lucent.com>
96351
96352         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96353         The body, by Paul Eggert, was moved here from configure.in.
96354         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96355
96356 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96357
96358         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96359         (jm_PREREQ): Use it.
96360
96361 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96362
96363         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96364         Use ssize_t, not int, to store result of readlink.
96365         Check for ssize_t overflow as well as size_t overflow,
96366         as POSIX says the result of readlink is implementation-defined
96367         when ssize_t overflows.
96368         Remove unnecessary cast to char*.
96369         Use free+malloc instead of realloc, as the storage doesn't need
96370         to be preserved and it's clearer and can be more efficient that way.
96371         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96372         * lib/xreadlink.h (xreadlink): Update prototype.
96373
96374 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96375
96376         * lib/xgetcwd.c: Revert some of the previous change; intead,
96377         fix the HAVE_GETCWD_NULL code to behave more like the
96378         !HAVE_GETCWD_NULL code used to.
96379
96380         Include "xalloc.h".
96381         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96382         invoke xalloc_die.
96383
96384 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96385
96386         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96387         sys/param.h, as pathmax.h includes them.
96388
96389 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96390
96391         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96392         (jm_PREREQ_XGETCWD): New macro.
96393
96394         * m4/getcwd.m4: New file.
96395
96396 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96397
96398         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96399         like the HAVE_GETCWD_NULL code.
96400         Include pathmax.h if not HAVE_GETCWD.
96401         Do not include xalloc.h.
96402         (INITIAL_BUFFER_SIZE): New symbol.
96403         Do not use xmalloc / xrealloc, since the caller is responsible for
96404         handling errors.  Preserve errno around `free' during failure.
96405         Do not overrun buffer when using getwd.
96406
96407 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96408
96409         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96410         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96411         getcwd (NULL, 0).
96412
96413 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96414
96415         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96416         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96417         spotted by Jim Meyering.
96418
96419 2001-09-03  Jim Meyering  <meyering@lucent.com>
96420
96421         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96422         failure.
96423
96424 2001-09-02  Jim Meyering  <meyering@lucent.com>
96425
96426         * lib/error.c: Update from GNU libc.
96427
96428 2001-09-01  Jim Meyering  <meyering@lucent.com>
96429
96430         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96431         Used by df.
96432
96433 2001-09-01  Jim Meyering  <meyering@lucent.com>
96434
96435         * lib/xreadlink.c: New file.
96436         * lib/xreadlink.h: New file.
96437         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96438         xreadlink.h.
96439
96440         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96441         doesn't conflict with sparc Solaris 7's definition in
96442         /usr/include/sys/int_types.h.
96443
96444         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96445         files.
96446         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96447         and strncasecmp as r-values.  Unixware didn't have declarations.
96448
96449 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96450
96451         * lib/xstrtol.h: Add copyright notice.
96452         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96453         LONGINT_INVALID_SUFFIX_CHAR.
96454
96455 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96456
96457         * lib/xstrtol.c (strtoimax): New decl.
96458
96459 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96460
96461         * lib/xgetcwd.c: Don't include pathmax.h.
96462         Include stdlib.h and unistd.h if available.
96463         Include xalloc.h.
96464         (xmalloc, xstrdup, free): Remove decls.
96465         (xgetcwd): Don't assume sizes fit in unsigned.
96466         Check for overflow when computing sizes.
96467         Simplify reallocation code.
96468
96469 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96470
96471         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96472         a directory's st_size can have an arbitrary value, so the old
96473         usage could waste an arbitrary amount of memory.  All uses
96474         changed.
96475         * lib/savedir.h: Update prototype.
96476
96477 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96478
96479         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96480
96481         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96482         old strtoimax.c.
96483
96484         Also, make the following further changes to make this file's
96485         configuration more similar to that of strtol.c:
96486         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96487         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96488         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96489         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96490         changed to signed values.
96491
96492         And make the following changes as well:
96493         Fix copyright notice, as 1999 was missing.
96494         (verify): New macro.
96495         (strtoimax): Check sizes at compile-time, not run-time.
96496         Prefer strtol to strtoll if both work.
96497         (main): Remove; it was not that useful and was a pain to maintain.
96498
96499         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96500
96501 2001-08-31  Jim Meyering  <meyering@lucent.com>
96502
96503         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96504         Use an initial, malloc'd, buffer of length 128 rather than
96505         a statically allocated one of length 1024.
96506
96507 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96508
96509         Simplify code, partly by assuming autoconf 2.52 semantics.
96510
96511         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96512
96513         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96514         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96515         All uses removed.
96516         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96517         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96518         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96519         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96520         jm_AC_HEADER_INTTYPES_H.
96521         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96522
96523         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96524
96525         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96526         Quote first arg of AC_DEFUN.
96527         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96528         since they are needed to parse the include file even if we need
96529         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96530         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96531         but with opposite signedness.
96532
96533 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96534
96535         Merge 'exclude' changes from tar 1.13.22.
96536         This fixes one or two unlikely storage allocation overflow bugs,
96537         but doesn't change user-visible behavior otherwise.
96538
96539 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96540
96541         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96542         (jm_PREREQ_EXCLUDE): New macro.
96543
96544 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96545
96546         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96547         tm to be declared.
96548
96549 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96550
96551         * lib/hash.c: Remove '2001' from copyright notice.
96552
96553 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96554
96555         * lib/full-write.h: New file.
96556         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96557         * lib/full-write.c: Correct credits, as cccp.c no longer
96558         exists and anyway it was so heavily changed from the old cccp
96559         code as to be unrecognizable.  Include full-write.h.
96560         (full_write): Return size_t, with short writes meaning failure.
96561         All callers changed.  This fixes a bug with large buffers
96562         on 64-bit hosts.
96563         * lib/utime.c: Include full-write.h.
96564
96565 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96566
96567         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96568         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96569         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96570         Include if available.
96571         (<xalloc.h>): Include
96572         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96573         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96574         collide with FNM macros.
96575         (struct patopts): New struct.
96576         (struct exclude): Use it, as exclude patterns now come with options.
96577         (new_exclude): Support above changes.
96578         (new_exclude, add_exclude_file):
96579         Initial size must now be a power of two to simplify overflow checking.
96580         (free_exclude, fnmatch_no_wildcards): New function.
96581         (excluded_filename): No longer requires options arg, as the options
96582         are determined by add_exclude.  Now returns bool, not int.
96583         (excluded_filename, add_exclude):
96584         Add support for the fancy new exclusion options.
96585         (add_exclude, add_exclude_file): Now takes int options arg.
96586         Check for arithmetic overflow when computing sizes.
96587         (add_exclude_file): xrealloc might modify errno, so don't
96588         realloc until after errno might be used.
96589
96590         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96591         New macros.
96592         (free_exclude): New decl.
96593         (add_exclude, add_exclude_file): Now takes int options arg.
96594         (excluded_filename): No longer requires options arg, as the options
96595         are determined by add_exclude.  Now returns bool, not int.
96596
96597 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96598
96599         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96600
96601 2001-08-27  Jim Meyering  <meyering@lucent.com>
96602
96603         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96604
96605         * lib/version-etc.c (N_): Remove definition.
96606         Revert most of last change.
96607         Instead, simply don't mark the `Copyright...' string for translation.
96608         Based on advice from Paul Eggert.
96609
96610         * lib/strtoxmax.c: Tweak comment.
96611
96612 2001-08-26  Jim Meyering  <meyering@lucent.com>
96613
96614         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96615
96616         * m4/xstrtoimax.m4: New file.
96617         * m4/xstrtoumax.m4: Add comments explaining why we
96618         AC_REPLACE_FUNCS(strtol).
96619
96620 2001-08-26  Jim Meyering  <meyering@lucent.com>
96621
96622         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96623         of copyright with `%s' so translators don't get an untranslated
96624         message in 2002.
96625         (COPYRIGHT_YEAR): Define.
96626         (version_etc): Use fprintf rather than fputs.
96627         Suggestion from Ulrich Drepper.
96628
96629         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96630
96631         * lib/strtoll.c: New file, from GNU libc.
96632         * lib/xstrtoimax.c: New file.
96633
96634         * lib/xstrtol.h: Add xstrtoimax.
96635         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96636         * lib/strtoimax.c: New file.  Likewise, but first define
96637         STRTOUXMAX_SIGNED.
96638
96639         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96640         ...
96641         * lib/strtoxmax.c: ... then renamed to this.
96642
96643 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96644
96645         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96646         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96647         (jm_AC_TYPE_INTMAX_T): New macro.
96648         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96649
96650         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96651
96652         * m4/longlong.m4: Renamed from ulonglong.m4.
96653         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96654         * m4/uintmax_t.m4: Removed.
96655
96656 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96657
96658         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96659         Port to Solaris 8, where 'sed' requires a space after the 'r'
96660         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96661         Redirect output to $tmp just once.
96662
96663 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96664
96665         * lib/addext.c (<errno.h>): Include.
96666         (errno): Declare if not defined.
96667         (addext): Work correctly when pathconf returns -1 and leaves
96668         errno alone because there is no limit.  Also, work even if
96669         pathconf returns a value greater than SIZE_MAX.
96670
96671 2001-08-12  Jim Meyering  <meyering@lucent.com>
96672
96673         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96674         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96675         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96676         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96677         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96678         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96679         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96680         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96681         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96682         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96683         utime.m4, utimes.m4, xstrtoumax.m4:
96684         Quote the first argument in each use of AC_DEFUN.
96685
96686 2001-08-12  Jim Meyering  <meyering@lucent.com>
96687
96688         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96689         Simply `return getcwd (NULL, 0);'.
96690         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96691         Use 1300 as initial value for length, not PATH_MAX.
96692
96693         * lib/pathmax.h: Clean up cpp syntax.
96694
96695 2001-08-12  Jim Meyering  <meyering@lucent.com>
96696
96697         * lib/gettimeofday.c: New file.
96698         * lib/gtod.h: New file.
96699         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96700
96701 2001-08-05  Jim Meyering  <meyering@lucent.com>
96702
96703         * m4/jm-macros.m4: Require autoconf-2.52.
96704
96705 2001-08-04  Jim Meyering  <meyering@lucent.com>
96706
96707         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96708         stmt, to get in sync with glibc.
96709
96710 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96711
96712         The following changes are from gettext 0.10.39 as maintained by
96713         Bruno Haible.
96714
96715         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96716         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96717         with inverted sense.  All uses changed.
96718
96719         * lib/mbswidth.c: Don't include <limits.h>.
96720         Include <stdlib.h> and <string.h> unconditionally.
96721         (iswcntrl, mbsinit, ISCNTRL): New macros.
96722         (mbsnwidth): Use K&R style function declarations.
96723         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96724         can optimize it when MB_CUR_MAX == 1.
96725         The width of control characters is zero, not 1.
96726
96727 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96728
96729         The following changes are from gettext 0.10.39 as maintained by
96730         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96731
96732         * m4/codeset.m4: Upgrade to serial AM1.
96733         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96734         all uses changed.  Quote first arg of AC_DEFUN.
96735         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96736
96737         * m4/iconv.m4: Upgrade to serial AM2.
96738         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96739         Add --with-libconv-prefix.
96740         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96741         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96742         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96743         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96744         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96745
96746         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96747         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96748         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96749         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96750         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96751         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96752         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96753         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96754         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96755
96756         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96757         string.h any more.
96758
96759         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96760         not the default value.
96761
96762         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96763         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96764         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96765         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96766         Also check for iswcntrl, used for wcwidth fallback.
96767         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96768         to Autoconf 2.13.
96769
96770 2001-08-03  Jim Meyering  <meyering@lucent.com>
96771
96772         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96773         as it was in the original.  Reported by Paul Eggert.
96774
96775 2001-07-16  Jim Meyering  <meyering@lucent.com>
96776
96777         * m4/gettimeofday.m4: New file.
96778         Prompted by a report from Bernhard Baehr.
96779
96780 2001-07-15  Jim Meyering  <meyering@lucent.com>
96781
96782         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96783         stuff. Now it's in ../Makefile.cfg.
96784
96785 2001-07-15  Jim Meyering  <meyering@lucent.com>
96786
96787         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96788         (BUILT_SOURCES): Add unlocked-io.h.
96789         (io_functions): Define.
96790         (unlocked-io.h): New rule.
96791         (DISTCLEANFILES): Add unlocked-io.h.
96792         (all-local): Depend on unlocked-io.h, to ensure it is created.
96793
96794         * lib/unlocked-io.hin: New file
96795
96796         * lib/regex.c: Update from glibc.
96797
96798 2001-07-05  Jim Meyering  <meyering@lucent.com>
96799
96800         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96801         recommendation.
96802         (libfetish_a_SOURCES): Put all .h files here instead.
96803         Remove a thus-exposed (better checks in automake) duplicate and
96804         two unnecessary .h files.
96805
96806 2001-07-04  Jim Meyering  <meyering@lucent.com>
96807
96808         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96809         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96810         distcheck failure.
96811
96812 2001-07-02  Jim Meyering  <meyering@lucent.com>
96813
96814         The following changes were prompted by suggestions from Bruno Haible.
96815
96816         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96817         is now generated.
96818         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96819         definition of EXTRA_DIST.
96820         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96821         ensure that the generated file is created/updated whenever the list
96822         of $(unlocked_functions) is changed.
96823         (jm-glibc-io.m4): New rule.
96824         (unlocked-io.h): New rule -- currently unused.
96825
96826 2001-06-24  Jim Meyering  <meyering@lucent.com>
96827
96828         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96829         unmatched right bracket, rather than kludging it with an extra,
96830         falsely-matching quote in a comment.  Patch by Akim Demaille.
96831
96832 2001-06-11  Jim Meyering  <meyering@lucent.com>
96833
96834         * lib/regex.c: Update from GNU libc.
96835
96836 2001-05-27  Jim Meyering  <meyering@lucent.com>
96837
96838         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96839         Check for ut_type in struct utmp.
96840
96841 2001-05-27  Jim Meyering  <meyering@lucent.com>
96842
96843         * lib/readutmp.h (UT_TYPE): Define.
96844
96845 2001-05-24  Jim Meyering  <meyering@lucent.com>
96846
96847         * lib/argmatch.c: Include "quote.h".
96848         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96849         quote function.  Reported by Göran Uddeborg.
96850
96851 2001-05-22  Jim Meyering  <meyering@lucent.com>
96852
96853         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96854         now that we use the package-supplied version unconditionally.
96855         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96856
96857 2001-05-21  Jim Meyering  <meyering@lucent.com>
96858
96859         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96860         shell syntax errors.
96861
96862 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96863
96864         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96865
96866 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96867
96868         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96869         Don't bother to check library strftime, since
96870         we'll be using our own my_strftime function anyway.
96871         Define my_strftime instead of strftime.
96872
96873 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96874
96875         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96876         which is not yet declared.
96877
96878 2001-05-15  Jim Meyering  <meyering@lucent.com>
96879
96880         * m4/regex.m4: Use proper quoting so brackets appear in the test
96881         program.
96882         Reported by, and with help from, Bruno Haible.
96883
96884 2001-05-13  Jim Meyering  <meyering@lucent.com>
96885
96886         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96887         undefined.
96888
96889 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96890
96891         dirname code cleanup.  base_name now behaves more compatibly
96892         with POSIX basename when given file names that have trailing
96893         slashes, and similarly for dir_name.  Add new primitives
96894         base_len and dir_len.  Put the directory-name-related decls
96895         into dirname.h.
96896
96897         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96898         * lib/backupfile.c (base_name): Likewise.
96899         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96900         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96901         * lib/makepath.c (strip_trailing_slashes): Likewise.
96902         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96903         ISSLASH): Likewise.
96904         * lib/rename.c (strip_trailing_slashes): Likewise.
96905         * lib/same.c (base_name): Likewise.
96906         * lib/stripslash.c (ISSLASH): Likewise.
96907
96908         * lib/addext.c: Include <dirname.h> after size_t is defined.
96909         * lib/backupfile.c: Likewise.
96910
96911         * lib/addext.c (addext): Use base_len to trim redundant
96912         trailing slashes instead of doing it ourselves.
96913         But do not trim the last slash if it is not redundant.
96914
96915         * lib/backupfile.c (find_backup_file_name,
96916         max_backup_version): Use base_len instead of rolling it ourselves.
96917         Handle the case of "" and (on DOS) "C:" correctly.
96918
96919         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96920         needed. Include <string.h>, <dirname.h>.
96921         (base_name): Allow file names ending in slashes, other than names
96922         that are all slashes.  In this case, return the basename followed
96923         by the slashes.  This is more general, and can be used in places
96924         where the original base_name purposely had an assertion failure.
96925         (base_len): New function.
96926
96927         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96928         Do not include <assert.h>; no longer needed.
96929         Include xalloc.h.
96930         (memrchr): Remove decl.
96931         (dir_name_r): Remove.
96932         (dir_len): Renamed from dirlen.  All callers changed.
96933         Rewrite in terms of base_name, for simplicity and consistency.
96934         (dir_name): Never return NULL.  All callers changed.
96935         Do not include <stdlib.h> in test program; no longer needed.
96936         return 0; is fine for test program.
96937
96938         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96939         New macros.
96940         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96941
96942         * lib/path-concat.c (path_concat): Use base_len to compute
96943         base length, not strlen; this means we cannot rely on memcpy
96944         to null-terminate.
96945
96946         * lib/same.c (STREQ): Remove.
96947         (same_name): Handle the case where the basename ends in trailing '/'.
96948
96949         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96950         a slash was stripped.  Do not strip the last slash after a
96951         file system prefix.
96952
96953 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96954
96955         * lib/Makefile.am (libfetish_a_SOURCES):
96956         Add strftime.c, since we now compile it on all hosts.
96957
96958         * lib/strftime.c (my_strftime):
96959         Define to nstrftime if emacs, but only if my_strftime is not defined.
96960         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96961         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96962         Add one more extra argument: a nanoseconds value.
96963         All uses changed.
96964         (ns): New macro.
96965         (my_strftime function): Add %N format.
96966         (emacs_strftimeu): Renamed from emacs_strftime,
96967         with extra ut argument.
96968
96969 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96970
96971         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96972
96973 2001-04-21  Jim Meyering  <meyering@lucent.com>
96974
96975         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96976         doesn't interfere.
96977
96978 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96979
96980         * m4/ftruncate.m4: Check for chsize.
96981         Link with ftruncate.o unconditionally if ftruncate is missing.
96982         This was required when cross-compiling to i586-mingw32msvc.
96983
96984 2001-04-08  Jim Meyering  <meyering@lucent.com>
96985
96986         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96987         recomputed; that's necessary when the offset spans a DST transition.
96988         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96989
96990 2001-04-02  Jim Meyering  <meyering@lucent.com>
96991
96992         * lib/regex.h, regex.c: Update from GNU libc.
96993
96994 2001-03-24  Jim Meyering  <meyering@lucent.com>
96995
96996         * m4/jm-macros.m4: Require autoconf-2.49d.
96997
96998 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96999
97000         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97001
97002 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97003
97004         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97005
97006 2001-03-17  Jim Meyering  <meyering@lucent.com>
97007
97008         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97009         now that the version in autoconf is equivalent.
97010         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97011
97012         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97013         Suggestion from Akim Demaille.
97014
97015         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97016         (jm_PREREQ_TEMPNAME): New function.
97017
97018 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97019
97020         * lib/tempname.c (uint64_t): Define to uintmax_t if
97021         not defined, and if UINT64_MAX is not defined.
97022         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97023         Reported by John David Anglin.
97024
97025 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97026
97027         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97028         resolve alias if codeset is empty.
97029         * lib/config.charset (BeOS): Use wildcard syntax.
97030
97031 2001-03-13  Jim Meyering  <meyering@lucent.com>
97032
97033         * lib/path-concat.c (path_concat)
97034         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97035         concatenating e.g., `C:' and `foo'.
97036         From Bruno Haible.
97037
97038 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97039
97040         * lib/localcharset.c (locale_charset): Don't use
97041         setlocale(LC_CTYPE,NULL). Don't return NULL.
97042         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97043
97044 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97045
97046         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97047         support for DOS/DJGPP.
97048
97049 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97050
97051         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97052         lacks mkstemp.  Compile our own tempname.c if we compile our own
97053         mkstemp.c, as mkstemp relies on tempname.
97054
97055 2001-03-01  Jim Meyering  <meyering@lucent.com>
97056
97057         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97058         AH_VERBATIM really does output its argument verbatim.
97059
97060 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97061
97062         * lib/Makefile.am (libfetish_a_SOURCES):
97063         Add dup-safer.c, fopen-safer.c.
97064         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97065
97066         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97067         * lib/unistd-safer.h: New files.
97068
97069 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97070
97071         The mkstemp replacement is taken from glibc 2.2.2, with some
97072         portability fixes for use outside glibc, as follows:
97073
97074         * lib/tempname.c (struct_stat64): New macro.
97075         (direxists, __gen_tempname): Use it.
97076         This avoids a portability problem with Solaris 8.
97077
97078         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97079         (<stddef.h>, <stdint.h>, <string.h>):
97080         Include only if STDC_HEADERS || _LIBC.
97081         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97082         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97083         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97084         (__set_errno): Define this macro if <errno.h> doesn't.
97085         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97086         Define these macros if <stdio.h> doesn't.
97087         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97088         Define these macros if <sys/stat.h>
97089         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97090         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97091         __xstat64): Define if not _LIBC.
97092         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97093         (__gen_tempname): Invoke gettimeofday only if
97094         HAVE_GETTIMEOFDAY || _LIBC;
97095         otherwise, fall back on plain "time".
97096         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97097
97098         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97099
97100         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97101
97102 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97103
97104         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97105
97106 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97107
97108         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97109         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97110         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97111         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97112
97113 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97114
97115         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97116         Remove workaround macros for hosts that have mbrtowc but not
97117         mbstate_t, as we now insist on proper declarations for both
97118         before using mbrtowc.
97119
97120 2001-02-17  Jim Meyering  <meyering@lucent.com>
97121
97122         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97123         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97124         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97125         UnixWare 7.1.1.
97126
97127         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97128         rather than AC_CACHE_VAL.
97129
97130 2001-02-17  Jim Meyering  <meyering@lucent.com>
97131
97132         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97133         around included file name.
97134
97135         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97136
97137         * lib/strftime.c: Update from GNU libc (the only changes were to
97138         comments).
97139
97140 2001-02-17  Jim Meyering  <meyering@lucent.com>
97141
97142         * lib/regex.c: Update from libc.
97143
97144 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97145
97146         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97147         clash.
97148
97149 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97150
97151         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97152         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97153         Reported by Mark Hounschell via Paul Eggert.
97154
97155 2001-02-07  Jim Meyering  <meyering@lucent.com>
97156
97157         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97158
97159 2001-02-05  Jim Meyering  <meyering@lucent.com>
97160
97161         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97162         it includes the patch required for `large file' support with at least
97163         HP-UX's 10.20 /bin/cc.
97164
97165 2001-02-03  Jim Meyering  <meyering@lucent.com>
97166
97167         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97168         AS_IF, now that it works once again (mysteriously).
97169         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97170
97171 2001-01-30  Jim Meyering  <meyering@lucent.com>
97172
97173         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97174         * m4/chown.m4: Rename conftestchown to conftest.chown.
97175         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97176         s/conftestdir2/conftest.d2/.
97177         * m4/utimes.m4: s/conftestdata/conftest.data/
97178         Inspired by Pavel Roskin's change in autoconf.
97179
97180 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97181
97182         * lib/config.charset: Update for FreeBSD 4.2.
97183
97184 2001-01-27  Jim Meyering  <meyering@lucent.com>
97185
97186         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97187         a use of AS_IF.
97188         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97189
97190 2001-01-26  Jim Meyering  <meyering@lucent.com>
97191
97192         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97193         quotearg.c includes it.
97194
97195 2001-01-26  Jim Meyering  <meyering@lucent.com>
97196
97197         * lib/quotearg.c: Include stddef.h.
97198         * lib/quote.c: Include stddef.h.
97199         Reported by Axel Kittenberger.
97200
97201         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97202         line in double quotes so that it evokes a better diagnostic.
97203         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97204         Reported by Axel Kittenberger.
97205
97206 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97207
97208         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97209         as if it was a `charset'.
97210
97211 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97212
97213         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97214         has const.
97215
97216 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97217
97218         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97219         to avoid a warning.  Add back 'const' to inptr.
97220
97221 2001-01-20  Jim Meyering  <meyering@lucent.com>
97222
97223         Be sure that headers are checked before used in code compiled
97224         for the type checks.
97225         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97226         In place of that, invoke jm_CHECK_ALL_TYPES.
97227         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97228         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97229         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97230         The check for ssize_t was mistakenly run before the test for unistd.h.
97231
97232         The configure-time check for stdbool.h was missing.
97233         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97234         (jm_PREREQ_HASH): New function.
97235
97236 2001-01-17  Jim Meyering  <meyering@lucent.com>
97237
97238         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97239         for autoconf-2.49c.
97240         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97241
97242 2001-01-16  Jim Meyering  <meyering@lucent.com>
97243
97244         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97245         From Bruno Haible.
97246
97247 2001-01-14  Jim Meyering  <meyering@lucent.com>
97248
97249         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97250         foo and bar.  Create conftestdir/ in the script, not in the C code.
97251         Remove directories in the script, not in the C code.
97252         Remove conftestdir{,2} before trying to create the directory.
97253         Make the entire configure script fail if the mkdir fails.
97254
97255 2001-01-14  Jim Meyering  <meyering@lucent.com>
97256
97257         * lib/rename.c: New file.  From Volker Borchert.
97258         Include stdlib.h, string.h or strings.h, and xalloc.h.
97259         Use strip_trailing_slashes rather than open-coding it.
97260
97261 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97262
97263         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97264
97265 2001-01-03  Jim Meyering  <meyering@lucent.com>
97266
97267         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97268         of local `inptr' to avoid warning with some system declarations of
97269         iconv.
97270
97271 2001-01-02  Volker Borchert  <bt@teknon.de>
97272
97273         * m4/rename.m4: New file.
97274         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97275
97276 2001-01-01  Jim Meyering  <meyering@lucent.com>
97277
97278         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97279         even on systems with utmpx.h.  It's necessary for the declaration of
97280         utmp's ut_user member.  Reported by Andreas Jaeger.
97281
97282         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97283         available. They are required for the declarations of getgrgid and
97284         getpwuid resp.
97285         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97286         Reported by Andreas Jaeger.
97287
97288 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97289
97290         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97291         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97292         so `make install' also works in VPATH builds.
97293
97294 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97295
97296         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97297         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97298         can be used in subdirectories.
97299
97300 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97301
97302         * lib/modechange.c: Do not assume that mode_t uses the
97303         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97304         the other-execute bit of FOO even if S_IXOTH != 1.
97305
97306         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97307         WOTH, XOTH, ALLM): New macros.
97308         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97309          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97310         Use them.
97311         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97312         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97313         (mode_compile):
97314         No need to use uintmax_t; unsigned long is long enough.
97315         Don't bother to get suffix since we don't use it.
97316
97317 2000-12-26  Jim Meyering  <meyering@lucent.com>
97318
97319         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97320         better with autoheader.
97321
97322 2000-12-24  Jim Meyering  <meyering@lucent.com>
97323
97324         * lib/hash.c (is_prime): Return explicit boolean values.
97325         (hash_get_first): Return NULL to appease Irix5.6's 89.
97326         Reported by Nelson Beebe.
97327
97328 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97329
97330         * lib/localcharset.c (locale_charset): Add support for Win32.
97331
97332 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97333
97334         * lib/physmem.h, lib/physmem.c: New files.
97335
97336         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97337         (noinst_HEADERS): Add physmem.h.
97338
97339         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97340         't' for compatibility with Solaris 8 sort.
97341
97342 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97343
97344         * lib/config.charset: Add support for BeOS.
97345
97346 2000-12-17  Jim Meyering  <meyering@lucent.com>
97347
97348         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97349         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97350
97351 2000-12-16  Jim Meyering  <meyering@lucent.com>
97352
97353         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97354         N and M) would have treated it like `chown N:N FILE'.
97355
97356         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97357
97358 2000-12-16  Jim Meyering  <meyering@lucent.com>
97359
97360         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97361         SHELLS_FILE to a file name that's useful on djgpp systems.
97362         Include stdlib.h.
97363         (ADDITIONAL_DEFAULT_SHELLS): Define.
97364         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97365         Based mostly on a patch from Prashant TR.
97366
97367 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97368
97369         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97370         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97371         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97372
97373 2000-12-08  Andreas Schwab  <schwab@suse.de>
97374
97375         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97376         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97377
97378 2000-12-07  Jim Meyering  <meyering@lucent.com>
97379
97380         * lib/stripslash.c (ISSLASH): Define.
97381         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97382         `/'.
97383         From Prashant TR.
97384
97385         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97386         (dir_name_r): Declare this function as static.
97387         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97388         manifest itself on a name containing a mix of slashes and
97389         backslashes.
97390         Make this function work with names starting with a DOS-style
97391         drive letter and colon prefix.
97392         (dir_name): Append `.' if necessary.
97393         Based mostly on patches from Prashant TR and Eli Zaretskii.
97394
97395         * lib/dirname.h (dir_name_r): Remove prototype.
97396
97397 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97398
97399         * m4/off_t-format.m4: Remove this file.
97400         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97401
97402 2000-12-06  Jim Meyering  <meyering@lucent.com>
97403
97404         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97405         replacement strtoull, we may well need the replacement strtoul, too.
97406         Check for declarations of strtoul and strtoull.
97407         Check for strtol.  Mainly as a cue to cause automake to include
97408         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97409         Check for limits.h -- strtol.c needs it.
97410
97411 2000-12-05  Jim Meyering  <meyering@lucent.com>
97412
97413         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97414
97415 2000-12-04  Jim Meyering  <meyering@lucent.com>
97416
97417         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97418         Also include memory.h, stdlib.h, unistd.h if appropriate.
97419         Reported by Andreas Jaeger (conflicting declaration of malloc).
97420
97421 2000-12-02  Jim Meyering  <meyering@lucent.com>
97422
97423         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97424         * m4/jm-macros.m4 (jm_MACROS): require it.
97425
97426 2000-12-02  Jim Meyering  <meyering@lucent.com>
97427
97428         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97429
97430 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97431
97432         * lib/memrchr.c: Include <config.h> before any system include file.
97433
97434 2000-11-30  Jim Meyering  <meyering@lucent.com>
97435
97436         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97437
97438 2000-11-30  Jim Meyering  <meyering@lucent.com>
97439
97440         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97441
97442 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97443
97444         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97445
97446 2000-11-26  Jim Meyering  <meyering@lucent.com>
97447
97448         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97449
97450 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97451
97452         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97453         size of (size_t) -1; it's not portable.
97454
97455 2000-11-17  Jim Meyering  <meyering@lucent.com>
97456
97457         * lib/strstr.c: Update from GNU libc.
97458
97459 2000-11-17  Akim Demaille  <akim@epita.fr>
97460
97461         * lib/obstack.h: Formatting changes.
97462         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97463         prevent type checking.
97464         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97465         cast the value to (void *): assigning a `foo *' to a `void *'
97466         variable is valid.
97467         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97468
97469 2000-11-16  Jim Meyering  <meyering@lucent.com>
97470
97471         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97472
97473 2000-11-11  Jim Meyering  <meyering@lucent.com>
97474
97475         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97476
97477 2000-11-10  Jim Meyering  <meyering@lucent.com>
97478
97479         * lib/obstack.h: Update from GNU libc.
97480         * lib/obstack.c: Likewise.
97481
97482 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97483
97484         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97485
97486 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97487
97488         * lib/getusershell.c (setusershell): Use rewind rather than
97489         fseek/fseeko, to avoid configuration hassles with fseeko.
97490         Don't bother opening SHELLS_FILE if shellstream is NULL;
97491         it's not necessary.
97492
97493 2000-11-05  Jim Meyering  <meyering@lucent.com>
97494
97495         * lib/makepath.h (make_dir): Declare.
97496         * lib/makepath.c (make_dir): Remove `static' attribute.
97497         Tweak a comment.
97498
97499 2000-11-04  Jim Meyering  <meyering@lucent.com>
97500
97501         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97502
97503 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97504
97505         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97506         last one in a bucket, advance to the next bucket.
97507
97508 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97509
97510         * lib/fnmatch.c: Do not comment out all the code if we are using
97511         the GNU C library, because in some cases we are replacing buggy
97512         code in the GNU C library itself.
97513
97514 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97515
97516         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97517         (regex_compile): Catch bogus \(\1\).
97518
97519 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97520
97521         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97522         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97523         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97524
97525 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97526
97527         * lib/error.h, getline.h, modechange.h:
97528         Remove "2000" from Copyright line, as the file hasn't been
97529         changed this year other than in the copyright notice.
97530
97531         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97532         was changed this year.
97533
97534 2000-10-29  Jim Meyering  <meyering@lucent.com>
97535
97536         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97537         renaming.
97538         * m4/ls-mntd-fs.m4: Likewise
97539
97540 2000-10-29  Jim Meyering  <meyering@lucent.com>
97541
97542         * lib/xstat.in: Fix grammar in comment.
97543
97544 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97545
97546         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97547         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97548         doesn't define __restrict_arr.
97549
97550 2000-10-28  Jim Meyering  <meyering@lucent.com>
97551
97552         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97553         (jm_PREREQ_MEMCHR): New function.
97554
97555 2000-10-28  Jim Meyering  <meyering@lucent.com>
97556
97557         * lib/memchr.c: Update from libc.
97558         Adjust for portability:
97559         [HAVE_STDLIB_H]: Include stdlib.h.
97560         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97561         Undef __memchr, too.
97562         [!weak_alias]: Define __memchr to memchr.
97563
97564         * lib/regex.c: Update from libc.
97565         * lib/regex.h: Likewise.
97566         * lib/getopt1.c: Likewise.
97567         * lib/memcmp.c: Likewise.
97568
97569         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97570         Avoid using fseek, when possible -- it's broken by design.
97571         Patch by Ulrich Drepper.
97572
97573 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97574
97575         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97576         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97577         Giving in to popular pressure to shut up the compiler with casts.
97578
97579 2000-10-26  Jim Meyering  <meyering@lucent.com>
97580
97581         * lib/strftime.c: Update from libc.
97582
97583 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97584
97585         * regex.c: More `unsigned char' -> `re_char' changes.
97586         Also change several `int' into `re_wchar_t'.
97587         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97588         (PUSH_FAILURE_POINTER): Don't cast any more.
97589         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97590         We want GCC to complain, since this piece of code makes
97591         re_match non-reentrant, which *should* be fixed.
97592         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97593         (EXTEND_BUFFER): Use RETALLOC.
97594         (SET_LIST_BIT): Don't cast.
97595         (re_wchar_t): New type.
97596         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97597         that those two functions will always properly return.
97598         (IMMEDIATE_QUIT_CHECK): Cast to void.
97599         (analyse_first): Use recursion rather than an explicit stack.
97600         (re_compile_fastmap): Can't fail anymore.
97601         (re_search_2): Don't check re_compile_fastmap for failure.
97602         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97603         Now also sets the new value (passed in a new argument).
97604         (re_match_2_internal): Use it.
97605         Also, use a new var `reg' of type size_t when looping through regs
97606         rather than reuse the inappropriate `mcnt'.
97607
97608 2000-10-25  Jim Meyering  <meyering@lucent.com>
97609
97610         * lib/obstack.c: Update from libc.
97611
97612 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97613
97614         * regex.c (regex_compile): Change the way of handling a range from
97615         a char less than 256 to a char not less than 256.
97616
97617 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97618
97619         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97620         NT-Emacs only.
97621         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97622         so that re_search functions only quit when callers expect them to.
97623
97624 2000-10-23  Jim Meyering  <meyering@lucent.com>
97625
97626         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97627         wrong.  That set_locale call must not have any side effects.
97628         From Paul Eggert.
97629
97630 2000-10-22  Jim Meyering  <meyering@lucent.com>
97631
97632         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97633         [CYCLIC]: Remove now-unused definition.
97634
97635         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97636         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97637         Suggestion from Ulrich Drepper.
97638
97639 2000-10-21  Jim Meyering  <meyering@lucent.com>
97640
97641         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97642         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97643         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97644
97645 2000-10-21  Jim Meyering  <meyering@lucent.com>
97646
97647         * lib/dirname.c (memrchr): Declare if necessary.
97648         (dir_name): Remove the restriction that there be no
97649         trailing slashes.  Now, this code skips past them, effectively
97650         ignoring them.
97651         [TEST_DIRNAME] (main): New unit tests.
97652
97653         * lib/memrchr.c: New file from GNU libc.
97654         Undef __memrchr, too.
97655         [!weak_alias]: Define __memrchr to memrchr.
97656         Guard weak_alias use with `#ifdef weak_alias'.
97657
97658 2000-10-21  Jim Meyering  <meyering@lucent.com>
97659
97660         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97661         (dir_name): Use dir_name_r.
97662         * lib/dirname.h (dir_name_r): Declare it.
97663
97664 2000-10-17  Jim Meyering  <meyering@lucent.com>
97665
97666         * lib/quote.h (PARAMS): Define and use.
97667         Reported by Akim Demaille.
97668
97669         * lib/getopt.c: Update from libc.
97670
97671 2000-10-16  Jim Meyering  <meyering@lucent.com>
97672
97673         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97674         setlocale.
97675         From Jan Fedak.
97676
97677 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97678
97679         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97680
97681 2000-09-25  Jim Meyering  <meyering@lucent.com>
97682
97683         * lib/md5.h (rol): Define (from GnuPG).
97684
97685         * lib/sha.c: Give credit (GnuPG) where due.
97686         (M): Use rol rather than open-coding it.
97687         Add a FIXME comment.
97688
97689 2000-09-21  Jim Meyering  <meyering@lucent.com>
97690
97691         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97692         Reported by Michael Stone.
97693
97694 2000-09-20  Jim Meyering  <meyering@lucent.com>
97695
97696         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97697         (noinst_HEADERS): Add sha.h.
97698         Based on code from Scott G. Miller and from GnuPG.
97699
97700 2000-09-18  Jim Meyering  <meyering@lucent.com>
97701
97702         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97703         LIBS. Otherwise, everyone ends up linking with -lelf for some
97704         configurations.
97705         Reported by Mike Stone.
97706
97707 2000-09-15  Jim Meyering  <meyering@lucent.com>
97708
97709         * lib/regex.c: Update from libc.
97710
97711 2000-09-10  Jim Meyering  <meyering@lucent.com>
97712
97713         * lib/getopt.c (_getopt_internal): Update from glibc.
97714
97715 2000-09-09  Jim Meyering  <meyering@lucent.com>
97716
97717         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97718         think it should be used as a general replacement for isascii.
97719         * lib/fnmatch.c: Likewise.
97720         * lib/mbswidth.c: Likewise
97721         * lib/regex.c: Likewise.
97722
97723         Don't use atoi.
97724         * lib/userspec.c: Include sys/param.h and limits.h.
97725         Include xstrtol.h.
97726         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97727         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97728         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97729         UID, GID.  Check range.
97730
97731 2000-09-06  Jim Meyering  <meyering@lucent.com>
97732
97733         * lib/getopt.c (_getopt_internal): Update from glibc.
97734
97735 2000-08-30  Jim Meyering  <meyering@lucent.com>
97736
97737         * lib/strftime.c: Merge in changes from GNU libc.
97738
97739 2000-08-26  Jim Meyering  <meyering@lucent.com>
97740
97741         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97742         * m4/fpending.m4: New file.
97743
97744 2000-08-26  Jim Meyering  <meyering@lucent.com>
97745
97746         * lib/closeout.c: Include "__fpending.h".
97747         (close_stdout_status): Return right away if there's nothing to flush.
97748
97749         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97750         * lib/__fpending.c: New file.
97751         * lib/__fpending.h: New file.
97752
97753 2000-08-20  Jim Meyering  <meyering@lucent.com>
97754
97755         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97756         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97757         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97758
97759 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97760
97761         Improve fileutils installation on systems where running
97762         programs (like install) can't be unlinked.
97763         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97764         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97765
97766 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97767
97768         Standardize on "memory exhausted" instead of "Memory exhausted"
97769         or "virtual memory exhausted".
97770         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97771         "virtual memory exhausted".
97772         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97773         our own message.
97774         * lib/userspec.c (parse_user_spec): Likewise.
97775         * lib/bumpalloc.h: comment fix
97776         * lib/same.c, userspec.c: Include xalloc.h.
97777
97778         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97779         not char *const and pointing to a constant array.
97780         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97781         (xrealloc): Comment fix.
97782
97783         * lib/userspec.c (parse_user_spec):
97784         Don't translate a message until just before returning,
97785         to avoid unnecessary translation.
97786
97787 2000-08-07  Jim Meyering  <meyering@lucent.com>
97788
97789         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97790         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97791         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97792         getgroups.c, gethostname.c, getopt.h, group-member.c,
97793         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97794         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97795         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97796         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97797         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97798         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97799         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97800         yesno.c: Back out Copyright date changes for each file with no change
97801         this year.  This eases coordination with other programs using the same
97802         source code modules.  From Paul Eggert.
97803
97804 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97805
97806         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97807         not char, for compatibility with glibc 2.1.3 strftime.c.
97808
97809 2000-08-03  Greg McGary  <greg@mcgary.org>
97810
97811         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97812         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97813         (EXTEND_BUFFER): Use them.
97814
97815 2000-08-01  Jim Meyering  <meyering@lucent.com>
97816
97817         * lib/dirname.c (ISSLASH): Define.
97818         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97819         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97820         both `\' and `/' may be use as path separators.
97821         Based on a patch from Prashant TR.
97822
97823 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97824
97825         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97826         slot vector a constant, since it might get modified.
97827
97828 2000-07-31  Jim Meyering  <meyering@lucent.com>
97829
97830         * lib/xmalloc.c: Use `virtual memory exhausted', not
97831         `Memory exhausted'.
97832         * lib/obstack.c (print_and_abort): Likewise.
97833
97834 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97835
97836         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97837         buffer, so that the caller can always quote one small
97838         component of a "memory exhausted" message in slot 0.
97839         From a suggestion by Jim Meyering.
97840
97841 2000-07-30  Jim Meyering  <meyering@lucent.com>
97842
97843         * lib/makepath.c (make_path): Quote the other instance, too.
97844
97845         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97846         (STATIC_BUF_SIZE): Define.
97847         (quotearg_n_options): Use only statically allocated storage when
97848         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97849         than STATIC_BUF_SIZE.
97850
97851 2000-07-29  Jim Meyering  <meyering@lucent.com>
97852
97853         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97854         * lib/dirname.c (dir_name): Likewise.
97855
97856         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97857         `/'.
97858
97859         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97860         (dir_name): Assert that there are no trailing slashes.
97861
97862 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97863
97864         * lib/mbswidth.h (mbswidth): Add a flags argument.
97865         (mbswidth): New declaration.
97866         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97867         * lib/mbswidth.c (mbswidth): Add a flags argument.
97868         (mbsnwidth): New function.
97869
97870 2000-07-24  Jim Meyering  <meyering@lucent.com>
97871
97872         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97873
97874 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97875
97876         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97877
97878 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97879
97880         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97881         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97882         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97883         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97884         invoke multibyte primitives.
97885
97886 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97887
97888         * lib/quotearg.c:
97889         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97890         so that mbstate_t is always defined.
97891
97892         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97893         be 1 in at least one GCC installation, and this configuration
97894         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97895         performance on hosts that have mbrtowc but have only unibyte
97896         locales, but I assume these hosts are rare.
97897
97898 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97899
97900         * lib/mbswidth.c (_XOPEN_SOURCE):
97901         Don't define; this causes problems on Solaris 7.
97902         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97903
97904 2000-07-23  Jim Meyering  <meyering@lucent.com>
97905
97906         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97907         too: getgrgid, getpwuid, getuid.
97908
97909 2000-07-23  Jim Meyering  <meyering@lucent.com>
97910
97911         * lib/basename.c (base_name): Add an assertion.
97912
97913 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97914
97915         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97916         shadow its mbsinit function.
97917
97918 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97919
97920         * lib/mbswidth.h: New file.
97921         * lib/mbswidth.c: New file.
97922         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97923         (noinst_HEADERS): Add mbswidth.h.
97924
97925 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97926
97927         * lib/config.charset: Add support for FreeBSD. Improve support for
97928         HP-UX and IRIX 6.
97929
97930 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97931
97932         * m4/mbswidth.m4: New file.
97933         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97934
97935 2000-07-15  Jim Meyering  <meyering@lucent.com>
97936
97937         * lib/makepath.c: Include quote.h.
97938         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97939         corresponding argument in a `quote (...)' call.
97940         Give better diagnostics.
97941
97942         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97943         (noinst_HEADERS): Add quote.h.
97944
97945         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97946         from tar's src/misc.c.
97947         * lib/quote.h: New file.  Prototypes for same.
97948
97949 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97950
97951         From a suggestion by Bruno Haible.
97952         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97953         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97954         to decide whether to define the BeOS workaround macro;
97955         this adjusts to the change to AC_MBSTATE_T.
97956
97957 2000-07-14  Jim Meyering  <meyering@lucent.com>
97958
97959         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97960         jm_AC_TYPE_UINTMAX_T.
97961
97962 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97963
97964         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97965
97966         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97967         quotearg_buffer_restyled): Add support for
97968         clocale_quoting_style.  Undo previous change to
97969         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97970         and "{RIGHT QUOTATION MARK}" msgids.
97971
97972 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97973
97974         From a suggestion by Bruno Haible.
97975         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97976         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97977         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97978         and mbstate_t, to a single-part test that simply defines mbstate_t.
97979         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97980         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97981
97982 2000-07-10  Jim Meyering  <meyering@lucent.com>
97983
97984         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97985
97986         * m4/gnu-source.m4: Output to confdefs.h directly.
97987         Suggestion from Akim Demaille.
97988
97989 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97990
97991         The old behavior of quoting `like this' doesn't look good with
97992         newer, ISO-style fonts.  See:
97993         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97994
97995         Instead, quote "like this" by default.  Let the translator
97996         tailor the locale-specific quoting behavior by providing
97997         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97998
97999         * lib/quotearg.c (N_): New macro.
98000         (gettext_default): New function.
98001         (quotearg_buffer_restyled): Use
98002         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98003         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98004
98005 2000-07-09  Jim Meyering  <meyering@lucent.com>
98006
98007         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98008         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98009
98010         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98011         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98012
98013 2000-07-09  Jim Meyering  <meyering@lucent.com>
98014
98015         * lib/Most files: Update copyright dates to include 2000.
98016
98017 2000-07-08  Jim Meyering  <meyering@lucent.com>
98018
98019         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98020         if not defined.
98021         (xgethostname): Remove now-unnecessary #ifdef.
98022         Move declaration of `err' into loop where it's used.
98023
98024 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98025         and Bruno Haible  <haible@clisp.cons.org>
98026
98027         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98028         only if the test for an object-type mbstate_t fails.  This
98029         prevents us from mistakenly reporting that mbstate_t is a
98030         system object type after we "#define mbstate_t int" to work
98031         around its lack.
98032
98033 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98034         and Bruno Haible  <haible@clisp.cons.org>
98035
98036         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98037
98038 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98039
98040         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98041         to strerror_r.
98042         Include <ctype.h> for use of isalpha.
98043
98044 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98045
98046         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98047         by allocating a larger buffer. Test the gethostname return value for
98048         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98049         returns an error and ENAMETOOLONG isn't defined.
98050
98051 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98052
98053         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98054         dimension.
98055
98056 2000-07-04  Jim Meyering  <meyering@lucent.com>
98057
98058         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98059         of the deprecated AC_CHECKING.
98060
98061 2000-07-04  Jim Meyering  <meyering@lucent.com>
98062
98063         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98064         Reported by Bruno Haible.
98065
98066 2000-07-04  Jim Meyering  <meyering@lucent.com>
98067
98068         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98069         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98070         lacks mbrtowc.
98071
98072 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98073
98074         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98075         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98076
98077 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98078         and Bruno Haible  <haible@clisp.cons.org>
98079
98080         * lib/quotearg.c (mbrtowc):
98081         Assign to *pwc, and return 1 only if result is nonzero.
98082         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98083
98084 2000-07-03  Jim Meyering  <meyering@lucent.com>
98085
98086         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98087
98088 2000-07-03  Jim Meyering  <meyering@lucent.com>
98089
98090         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98091         This is necessary to get a definition of e.g., UTMP_FILE on
98092         HP-UX 10.20.
98093         From Bob Proulx.
98094
98095 2000-07-02  Jim Meyering  <meyering@lucent.com>
98096
98097         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98098
98099         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98100         AC_LIBOBJ(function_name).
98101         * m4/chown.m4: Likewise.
98102         * m4/fnmatch.m4: Likewise.
98103         * m4/ftruncate.m4: Likewise.
98104         * m4/getgroups.m4: Likewise.
98105         * m4/getline.m4: Likewise.
98106         * m4/group-member.m4: Likewise.
98107         * m4/jm-macros.m4: Likewise.
98108         * m4/lstat.m4: Likewise.
98109         * m4/malloc.m4: Likewise.
98110         * m4/memcmp.m4: Likewise.
98111         * m4/nanosleep.m4: Likewise.
98112         * m4/putenv.m4: Likewise.
98113         * m4/realloc.m4: Likewise.
98114         * m4/regex.m4: Likewise.
98115         * m4/stat.m4: Likewise.
98116         * m4/strftime.m4: Likewise.
98117
98118 2000-07-02  Jim Meyering  <meyering@lucent.com>
98119
98120         * lib/quotearg.c (mbstate_t): Don't define here.
98121
98122 2000-07-02  Jim Meyering  <meyering@lucent.com>
98123
98124         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98125
98126 2000-07-01  Jim Meyering  <meyering@lucent.com>
98127
98128         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98129
98130 2000-07-01  Jim Meyering  <meyering@lucent.com>
98131
98132         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98133         problem.
98134
98135 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98136
98137         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98138         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98139
98140 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98141
98142         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98143         per change in ../m4/ls-mntd-fs.m4.
98144         (read_filesystem_list): Ignore symbolic links.
98145
98146 2000-06-29  Jim Meyering  <meyering@lucent.com>
98147
98148         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98149         for declaration of strcmp.
98150
98151         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98152
98153         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98154         Avoid warning by casting result to `char *' to remove `const'.
98155
98156 2000-06-28  Jim Meyering  <meyering@lucent.com>
98157
98158         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98159         included by quotearg.c, for which we perform this test.  From
98160         Bruno Haible.
98161
98162 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98163
98164         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98165         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98166         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98167
98168 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98169
98170         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98171
98172 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98173
98174         savedir now sets errno on failure and invokes xmalloc to get memory.
98175         Fix a couple of other minor bugs while we're at it.
98176
98177         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98178         (NAMLEN): Remove macro.
98179         (malloc, realloc): Remove decls.
98180         (stpcpy): Likewise.
98181         ("xalloc.h"): Include.
98182         (NAME_SIZE_DEFAULT): New macro.
98183         (savedir): Use xmalloc / xrealloc to allocate memory.
98184         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98185         Skip "" directory entries.
98186         Use strlen to calculate directory entry length, since the old method
98187         is rarely used these days and isn't worth supporting.
98188         Don't use a pointer after freeing it.
98189         Check for integer overflow when calculating allocation size.
98190         Use memcpy to copy entries, instead of stpcpy.
98191         Set errno properly when returning NULL.
98192         Check for readdir error.
98193
98194 2000-06-26  Jim Meyering  <meyering@lucent.com>
98195
98196         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98197
98198 2000-06-25  Jim Meyering  <meyering@lucent.com>
98199
98200         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98201         Linux header bug when _XOPEN_SOURCE is defined to 500.
98202
98203 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98204
98205         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98206         deficiency.
98207
98208 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98209
98210         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98211         Include xalloc.h.
98212         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98213
98214 2000-06-24  Jim Meyering  <meyering@lucent.com>
98215
98216         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98217         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98218         for which strerror does return char*, but which lacks a conveniently
98219         accessible declaration of the function.  If the compile-test says
98220         strerror_r doesn't work, then resort to a `run'-test that works on
98221         BeOS and segfaults on DEC Unix.
98222
98223 2000-06-24  Jim Meyering  <meyering@lucent.com>
98224
98225         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98226
98227 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98228
98229         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98230         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98231
98232 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98233
98234         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98235         (mbrtowc, mbstate_t): Define substitutes if
98236         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98237         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98238         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98239
98240 2000-06-23  Jim Meyering  <meyering@lucent.com>
98241
98242         * m4/afs.m4: Add missing AC_MSG_RESULT.
98243         Reported by Bruno Haible.
98244
98245         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98246         Suggestion from Bruno Haible.
98247
98248 2000-06-23  Jim Meyering  <meyering@lucent.com>
98249
98250         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98251
98252 2000-06-21  Jim Meyering  <meyering@lucent.com>
98253
98254         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98255
98256 2000-06-21  Jim Meyering  <meyering@lucent.com>
98257
98258         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98259         (noinst_HEADERS): Add getstr.h.
98260
98261         * lib/getline.c (getstr): Move into a separate file.
98262         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98263         the following changes: new parameter, delim2; both delim[12]
98264         parameters have type `int', not `char'.  The latter would lose
98265         with 8-bit delimiters.
98266         * lib/getstr.h: New file.
98267
98268 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98269
98270         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98271         than 1024, return a memory chunk of least possible size, instead
98272         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98273         Use free/xmalloc instead of xrealloc to avoid copying for very long
98274         paths.
98275
98276 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98277
98278         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98279         the empty string.
98280
98281 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98282
98283         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98284         address, not strdup.  Include <stdlib.h> and don't declare free().
98285
98286 2000-06-19  Jim Meyering  <meyering@lucent.com>
98287
98288         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98289
98290 2000-06-18  Jim Meyering  <meyering@lucent.com>
98291
98292         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98293
98294         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98295         `checking whether...' message to be consistent with that of the
98296         lstat test.
98297
98298 2000-06-18  Jim Meyering  <meyering@lucent.com>
98299
98300         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98301         Besides, these days every porting target provides a mkdir function.
98302
98303         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98304         needed. (this snippet comes from src/system.h).
98305
98306 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98307
98308         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98309
98310 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98311
98312         * lib/human.c (adjust_value): New function.
98313         (human_readable_inexact): Apply rounding style even when
98314         printing approximate values.
98315
98316 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98317
98318         * lib/human.c (human_readable_inexact): Allow an input block
98319         size that is not a multiple of the output block size, and vice versa.
98320         Reported by Piergiorgio Sartor.
98321
98322 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98323
98324         * lib/getdate.y (get_date): Apply relative times after time
98325         zone indicator, not before.  Reported by Todd A. Jacobs.
98326
98327 2000-06-13  Jim Meyering  <meyering@lucent.com>
98328
98329         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98330
98331         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98332
98333 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98334
98335         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98336
98337 2000-06-12  Jim Meyering  <meyering@lucent.com>
98338
98339         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98340         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98341         optional argument.
98342         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98343         the optional argument, `lib'.
98344
98345 2000-06-08  Jim Meyering  <meyering@lucent.com>
98346
98347         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98348
98349 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98350
98351         Rewrite largefile configuration so that we don't need to run
98352         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98353         AC_CANONICAL_HOST in configure.in -- jmm]
98354
98355         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98356         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98357         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98358         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98359         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98360         All uses changed.
98361         Instead of inspecting the output of getconf, try to compile the
98362         test program without and with the macro definition.
98363         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98364         for getconf.  Instead, check for the needed flags by compiling
98365         test programs.
98366
98367 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98368
98369         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98370
98371 2000-06-04  Jim Meyering  <meyering@lucent.com>
98372
98373         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98374         SunOS 4.1.4 for which gid_t is an unsigned type.
98375
98376 2000-06-03  Jim Meyering  <meyering@lucent.com>
98377
98378         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98379         now that autoconf requires that.
98380
98381         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98382         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98383         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98384
98385 2000-06-03  Jim Meyering  <meyering@lucent.com>
98386
98387         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98388
98389 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98390
98391         * m4/glibc21.m4: New file.
98392         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98393
98394 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98395
98396         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98397         newer, don't install charset.alias.
98398         * lib/config.charset: Change the Linux/glibc rules so they become empty
98399         on glibc-2.1 or newer.
98400
98401 2000-06-02  Jim Meyering  <meyering@lucent.com>
98402
98403         * lib/mountlist.c: Back out last change.  Instead, do this...
98404         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98405         me_dummy member using the same `ignore'-testing code.
98406         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98407         fs_type strings.
98408         From Mark D. Roth.
98409
98410 2000-05-29  Jim Meyering  <meyering@lucent.com>
98411
98412         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98413         mounts with the `ignore' attribute.  Based on a patch from
98414         Mark D. Roth.
98415
98416 2000-05-28  Jim Meyering  <meyering@lucent.com>
98417
98418         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98419         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98420         * m4/stat.m4: Likewise.
98421         * m4/lstat.m4: Likewise.
98422         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98423
98424         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98425         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98426
98427 2000-05-26  Jim Meyering  <meyering@lucent.com>
98428
98429         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98430
98431 2000-05-24  Jim Meyering  <meyering@lucent.com>
98432
98433         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98434         autoconf requires that.
98435         * m4/lib-check.m4: Likewise.
98436         * m4/jm-macros.m4: Likewise.
98437         * m4/strftime.m4: Likewise.
98438
98439         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98440         AC_CHECK_DECLS, now that autoconf requires that.
98441
98442 2000-05-22  Jim Meyering  <meyering@lucent.com>
98443
98444         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98445         * m4/lstat.m4: Likewise.
98446
98447 2000-05-22  Jim Meyering  <meyering@lucent.com>
98448
98449         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98450
98451 2000-05-20  Jim Meyering  <meyering@lucent.com>
98452
98453         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98454         (jm_PREREQ): Use it.
98455
98456 2000-05-18  Jim Meyering  <meyering@lucent.com>
98457
98458         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98459         back, too, since it may have been modified by allocate_entry.
98460         (hash_delete): Rewrite to use neither the assignment operator
98461         nor the comma operator in an if-expression.
98462
98463 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98464
98465         * lib/closeout.c:
98466         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98467         Remove; no longer needed.
98468         "quotearg.h": Add include.
98469         (file_name): Do not bother to explicitly initialize to NULL; it's less
98470         efficient on some hosts.
98471         (close_stdout_status): Remove test as to whether stdout was already
98472         closed; it breaks for the case "echo x | sort >&-".
98473         Quote file name colons.
98474         Do not assume that _("write error") lacks format strings.
98475
98476 2000-05-15  Jim Meyering  <meyering@lucent.com>
98477
98478         * lib/version-etc.c (version_etc_copyright): Update the copyright
98479         string used in all --version output.
98480
98481 2000-05-14  Jim Meyering  <meyering@lucent.com>
98482
98483         * lib/closeout.c (close_stdout_set_file_name): New function.
98484         (close_stdout_status): Use new file-scoped global.
98485         Return right away if fstat says the stdout file descriptor is invalid.
98486         * lib/closeout.h (close_stdout_set_file_name): Declare.
98487
98488 2000-05-10  Jim Meyering  <meyering@lucent.com>
98489
98490         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98491         (close_stdout_set_status): New function.
98492         * lib/closeout.h (close_stdout_set_status): Declare.
98493
98494 2000-05-09  Jim Meyering  <meyering@lucent.com>
98495
98496         * m4/gettext.m4: Rename this...
98497         * m4/libintl.m4: ...to this.
98498
98499 2000-05-08  Jim Meyering  <meyering@lucent.com>
98500
98501         * lib/long-options.c: Don't include closeout.h.
98502         (parse_long_options): Don't call close_stdout for --version.
98503
98504 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98505
98506         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98507         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98508         2.1.3 bug.  This avoids a clash when files like regex.c define
98509         _GNU_SOURCE.
98510
98511 2000-05-06  Jim Meyering  <meyering@lucent.com>
98512
98513         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98514         (AC_REPLACE_FUNCS): Add strnlen.
98515
98516         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98517         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98518
98519         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98520         AC_SEARCH_LIBS call for nanosleep.
98521         (LIB_NANOSLEEP): Set and AC_SUBST.
98522
98523 2000-05-06  Jim Meyering  <meyering@lucent.com>
98524
98525         * lib/strnlen.c: Undefine __strnlen and strnlen.
98526         [!weak_alias]: Define __strnlen to strnlen.
98527
98528         * lib/atexit.c: New file, from libiberty.
98529
98530 2000-05-06  Jim Meyering  <meyering@lucent.com>
98531
98532         * lib/closeout.c (close_stdout_status): Also check for errors on the
98533         stderr stream.
98534
98535 2000-05-05  Jim Meyering  <meyering@lucent.com>
98536
98537         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98538         AC_SEARCH_LIBS call for clock_gettime.
98539         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98540
98541         * m4/search-libs.m4: Update from autoconf.
98542
98543         su doesn't work on Solaris 2.6.
98544         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98545         <shadow.h>.  Reported by Dragos Harabor.
98546
98547 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98548
98549         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98550         memcpy instead of xmalloc, xrealloc, path_concat.
98551         (locale_charset): Treat empty environment variables as absent.
98552         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98553
98554 2000-05-04  Jim Meyering  <meyering@lucent.com>
98555
98556         * lib/getopt.c: Update from glibc.
98557         * lib/obstack.c: Likewise.
98558         * lib/obstack.h: Likewise.
98559         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98560         file
98561
98562         * lib/regex.h: Likewise.
98563         * lib/strndup.c: Likewise.
98564         * lib/strnlen.c: New file, from glibc.
98565
98566 2000-05-03  Jim Meyering  <meyering@lucent.com>
98567
98568         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98569
98570 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98571
98572         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98573         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98574         compile-time test, rather than inspecting host and OS, to
98575         decide whether to define _LARGEFILE_SOURCE.
98576
98577 2000-05-01  Jim Meyering  <meyering@lucent.com>
98578
98579         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98580
98581         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98582         Based on a patch from Bruno Haible.
98583
98584 2000-05-01  Jim Meyering  <meyering@lucent.com>
98585
98586         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98587
98588 2000-04-29  Jim Meyering  <meyering@lucent.com>
98589
98590         * lib/path-concat.c: Declare strdup only if it's not defined.
98591         * lib/canon-host.c: Likewise.
98592
98593 2000-04-28  Jim Meyering  <meyering@lucent.com>
98594
98595         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98596         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98597         is included first, then limits.h is included by locale.h by libintl.h.
98598         From John David Anglin.
98599
98600 2000-04-25  Jim Meyering  <meyering@lucent.com>
98601
98602         * lib/makepath.c (S_IRWXUGO): Define.
98603         (make_path): Always perform explicit chmod if MODE specifies any
98604         of the `special' permission bits.  Prompted by a bug report against
98605         install from Mate Wierdl and Joost van Baal.
98606
98607 2000-04-18  Jim Meyering  <meyering@lucent.com>
98608
98609         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98610         (jm_PREREQ): Use it.
98611
98612 2000-04-18  Jim Meyering  <meyering@lucent.com>
98613
98614         * lib/README: New file.
98615
98616         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98617         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98618
98619 2000-04-17  Jim Meyering  <meyering@lucent.com>
98620
98621         Get it right :-)
98622         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98623         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98624         Suggestion from Akim Demaille.
98625
98626 2000-04-17  Jim Meyering  <meyering@lucent.com>
98627
98628         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98629         the definition of it to rpl_strftime also defined-away the system's
98630         declaration.
98631
98632 2000-04-15  Jim Meyering  <meyering@lucent.com>
98633
98634         Use `C' to denote so-called `contiguous' files, the same way
98635         that tar does.
98636         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98637         (ftypelet): Use S_ISCTG.
98638         From Michael Deutschmann.
98639
98640 2000-04-14  Jim Meyering  <meyering@lucent.com>
98641
98642         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98643         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98644         clobbered.
98645
98646 2000-04-14  Jim Meyering  <meyering@lucent.com>
98647
98648         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98649
98650 2000-04-13  Jim Meyering  <meyering@lucent.com>
98651
98652         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98653         AH_VERBATIM to insert required #ifndef into config.h.in.
98654         Suggestion from Akim Demaille.
98655
98656 2000-04-12  Jim Meyering  <meyering@lucent.com>
98657
98658         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98659         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98660         Christian Krackowizer.
98661
98662         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98663         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98664         (AC_SYS_LARGEFILE): Require.
98665         (AM_C_PROTOTYPES): Require.
98666
98667 2000-04-08  Jim Meyering  <meyering@lucent.com>
98668
98669         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98670         names don't conflict.  Reported by Eli Zaretskii.
98671
98672 2000-04-07  Jim Meyering  <meyering@lucent.com>
98673
98674         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98675         sys/types.h, to work around system header problems on AIX 3.2.5.
98676         From Bruno Haible.
98677
98678 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98679
98680         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98681         bug.  Deal with the different error behavior of Irix iconv.
98682
98683 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98684
98685         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98686         IRIX if the installer said otherwise.
98687
98688 2000-04-05  Jim Meyering  <meyering@lucent.com>
98689
98690         Portability tweaks required for ultrix4.3.
98691         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98692         (jm_CHECK_DECLS): Add getutent to the list of functions.
98693         (_jm_DECL_HEADERS): Add utmpx.h.
98694         From John David Anglin.
98695
98696         * m4/strftime.m4: Back out the 2000-04-02 change.
98697         Instead of that change, simply undefine putenv in the test program.
98698
98699 2000-04-05  Jim Meyering  <meyering@lucent.com>
98700
98701         Portability tweaks required for ultrix4.3.
98702         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98703         getutent.
98704         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98705         * lib/canon-host.c: Declare strdup.
98706         * lib/path-concat.c: Likewise.
98707         From John David Anglin.
98708
98709 2000-04-04  Jim Meyering  <meyering@lucent.com>
98710
98711         Be more DOS 8.3-friendly.
98712         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98713         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98714         * lib/Makefile.am: Reflect renaming.
98715         Reported by Eli Zaretskii.
98716
98717         Use a temporary file name that won't clash with `charset.alias'
98718         in the DOS 8.3 name space.
98719         * lib/Makefile.am (charset_tmp): Define.
98720         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98721         (uninstall-local): Likewise.
98722         Reported by Eli Zaretskii.
98723
98724 2000-04-03  Jim Meyering  <meyering@lucent.com>
98725
98726         * m4/gettext.m4: Fix typo in comment.
98727
98728         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98729         textutils/configure.in).  Suggestion from Paul Eggert.
98730         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98731
98732 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98733
98734         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98735         variable in the shell rather than using putenv, which isn't
98736         portable.  This avoids the configure-time inter-test dependency
98737         on the potentially-renamed putenv function.
98738
98739 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98740
98741         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98742         before checking struct stat.st_blksize, so that
98743         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98744
98745 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98746
98747         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98748         since strftime.c uses HAVE_STRFTIME to decide whether to use
98749         the underlying strftime.
98750
98751 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98752
98753         * lib/time/strftime.c (my_strftime): Make sure we call the system
98754         strftime, not ourselves, when invoking the underlying strftime.
98755
98756 2000-03-24  Jim Meyering  <meyering@lucent.com>
98757
98758         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98759         (charset_alias): Define.
98760         (install-exec-local): Factor out common code.
98761         (uninstall-local): Split lines longer than 80.
98762         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98763         (SUFFIXES): Define.
98764         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98765         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98766
98767 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98768
98769         * lib/config.charset: Output a line containing "Packages using this
98770         file".
98771         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98772         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98773         ref-del.sed): New rules.
98774
98775 2000-03-17  Jim Meyering  <meyering@lucent.com>
98776
98777         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98778         Otherwise, include <strings.h>
98779
98780 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98781
98782         * lib/unicodeio.c (utf8_wctomb): New function.
98783         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98784         format instead of in UCS-4 with platform dependent endianness.
98785
98786 2000-03-10  Jim Meyering  <meyering@lucent.com>
98787
98788         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98789         From Marco Franzen.
98790
98791 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98792
98793         * lib/savedir.c (savedir): Work even if directory size is
98794         negative; this can happen with some screwy NFS configurations.
98795
98796 2000-03-06  Jim Meyering  <meyering@lucent.com>
98797
98798         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98799         if it's NULL (because we ran out of memory).  From Bruno Haible.
98800
98801 2000-03-05  Jim Meyering  <meyering@lucent.com>
98802
98803         * lib/localcharset.c ("path-concat.h"): Include.
98804         (get_charset_aliases): Use path_concat instead of ANSI string
98805         concatenation.
98806
98807         * lib/unicodeio.h (PARAMS): Define.
98808         Use it to guard prototype.
98809
98810 2000-03-04  Jim Meyering  <meyering@lucent.com>
98811
98812         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98813         for lib/localcharset.c.
98814
98815 2000-03-04  Jim Meyering  <meyering@lucent.com>
98816
98817         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98818         installing into it.
98819         (uninstall-local): Uncomment this rule so `make distcheck' works
98820         once again.
98821
98822         * lib/unicodeio.c (<errno.h>): Include it.
98823         (errno): Declare if not defined.
98824
98825         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98826
98827         * lib/config.charset: New version, incorporating remarks from a linux
98828         i18n mailing list.  From Bruno Haible.
98829
98830 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98831
98832         * m4/codeset.m4: New file.
98833         * m4/iconv.m4: New file.
98834         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98835
98836 2000-03-03  Jim Meyering  <meyering@lucent.com>
98837
98838         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98839
98840 2000-03-02  Jim Meyering  <meyering@lucent.com>
98841
98842         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98843         the messages come out on separate lines.
98844
98845         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98846         rather than jm_CHECK_DECLARATIONS.
98847         * m4/decl.m4: Remove now-unused file.
98848
98849         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98850         geteuid.
98851
98852 2000-03-02  Jim Meyering  <meyering@lucent.com>
98853
98854         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98855
98856 2000-03-01  Jim Meyering  <meyering@lucent.com>
98857
98858         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98859         * lib/unicodeio.c: Likewise.
98860
98861 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98862
98863         * lib/config.charset: New file.
98864         * lib/localcharset.c: New file.
98865         * lib/unicodeio.h, lib/unicodeio.c: New files.
98866         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98867         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98868         (noinst_HEADERS): Add unicodeio.h.
98869         (all-local, install-exec-local, charset.alias): New targets.
98870
98871 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98872
98873         * lib/quotearg.c (ALERT_CHAR): New macro.
98874         (quotearg_buffer_restyled): Use it.
98875
98876 2000-02-27  Jim Meyering  <meyering@lucent.com>
98877
98878         * m4/check-decl.m4: Add getenv to the list.
98879
98880 2000-02-27  Jim Meyering  <meyering@lucent.com>
98881
98882         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98883         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98884
98885         * lib/backupfile.c: Guard inclusion of stdlib.h with
98886         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98887         Declare malloc if needed.
98888
98889         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98890         `#ifndef HAVE_DECL..'
98891         now that autoconf always defines the HAVE_DECL_ symbols.
98892         * lib/human.c: Likewise.
98893         * lib/same.c: Likewise.
98894         * lib/strtoumax.c: Likewise.
98895
98896         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98897         declaration check was not run.
98898         * lib/hash.c: Likewise.
98899         * lib/human.c: Likewise.
98900         * lib/same.c: Likewise.
98901         * lib/strtoumax.c: Likewise.
98902
98903         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98904         `.', then first look up the entire `.'-containing string as a login
98905         name.
98906
98907 2000-02-23  Jim Meyering  <meyering@lucent.com>
98908
98909         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98910         in place of my hack.
98911
98912 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98913
98914         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98915         (textint): New typedef.
98916         (parser_control): Member year changed from int to textint.
98917         All uses changed.
98918         (YYSTYPE): Removed; replaced by %union with int and textint members.
98919         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98920         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98921         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98922         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98923         (date, number, to_year): Use width of number in digits, not its value,
98924         to determine whether it's a 2-digit year, or a 2-digit time.
98925         (yylex): Store number of digits of numeric tokens.
98926         Reported by John Kendall.
98927
98928         (parser_control): Changed from struct parser_control to typedef (for
98929         consistency).  All uses changed.
98930
98931         (tID): Removed; not used.
98932         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98933
98934 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98935
98936         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98937         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98938
98939 2000-02-12  Jim Meyering  <meyering@lucent.com>
98940
98941         * lib/userspec.c (ISDIGIT): Define it.
98942         (isdigit): Remove definition.
98943         (is_number): Use ISDIGIT, not isdigit.
98944         <libintl.h>: Include.
98945         (_ and N_): Define.
98946         (parse_user_spec): Mark translatable strings.
98947
98948 2000-02-10  Jim Meyering  <meyering@lucent.com>
98949
98950         With these changes, nanosleep.[ch] are finally enough like the other
98951         lib/* replacement files to compile on a few more losing systems.
98952
98953         * lib/nanosleep.h: Don't include config.h.
98954         Remove prototype from declaration of nanosleep.
98955         (PARAMS): Remove now-unneeded definition.
98956         * lib/nanosleep.c: #undef nanosleep.
98957         (rpl_nanosleep): Rename from nanosleep.
98958
98959 2000-02-10  Jim Meyering  <meyering@lucent.com>
98960
98961         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98962         gnu_nanosleep to rpl_nanosleep.
98963
98964 2000-02-09  Jim Meyering  <meyering@lucent.com>
98965
98966         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98967         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98968
98969 2000-02-08  Akim Demaille  <akim@epita.fr>
98970
98971         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98972         `[' and `]' and remove uses of `changequote'.
98973         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98974         (AC_SYS_LARGEFILE): Likewise.
98975         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98976         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98977         of changequote.
98978         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98979         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98980         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98981         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98982
98983 2000-02-05  Jim Meyering  <meyering@lucent.com>
98984
98985         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98986         Remove explicit use of AC_HEADER_TIME.  It is required by
98987         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98988         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98989         in autoconf whereby the expansion of the latter ended up preceding
98990         the expansion of its prerequisite, AC_HEADER_TIME.
98991         Reported by Volker Borchert.
98992
98993 2000-02-03  Jim Meyering  <meyering@lucent.com>
98994
98995         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98996
98997 2000-02-03  Jim Meyering  <meyering@lucent.com>
98998
98999         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99000         rather than with `#if HAVE_UTMPNAME'.
99001
99002 2000-02-02  Jim Meyering  <meyering@lucent.com>
99003
99004         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99005         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99006         Reported by Eli Zaretskii.
99007
99008 2000-02-01  Jim Meyering  <meyering@lucent.com>
99009
99010         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99011
99012 2000-01-31  Jim Meyering  <meyering@lucent.com>
99013
99014         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99015         functions.  Add the time.h and sys/time.h headers along with the
99016         AC_REQUIRE'ment of AC_HEADER_TIME.
99017
99018 2000-01-31  Jim Meyering  <meyering@lucent.com>
99019
99020         * lib/nanosleep.h (nanosleep): Guard declaration with
99021         `#if ! HAVE_DECL_NANOSLEEP'.
99022         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99023         the declaration in that vendor's sys/timers.h.
99024         Reported by Christian Krackowizer.
99025
99026         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99027         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99028         (ISPRINT): Likewise.
99029         Reported by Tom Tromey.
99030
99031 2000-01-30  Jim Meyering  <meyering@lucent.com>
99032
99033         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99034
99035         * m4/prereq.m4 (utmp_includes): Define.
99036         Check for ut_user and ut_name members in both struct utmpx
99037         and struct utmp.
99038
99039 2000-01-30  Jim Meyering  <meyering@lucent.com>
99040
99041         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99042         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99043         header files where only utmpx.ut_user is declared.
99044
99045         * lib/readutmp.h (UT_USER): Define.
99046
99047 2000-01-29  Jim Meyering  <meyering@lucent.com>
99048
99049         * m4/lib-check.m4: New file containing library-related checks from
99050         fileutils and sh-utils (textutils had none).
99051
99052 2000-01-28  Jim Meyering  <meyering@lucent.com>
99053
99054         * m4/perl.m4: Change format of warning message to look more like that
99055         from the missing script.  Suggestion from François Pinard.
99056
99057 2000-01-25  Jim Meyering  <meyering@lucent.com>
99058
99059         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99060         well as time.h in the compile check.
99061         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99062         Fix typo in cross-compiling case: s/yes/no/.
99063
99064 2000-01-23  Jim Meyering  <meyering@lucent.com>
99065
99066         * m4/jm-macros.m4: Move df-related tests here from
99067         fileutils/configure.in
99068
99069         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99070         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99071
99072         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99073         s/space/ac_fsusage_space/.
99074         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99075
99076         * m4/ftruncate.m4: New file (derived from part of
99077         fileutils/configure.in).
99078         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99079         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99080
99081         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99082         AC_SUBST these here, rather than just in sh-util/configure.in, so
99083         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99084         all the same.
99085         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99086         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99087         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99088         (AC_SUBST(POW_LIBM)): Likewise.
99089         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99090
99091 2000-01-23  Jim Meyering  <meyering@lucent.com>
99092
99093         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99094         obstack.c.
99095
99096 2000-01-22  Jim Meyering  <meyering@lucent.com>
99097
99098         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99099
99100         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99101
99102         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99103         configure.in
99104         (AC_CHECK_HEADERS): Likewise for sh-utils.
99105         (AC_CHECK_HEADERS): Likewise for textutils.
99106         Merge the three lists of headers.
99107
99108         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99109         from fileutils' configure.in.
99110
99111         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99112         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99113         check-decl.m4.
99114
99115         * m4/check-decl.m4: Use #if rather than #ifdef.
99116         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99117         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99118         (_jm_DECL_HEADERS): Define new function.
99119         (jm_CHECK_DECLARATIONS): Require it.
99120
99121 2000-01-22  Jim Meyering  <meyering@lucent.com>
99122
99123         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99124         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99125         Required for some AIX systems.  Reported by Christian Krackowizer.
99126         [TESTING] (main): New function.
99127
99128         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99129         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99130         letters.
99131
99132         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99133         iswprint.
99134
99135         * lib/strverscmp.c (ISDIGIT): Define.
99136         (strverscmp): Use ISDIGIT, not isdigit.
99137
99138 2000-01-19  Jim Meyering  <meyering@lucent.com>
99139
99140         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99141         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99142         defines `struct timespec' in <sys/time.h>
99143
99144         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99145         Thanks to Akim for explaining.
99146
99147 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99148
99149         * lib/nanosleep.c (nanosleep):
99150         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99151         POSIX.1 doesn't require SA_INTERRUPT and some systems
99152         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99153         it's been part of POSIX.1 since day 1 (in 1988).
99154
99155 2000-01-17  Jim Meyering  <meyering@lucent.com>
99156
99157         * lib/interlock: Remove unused file.  Reported by François Pinard.
99158
99159 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99160
99161         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99162         alert, backslash, formfeed, and vertical tab unnecessarily in
99163         shell quoting style.
99164
99165 2000-01-16  Jim Meyering  <meyering@lucent.com>
99166
99167         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99168         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99169         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99170         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99171
99172 2000-01-16  Jim Meyering  <meyering@lucent.com>
99173
99174         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99175         because the latter didn't work.
99176
99177 2000-01-15  Jim Meyering  <meyering@lucent.com>
99178
99179         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99180         (AC_REPLACE_FUNCS): Add memcpy and memset.
99181         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99182         Add strpbrk.
99183         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99184
99185 2000-01-12  Jim Meyering  <meyering@lucent.com>
99186
99187         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99188         (jm_PREREQ): Use it.
99189         (jm_PREREQ_READUTMP): New macro.
99190         (jm_PREREQ): Use it.
99191
99192 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99193
99194         Quote multibyte characters correctly.
99195         * m4/c-bs-a.m4: New file.
99196         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99197         (jm_PREREQ): Use it.
99198
99199 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99200
99201         * m4/uintmax_t.m4: Port to autoconf 2.13.
99202
99203 2000-01-08  Jim Meyering  <meyering@ascend.com>
99204
99205         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99206         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99207
99208 2000-01-04  Jim Meyering  <meyering@ascend.com>
99209
99210         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99211         jm_STRUCT_DIRENT_D_TYPE.
99212         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99213         jm_STRUCT_DIRENT_D_INO.
99214         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99215         jm_STRUCT_UTIMBUF.
99216         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99217         renamings.
99218         * m4/utime.m4: Likewise.
99219
99220         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99221         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99222
99223 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99224
99225         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99226         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99227
99228 2000-01-02  Jim Meyering  <meyering@ascend.com>
99229
99230         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99231         remember if this is necessary.
99232
99233 1999-12-26  Jim Meyering  <meyering@ascend.com>
99234
99235         * m4/jm-macros.m4: Use it here.
99236         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99237
99238 1999-12-23  Jim Meyering  <meyering@ascend.com>
99239
99240         * m4/jm-macros.m4: Check for clock_gettime (moved from
99241         fileutils/configure.in)
99242         Check for gettimeofday.
99243
99244 1999-12-20  Jim Meyering  <meyering@ascend.com>
99245
99246         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99247         autoconf-2.14a-1999-12-20.
99248
99249 1999-12-19  Jim Meyering  <meyering@ascend.com>
99250
99251         * m4/lstat-slash.m4: New file.
99252         * m4/jm-macros.m4: Use the new macro:
99253         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99254
99255 1999-12-07  Jim Meyering  <meyering@ascend.com>
99256
99257         * m4/perl.m4: Require that File::Compare be available, too.
99258         Too many systems seem to lack it.
99259
99260         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99261         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99262
99263 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99264
99265         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99266         problem with the QNX 4.25 shell, which doesn't propagate exit
99267         status of failed commands inside shell assignments.
99268
99269 1999-11-17  Jim Meyering  <meyering@ascend.com>
99270
99271         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99272
99273 1999-11-07  Jim Meyering  <meyering@ascend.com>
99274
99275         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99276
99277 1999-11-06  Jim Meyering  <meyering@ascend.com>
99278
99279         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99280         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99281
99282 1999-11-05  Jim Meyering  <meyering@ascend.com>
99283
99284         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99285         configure.in of textutils, fileutils, and sh-utils into this one
99286         (shared between those packages) file.
99287         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99288         AC_STRUCT_ST_BLKSIZE.
99289
99290 1999-11-03  Jim Meyering  <meyering@ascend.com>
99291
99292         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99293         of AC_CHECK_TYPE checks includes unistd.h.
99294         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99295         Suggestion from Akim Demaille.
99296
99297 1999-10-30  Jim Meyering  <meyering@ascend.com>
99298
99299         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99300         m4-quoted string.
99301         * m4/ls-mntd-fs.m4: Likewise.
99302         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99303         * m4/jm-winsz1.m4: Likewise.
99304
99305         * m4/const.m4: Remove file, since the fix made it into the experimental
99306         version of autoconf.
99307         * m4/mktime.m4: Likewise.
99308
99309         * m4/check-type.m4: Remove file, now that the latest version of
99310         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99311
99312         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99313         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99314         AC_CHECK_TYPE.
99315
99316 1999-10-04  Jim Meyering  <meyering@ascend.com>
99317
99318         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99319
99320 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99321
99322         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99323         2.95.1 bug with HP-UX 10.20.
99324
99325 1999-09-17  Jim Meyering  <meyering@ascend.com>
99326
99327         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99328         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99329         due to missing strdup (against sh-utils-2.0).
99330
99331 1999-08-29  Jim Meyering  <meyering@ascend.com>
99332
99333         * m4/jm-macros.m4: Require jm_BISON.
99334         * m4/bison.m4: New file.
99335
99336 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99337
99338         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99339         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99340
99341 1999-08-05  Jim Meyering  <meyering@ascend.com>
99342
99343         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99344         to avoid conflicts with `conftest' on 8+3 filesystems.
99345         Suggestion from Eli Zaretskii.
99346
99347 1999-08-04  Jim Meyering  <meyering@ascend.com>
99348
99349         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99350         fileutils and sh-utils (textutils's getline test was inadequate).
99351         (AM_FUNC_GETLINE): Run this test.
99352         (AC_CHECK_FUNCS): Check for getdelim.
99353         Reported by Bob Proulx.
99354
99355 1999-08-02  Jim Meyering  <meyering@ascend.com>
99356
99357         * m4/jm-macros.m4: Add a comment.
99358
99359 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99360
99361         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99362         <inttypes.h> defines strtoumax as a macro (and not as a
99363         function).
99364
99365 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99366
99367         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99368         that we can shift, multiply and divide unsigned long long
99369         values; Ultrix cc can't do it.
99370
99371 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99372
99373         * m4/mktime.m4: New file, which is a preview of what should appear
99374         in the next public autoconf release.
99375
99376 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99377
99378         * m4/lfs.m4: Remove this file.
99379         * m4/largefile.m4: New file.  It contains the old contents of
99380         lfs.m4, except that all names with prefix AC_LFS have been
99381         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99382         compatible with future autoconf versions.  Also, some minor m4
99383         quoting problems have been fixed.
99384
99385 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99386
99387         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99388         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99389         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99390         and simplify the shell code.
99391
99392 1999-08-01  Jim Meyering  <meyering@ascend.com>
99393
99394         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99395         m4.
99396
99397 1999-07-20  Jim Meyering  <meyering@ascend.com>
99398
99399         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99400
99401 1999-07-15  Jim Meyering  <meyering@ascend.com>
99402
99403         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99404
99405 1999-05-22  Jim Meyering  <meyering@ascend.com>
99406
99407         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99408
99409 1999-05-20  Jim Meyering  <meyering@ascend.com>
99410
99411         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99412         Add a colon after each `then' in case $4 is empty.
99413
99414 1999-05-16  Jim Meyering  <meyering@ascend.com>
99415
99416         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99417
99418 1999-05-10  Jim Meyering  <meyering@ascend.com>
99419
99420         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99421
99422         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99423         AC_FUNC_MKTIME.
99424
99425 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99426
99427         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99428
99429 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99430
99431         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99432         not CPPFLAGS, so that linking works correctly in IRIX.
99433
99434 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99435
99436         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99437
99438 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99439
99440         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99441         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99442         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99443         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99444         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99445
99446         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99447
99448 1999-04-20  Jim Meyering  <meyering@ascend.com>
99449
99450         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99451         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99452         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99453
99454 1999-04-18  Jim Meyering  <meyering@ascend.com>
99455
99456         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99457         * m4/jm-macros.m4: Use it.
99458
99459 1999-04-06  Jim Meyering  <meyering@ascend.com>
99460
99461         * m4/strftime.m4: Remove test for %f.
99462
99463 1999-03-29  Jim Meyering  <meyering@ascend.com>
99464
99465         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99466         superset of the AC_TYPE_* checks in the textutils, fileutils,
99467         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99468         AC_TYPE_PID_T.
99469
99470 1999-03-28  Jim Meyering  <meyering@ascend.com>
99471
99472         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99473         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99474         replaced e.g., in the *.sh files of the sh-utils.
99475
99476 1999-03-20  Jim Meyering  <meyering@ascend.com>
99477
99478         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99479         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99480         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99481
99482 1999-03-19  Jim Meyering  <meyering@ascend.com>
99483
99484         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99485
99486 1999-03-12  Jim Meyering  <meyering@ascend.com>
99487
99488         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99489
99490 1999-03-07  Jim Meyering  <meyering@ascend.com>
99491
99492         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99493         declared.
99494
99495 1999-02-17  Jim Meyering  <meyering@ascend.com>
99496
99497         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99498         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99499
99500 1999-02-07  Jim Meyering  <meyering@ascend.com>
99501
99502         * m4/group-member.m4: New file -- extracted from sh-utils'
99503         configure.in.
99504
99505         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99506         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99507
99508 1999-02-06  Jim Meyering  <meyering@ascend.com>
99509
99510         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99511         * m4/fnmatch.m4: Likewise.
99512         * m4/getgroups.m4: Likewise.
99513         * m4/lstat.m4: Likewise.
99514         * m4/malloc.m4: Likewise.
99515         * m4/putenv.m4: Likewise.
99516         * m4/realloc.m4: Likewise.
99517         * m4/regex.m4: Likewise.
99518         * m4/stat.m4: Likewise.
99519         * m4/strftime.m4: Likewise.
99520         Suggestion from Alain Magloire.
99521
99522         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99523         * m4/fnmatch.m4: Likewise.
99524         * m4/getgroups.m4: Likewise.
99525         * m4/getline.m4: Likewise.
99526         * m4/lstat.m4: Likewise.
99527         * m4/malloc.m4: Likewise.
99528         * m4/memcmp.m4: Likewise.
99529         * m4/putenv.m4: Likewise.
99530         * m4/realloc.m4: Likewise.
99531         * m4/regex.m4: Likewise.
99532         * m4/stat.m4: Likewise.
99533         * m4/strftime.m4: Likewise.
99534         Suggestion from Alain Magloire.
99535
99536         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99537         an argument.
99538
99539         * m4/regex.m4: Add a run-time Test for proper operation of
99540         re_compile_pattern.
99541
99542 1999-01-31  Jim Meyering  <meyering@ascend.com>
99543
99544         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99545
99546 1999-01-30  Jim Meyering  <meyering@ascend.com>
99547
99548         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99549
99550         * m4/jm-mktime.m4: Make this a wrapper around the official
99551         AM_FUNC_MKTIME rather than my private copy, now that the official one
99552         is up to date.
99553         * m4/mktime.m4: Remove file.
99554
99555         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99556         * m4/uptime.m4: Likewise.
99557         * m4/uintmax_t.m4: Likewise.
99558
99559 1999-01-28  Jim Meyering  <meyering@ascend.com>
99560
99561         * m4/jm-macros.m4: Use jm_AFS.
99562         * m4/afs.m4: New file (from fileutils' configure.in).
99563
99564         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99565         * m4/chown.m4: Likewise.
99566         * m4/d-ino.m4: Likewise.
99567         * m4/d-type.m4: Likewise.
99568         * m4/fnmatch.m4: Likewise.
99569         * m4/getgroups.m4: Likewise.
99570         * m4/gettext.m4: Likewise.
99571         * m4/jm-mktime.m4: Likewise.
99572         * m4/jm-winsz2.m4: Likewise.
99573         * m4/lcmessage.m4: Likewise.
99574         * m4/ls-mntd-fs.m4: Likewise.
99575         * m4/malloc.m4: Likewise.
99576         * m4/memcmp.m4: Likewise.
99577         * m4/putenv.m4: Likewise.
99578         * m4/realloc.m4: Likewise.
99579         * m4/st_mtim.m4: Likewise.
99580         * m4/strftime.m4: Likewise.
99581
99582 1999-01-16  Jim Meyering  <meyering@ascend.com>
99583
99584         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99585         (ARGMATCH_DIE_DECL): Define.
99586
99587 1999-01-12  Jim Meyering  <meyering@ascend.com>
99588
99589         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99590         Reported by Lars Hecking.
99591
99592 1999-01-10  Jim Meyering  <meyering@ascend.com>
99593
99594         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99595         gross kludge.
99596         * m4/inttypes_h.m4: Likewise.
99597         * m4/lstat.m4: Likewise.
99598         * m4/malloc.m4: Likewise.
99599         * m4/readdir.m4: Likewise.
99600         * m4/realloc.m4: Likewise.
99601         * m4/st_dm_mode.m4: Likewise.
99602         * m4/stat.m4: Likewise.
99603         * m4/utimbuf.m4: Likewise.
99604         * m4/utimes.m4: Likewise.
99605
99606         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99607         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99608         comments in config.h.in are meaningful.
99609
99610         * m4/jm-macros.m4: Require autoconf-2.13 here.
99611
99612         * m4/regex.m4: By default, don't use the included regex.c on systems
99613         with glibc 2.  Suggestion from Uli Drepper.
99614
99615 1999-01-02  Jim Meyering  <meyering@ascend.com>
99616
99617         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99618
99619 1998-12-18  Jim Meyering  <meyering@ascend.com>
99620
99621         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99622         Based on a suggestion from Lars Hecking.
99623
99624 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99625
99626         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99627
99628 1998-11-16  Jim Meyering  <meyering@ascend.com>
99629
99630         * m4/lfs.m4: Double-quote the `uname...` expression.
99631
99632 1998-11-14  Jim Meyering  <meyering@ascend.com>
99633
99634         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99635         * m4/stat.m4: Likewise.
99636
99637 1998-11-03  Jim Meyering  <meyering@ascend.com>
99638
99639         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99640         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99641
99642 1998-10-18  Jim Meyering  <meyering@ascend.com>
99643
99644         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99645
99646 1998-10-17  Jim Meyering  <meyering@ascend.com>
99647
99648         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99649         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99650         calls for those previously hard-coded headers.  Instead, take a new
99651         parameter.
99652         (jm_CHECK_DECLARATIONS): Reflect interface change.
99653         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99654         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99655
99656         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99657
99658 1998-10-14  Jim Meyering  <meyering@ascend.com>
99659
99660         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99661         instead of "TZ=America/Vancouver".  From Paul Eggert.
99662
99663 1998-10-11  Jim Meyering  <meyering@ascend.com>
99664
99665         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99666         This adds a test for a recently added compatibility fix for mktime.c.
99667         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99668
99669 1998-09-27  Jim Meyering  <meyering@ascend.com>
99670
99671         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99672
99673         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99674         ../configure.in, including a change from Gordon Matzigkeit to allow
99675         cross-compiling for the Hurd.
99676
99677         * m4/glibc.m4: New file/macro to test for the GNU C Library
99678         versions 1 and 2.  From Gordon Matzigkeit.
99679         Indent.
99680
99681 1998-09-21  Jim Meyering  <meyering@ascend.com>
99682
99683         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99684
99685 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99686
99687         Port nanosecond-resolution times to UnixWare 2.1.2 and
99688         pedantic Solaris 2.6.
99689
99690         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99691         AC_STRUCT_ST_MTIM.
99692         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99693         Generate name of ns member, instead of just 1 or undef.
99694         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99695
99696 1998-08-15  Jim Meyering  <meyering@ascend.com>
99697
99698         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99699         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99700         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99701         instead of jm_TYPE_SSIZE_T.
99702
99703 1998-08-12  Jim Meyering  <meyering@ascend.com>
99704
99705         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99706
99707 1998-08-02  Jim Meyering  <meyering@ascend.com>
99708
99709         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99710         in acconfig.h manually.
99711
99712 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99713
99714         * m4/st_mtim.m4: New file.
99715
99716 1998-07-28  Jim Meyering  <meyering@ascend.com>
99717
99718         * m4/utimes.m4: Undef stat.
99719
99720 1998-07-25  Jim Meyering  <meyering@ascend.com>
99721
99722         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99723         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99724
99725 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99726
99727         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99728         uid and gid actually remain unchanged.
99729
99730 1998-07-07  Jim Meyering  <meyering@ascend.com>
99731
99732         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99733
99734 1998-07-04  Jim Meyering  <meyering@ascend.com>
99735
99736         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99737         to prove that this macro can be used in packages without regex.c.
99738
99739 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99740
99741         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99742         is to be used.
99743
99744 1998-07-03  Jim Meyering  <meyering@ascend.com>
99745
99746         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99747
99748         * m4/gettext.m4: New file -- from gettext-0.10.35.
99749         * m4/lcmessage.m4: Likewise.
99750         * m4/progtest.m4: Likewise.
99751
99752         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99753         * m4/jm-macros.m4: Require the new macro.
99754
99755 1998-06-29  Jim Meyering  <meyering@ascend.com>
99756
99757         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99758         for the definition of NGROUPS (used in a system header included
99759         by sys/mount.h).
99760
99761 1998-06-28  Jim Meyering  <meyering@ascend.com>
99762
99763         * m4/ls-mntd-fs.m4: New file.
99764         * m4/fstypename.m4: New file.
99765
99766         * m4/jm-macros.m4: Require the new macro.
99767         * m4/jm-glibc-io.m4: New file.
99768
99769 1998-05-19  Jim Meyering  <meyering@ascend.com>
99770
99771         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99772         * m4/lchown.m4: New file.
99773
99774         * m4/Makefile.am.in: New file.
99775         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99776
99777 1998-05-14  Jim Meyering  <meyering@ascend.com>
99778
99779         * m4/Makefile.am (EXTRA_DIST): Add them.
99780         * m4/jm-macros.m4: New file.
99781         * m4/utimbuf.m4: New file.
99782
99783 1998-05-12  Jim Meyering  <meyering@ascend.com>
99784
99785         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99786
99787 1998-05-11  Jim Meyering  <meyering@ascend.com>
99788
99789         * m4/isc-posix.m4: New file.
99790
99791 1998-05-10  Jim Meyering  <meyering@ascend.com>
99792
99793         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99794
99795 1998-05-09  Jim Meyering  <meyering@ascend.com>
99796
99797         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99798         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99799         with automake.
99800
99801         * m4/ssize_t.m4: New file.
99802         * m4/mktime.m4: Remove file -- the new automake has this now.
99803
99804 1998-04-26  Jim Meyering  <meyering@ascend.com>
99805
99806         * m4/assert.m4: New file.
99807         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99808
99809 1998-04-05  Jim Meyering  <meyering@ascend.com>
99810
99811         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99812         (jm_PREREQ): Use it here.
99813
99814 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99815
99816         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99817         in acconfig.h.
99818
99819 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99820
99821         * m4/prereq.m4: New file.
99822         * m4/error.m4: New file.
99823         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99824
99825 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99826
99827         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99828         cache-check for the same variable -- that defeated the purpose of
99829         the test; the test program was never run.  This was a problem only
99830         on systems with losing getline functions -- HP-UX 10.20 is one.
99831         Reported by Bjorn Helgaas.
99832
99833 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99834
99835         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99836
99837 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99838
99839         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99840
99841         * m4/const.m4: New file.  Use an initializer in this declaration
99842         typedef int charset[2]; const charset x;
99843         Reported by Bob Glickstein.
99844
99845 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99846
99847         * m4/chown.m4: Fix reversed types on -1 args to chown.
99848         From Kaveh Ghazi.
99849
99850 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99851
99852         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99853         Add lseek and memchr.
99854
99855         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99856         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99857         have a 20-character limit on names.
99858
99859 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99860
99861         * m4/inttypes_h.m4: New file.
99862         * m4/uintmax_t.m4: New file.
99863         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99864
99865
99866         -----
99867
99868         Local Variables:
99869         coding: utf-8
99870         End:
99871
99872         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99873
99874         Copying and distribution of this file, with or without
99875         modification, are permitted provided the copyright notice
99876         and this notice are preserved.